expression régulière en relation avec une liste
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| my @a_list_delete = qw [AY987735 AY987728 AY987737 AY987727 AY987758 AY987761];
my $expreg = $a_list_delete[0];
for (my $i=1; $i<@a_list_delete; $i++){
$expreg .= '|'.$a_list_delete[$i];
}
my $in_nuc = Bio::SeqIO->new(-file => $path.$infile_nucleotideDB, '-format' => 'Fasta');
while ( my $seq = $in_nuc->next_seq()){
if($seq->display_id !~ /$expreg/o){
push (@{$h_acc{$seq->seq}}, $seq->display_id);
}
else{
print "suppression de ".$seq->display_id."\n";
}
} |
Je dois éliminer les $seq->display_id contenant une des valeurs de @a_list_delete.
$seq->display_id à la forme Aeromonas_caviae_AY987727, Aeromonas_hydrophila_AY987737 dont la 3ième partie peut être contenue dans @a_list_delete.
Utiliser une expression régulière est-elle la meilleure façon de procéder?
Merci,