我想从一个包含tblastn搜索本地核苷酸数据库中多个蛋白质查询结果的大型XML文件中提取出前4个匹配项。但是问题是,我的blast设置有一些查询的结果不到4次,因此当我运行此代码时:
> from Bio.Blast import NCBIXML
with open('/home/edson/ungulate/tblastn_result_test_xml') as tblastn_file:
> tblastn_records = NCBIXML.parse(tblastn_file)
for tblastn_record in tblastn_records:
> if tblastn_record.alignments:
> print tblastn_record.alignments[0].title
> print tblastn_record.alignments[0].hsps[0]
> print tblastn_record.alignments[1].title
> print tblastn_record.alignments[1].hsps[0]
> print tblastn_record.alignments[2].title
> print tblastn_record.alignments[2].hsps[0]
> print tblastn_record.alignments[3].title
> print tblastn_record.alignments[3].hsps[0]
它在运行,但在运行了一些之后,它说:
^{pr2}$那么如何修改这个脚本来打印前四个对齐的结果呢?期待回复,任何帮助将不胜感激。在
这样的怎么样?在
我不熟悉biopython,但是文档[1]说
alignments
是Alignment
对象的列表。这个例子从列表的前四个元素中抽取一部分。如果少于四个,那就什么都可以了。在[1]-http://biopython.org/DIST/docs/api/Bio.Blast.Record.Blast-class.html
相关问题 更多 >
编程相关推荐