Bonjour,
J'ai un fichier contenant le nom des séquences d’intérêt et un fichier multi-fasta.Je doit récupérer les séquences au format dont les noms sont dans mon fichier. Pour cela, j'ai fait le code suivant :
Et lorsque que je le lance l'erreur suivante apparaît dans le terminal
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #!/usr/bin/perl use strict; use warnings ; use Getopt::Long; use Bio::SearchIO; use Bio::SeqIO; use Carp; use Bio::Seq; my ($noblast,$fasta,$ligne1,$ligne2,@no_hit,$taille,$description,@cols); GetOptions( "noblast:s" => \$noblast, "fasta:s" => \$fasta); open(FILE,$noblast) || die "pb avec le fichier $noblast !\n"; while ($ligne1 = <FILE>){ push (@no_hit,$ligne1); } close (FILE); $taille=@no_hit; my $in = Bio::SeqIO-> new( -file => $fasta , -format => 'fasta' ); for (my $i=1;$i<$taille;$i++){ my $regex = qr/$no_hit[$i]/; while ( my $seq = $in->next_seq() ) { my $entete = $seq->display_name . $seq->desc; if ( $entete =~ m{$regex }i ) { print ">$entete\n$seq\n"; } } }
Je n'arrive pas a trouver pourquoi j'ai cette erreur qui s'affiche. Quelqu'un connaîtrait il la réponse?MSG: file argument provided, but with an undefined value
STACK: Error::throw
STACK: Bio::Root::Root::throw /tools/perl5/modules/lib/perl5/Bio/Root/Root.pm:472
STACK: Bio::SeqIO::new /tools/perl5/modules/lib/perl5/Bio/SeqIO.pm:368
STACK: /home/*****/bin/fasta_no_hits.pl:24
Merci
Partager