Code : Sélectionner tout - Visualiser dans une fenêtre à part
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,