J'ai un fichier de sortie BLAST au format XML. Il s'agit de 22 séquences de requêtes avec 50 occurrences de chaque séquence. Et je veux extraire tous les hits 50x22. C'est le code que j'ai actuellement, mais il extrait seulement les 50 hits de la première requête.BioPython: extraction des ID de séquence à partir d'un fichier de sortie Blast
from Bio.Blast import NCBIXM
blast_records = NCBIXML.parse(result_handle)
blast_record = blast_records.next()
save_file = open("/Users/jonbra/Desktop/my_fasta_seq.fasta", 'w')
for alignment in blast_record.alignments:
for hsp in alignment.hsps:
save_file.write('>%s\n' % (alignment.title,))
save_file.close()
Quelqu'un a des suggestions pour extraire tous les résultats? Je suppose que je dois utiliser autre chose que des alignements. Espérons que c'était clair. Merci!
Jon
Pourquoi le double affichage? http://stackoverflow.com/questions/1684194/python-saving-output-of-a-for-loop-to-file il y a une heure environ? – mjv
Étant donné que la plupart des gens ici n'utilisent probablement pas BioPython, vous pouvez obtenir plus de réponses si vous leur fournissez des liens utiles. –
mjv: La publication précédente concernait la façon d'enregistrer la sortie. C'est à peu près le même code, mais maintenant je veux le changer. Gnibbler: que voulez-vous dire des liens utiles? Comme des liens pour aider à la réponse? J'ai vérifié beaucoup de liens. Comme docs biopython, mais le problème est que j'ai du mal à lire de tels documents – Jon