我有一个XML格式的BLAST输出文件。它是22个查询序列,每个序列报告50次点击。我想提取所有的50x22点击。这是我目前拥有的代码,但它只从第一个查询中提取50个匹配项。
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()
有人有什么建议可以提取所有的点击率吗?我想我得用些别的东西而不是排列。 希望这是清楚的。谢谢!
乔恩
我用这个代码提取了所有的结果
或是为了少一些细节
我用过这个网站
http://www2.warwick.ac.uk/fac/sci/moac/currentstudents/peter_cock/python/rpsblast/
这会得到所有的记录。与原始版本相比,新颖之处在于
这是一个python习惯用法,用于遍历“类列表”对象(如blast_记录)中的项(检查CBIXML module documentation显示parse()确实返回一个迭代器)
相关问题 更多 >
编程相关推荐