Bonjour

j'essaye de récupérer les positions start et end. Mon fichier test possède 5 séquences.
Mon code fonctionne les 3 premières séquences et apres il me donne le message d'erreur suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Can't call method "start" on an undefined value
voici mon code
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
39
 
{my $v = 1;
print STDERR "waiting..." if( $v > 0 );
 
	while ( my @rids = $factory->each_rid ) 
		{
		foreach my $rid ( @rids )
			{
			my $rc = $factory->retrieve_blast($rid);
			if( !ref($rc) ) 
				{
				if( $rc < 0 ) 
					{
					$factory->remove_rid($rid);
					}
				print STDERR "." if ( $v > 0 );
				sleep 5;
				} 
			else 
			{
			my $result = $rc->next_result();
			print $result,"\n";
			$factory->remove_rid($rid);
			for (my $i = 0; $i < 1; ++$i) 
				{
				my $hit = $result->next_hit;
				my $hsp = $hit->next_hsp;
                                my $start_hit=$hsp->start('hit');
                                my $end_hit=$hsp->end('hit')
				next unless ( $v > 0);
 
	open (FILE2, ">>$Fichier");
   	print FILE2 ($hit->accession,"\t\t ", $start_hit, "\t\t ",$end_hit),"\n";
      	close(FILE2);
				}
			}
			}
		}
}
mon code fonctionne très bien sans la demande d'affichage du start et du end.
La position de l'erreur est peut être aléatoire.

Pourquoi ça ne marche pas?
Merci