Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
			# Recherche dans Genbank
			#--------------------------
 
			eval { $gb->get_Seq_by_acc($acc) };
			if ($@) {
				print "ERREUR : pb accession $acc\n";
 
			}
			else{
				my $info = $gb->get_Seq_by_acc($acc);
				my $seq = $info->seq();
				my $seq_length = length($seq);

ERREUR :
------------- EXCEPTION -------------
MSG: acc AF454164 does not exist
STACK Bio:B::WebDBSeqI::get_Seq_by_acc C:/Perl/site/lib/Bio/DB/WebDBSeqI.pm:181
STACK toplevel Samson.pl:159

--------------------------------------
Ligne 159 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
my $info = $gb->get_Seq_by_acc($acc);
Normalement, l'eval() permettait d'éviter que le script ne plante si l'accession n'existait pas.

J'obtiens ici un message d'erreur disant que l'accession n'existe pas, or il existe bien !!

J'utilise une liste d'accessions et quand cela bloque pour un (AF454164 par exemple), si je relance le script en supprimant de la liste les accessions précédents qui ont correctement été traités, AF454164 est cette fois bien trouvé et le script continue jusqu'à un nouveau message d'erreur similaire.

... je ne comprends pas le problème, avez-vous une idée?


Merci pour votre aide,