设为首页收藏本站
开启辅助访问
切换到窄版

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1305|回复: 0

Parsing BLAST Output by Python

[复制链接]
发表于 2011-10-6 11:16:46 | 显示全部楼层 |阅读模式
生物信息学中,对blast结果文件的解析是最为普遍的一个工作之一,在Perl中有BioPerl可以解析,而在python中也有 BioPython,并且解析起来非常方便。由于BLAST的版本升级比较快,它的结果输出文件的格式有时也会相应变化,因此为了能正确的解析BLAST 结果,在做BLAST的时候使用’-m 7′参数,使输出结果保存为xml的格式,这是由于xml的格式很少随着BLAST的版本而发生变化,所以推荐使用xml文件来做自动化分析,这能保证我 们的程序能准确的解析BLAST结果。下面的代码是一个简单的框架,可以在此基础上添加内容以满足自己的需要:




  1. #!/usr/bin/python
  2. “”"
  3. DESCRIPTION
  4. Frame for parsing BLAST report
  5. AUTHOR
  6. Wubin Qu: quwubin@gmail.com
  7. “”"
  8. from Bio.Blast import NCBIXML
  9. def parseBlast (result_file):
  10. result_handle = open(result_file)
  11. blast_parser = NCBIXML.BlastParser()
  12. blast_records = blast_parser.parse(result_handle)record_list = list(blast_records)
  13. expects = []
  14. for record in record_list:
  15. for alignment in record.alignments:
  16. for hsp in alignment.hsps:
  17. # Do whatever you want, such as
  18. expects.append(hsp.expect)
  19. return expects
  20. def main ():
  21. expects = parseBlast(Blast_report_file)
  22. print expects
  23. if __main__ == ‘__main__’:
  24. main()
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|生物信息学论坛 ( 蜀ICP备09031721号  

GMT+8, 2017-4-28 10:48 , Processed in 0.097633 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表