Perhaps your data is more complex than first thought. You listed the following:
$uniprot Q801F8 Q90XZ5; Q90XZ8;Name=dmrt1 B7ZS42 A4PBN7; B7ZS44;Name=dmrt1-b ;PF00751;PF12374 Q157S1 Name=Crtc1 Synonyms=Mect1, $activ: Q801F8 | PF00751.13 PF12374.3 PF12374.3 B7ZS42 | PF00751.13 PF12374.3 PF12374.3 Q157S1 | PF12886.2 PF12885.2 PF12884.2
Give the above listing, are you (potentially) expecting the following (keys/values)?
Q801F8 -> PF00751 PF12374 PF12374 B7ZS42 -> PF00751 PF12374 PF12374 Q157S1 -> PF12886 PF12885 PF12884 ... Q801F8 -> dmrt1 PF00751 PF12374 PF12374 Q90XZ5 -> dmrt1 PF00751 PF12374 PF12374 Q90XZ8 -> dmrt1 PF00751 PF12374 PF12374 B7ZS42 -> dmrt1-b PF00751 PF12374 PF12374 A4PBN7 -> dmrt1-b PF00751 PF12374 PF12374 B7ZS44 -> dmrt1-b PF00751 PF12374 PF12374 Q157S1 -> Crtc1 PF12886 PF12885 PF12884
It looks like there are multiple keys on a single $uniprot line:
Q801F8 Q90XZ5; Q90XZ8;Name=dmrt1 ^^^^^^ ^^^^^^ ^^^^^^ | | | +-------+-------+--- keys to be captured?
If this is the case, the current regex operating on the $uniprot lines would fail.
Let me know if the script needs to capture potentially multiple keys on a single $uniprot line...
In reply to Re^15: Help with pushing into a hash
by Kenosis
in thread Help with pushing into a hash
by jemswira
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |