Je récupère 2 valeurs que je dois analyser en couple. L'ennui est que je peux avoir plusieurs fois ce couple le long de $row[2].
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 # REGEXP # $1 => $for_length_e5 nucléotides, suivi du motif $for_e3 # $2 => motif $rev_e3 suivi de $rev_length_e5 nucléotides $row[2] =~ /([A-Z]{0,$for_length_e5})$for_e3.*$rev_e3([A-Z]{0,$rev_length_e5})/
si j'utilise
Tous mes couples se suivent et je dois les extraire 1 à 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(my @list = ($row[2] =~ /([A-Z]{0,$for_length_e5})$for_e3.*$rev_e3([A-Z]{0,$rev_length_e5})/g)){ # traitement couple par couple }
Ou alors, je ne récupère qu'une valeur mais je dois alors ensuite la découper en 2 ... ce qui est stupide, car je refais deux fois le même travail.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (my @list = ($row[2] =~ /([A-Z]{0,$for_length_e5}$for_e3.*$rev_e3[A-Z]{0,$rev_length_e5})/)){ foreach my $db_seq (@list){ my ($db_seq_for, $db_seq_rev) = ($db_seq =~ /([A-Z]{0,$for_length_e5})$for_e3.*$rev_e3([A-Z]{0,$rev_length_e5})/); ...
Quelle est la meilleure façon de procéder? Merci.
Partager