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 :
voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part Can't call method "start" on an undefined value
mon code fonctionne très bien sans la demande d'affichage du start et du end.
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); } } } } }
La position de l'erreur est peut être aléatoire.
Pourquoi ça ne marche pas?
Merci
Partager