运行BLAST(bl2seq)而不创建序列文件

Aus*_*son 5 python unix shell perl bioinformatics

我有一个执行BLAST查询的脚本(bl2seq)

该脚本的工作方式如下:

  1. 获取序列a,序列b
  2. 将序列a写入filea
  3. 将序列b写入fileb
  4. 运行命令'bl2seq -i filea -j fileb -n blastn'
  5. 从STDOUT获取输出,解析
  6. 重复2000万次

程序bl2seq不支持管道.有没有办法做到这一点,避免写入/读取硬盘?

我正在使用Python BTW.

gho*_*g74 1

你怎么知道bl2seq不支持管道?顺便说一句,管道是操作系统的一项功能,而不是程序。如果您的 bl2seq 程序输出某些内容,无论是 STDOUT 还是文件,您应该能够解析输出。检查bl2seq的帮助文件以获取输出到文件的选项,例如-ooption。然后就可以解析该文件了。

另外,由于您使用的是 Python,因此您可以使用BioPython模块作为替代方案。