Bonjour,
J'ai copié collé ce petit bout de code, fourni avec bioperl :
test.pl
J'ai evidemment le fichier plague_yeast.bls.xml dans le meme repertoire que test.pl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 # one can also request that the parser NOT keep the XML data in memory # by using the tempfile initialization flag. my $searchin = new Bio::SearchIO(-tempfile => 1, -format => 'blastxml', -file => 'plague_yeast.bls.xml'); while(my $result = $searchin->next_result ) { }
Quand je le lance (perl -w test.pl), c'est bon. Pas d'erreur.
MAIS, ce code ne montre pas comment extraire les données du blast, par exemple les query.
Dans le fichier xml, j'ai par exemple :
Pour extraire ce query j'ai mis dans mon while :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <BlastOutput_query-def>gi|5763813|emb|CAB53166.1| putative replication regulatory protein [Yersinia pestis]</BlastOutput_query-def>
Mais ca me retourne : $qu n'est pas initialisée....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $qu=$searchin->{"BlastOutput_query-def"}; print $qu."\n";
J'ai essayé d'autres syntaxes sans succès.
J'ai fait de nombreuses recherches sur le forum et google, sans succès.
Quelqu'un connaitrait-il la méthode ou un site qui pourrait me renseigner ?
En vous remerciant,
Sohnic
Partager