我知道这是一个与BLAST和生物信息学有关的非常具体的问题,但我要说的是:
我试图使用独立的BLAST (我已经下载了它并在命令行上测试它)来执行DNA序列比对(blastn)。我需要能够同时提供我自己的查询文件(fasta格式)和我自己的数据库文件(也是fasta格式)。
关键是我希望程序只输出2个字段,而不是它通常输出的详细报告。我只想要最高的分数和对齐的e值被输出。我的想法是,一旦我有了这个工作,我可以包装在我自己的控制程序,并自动运行多次与不同的查询序列,并记录分数和电子值。
我知道这是个很长的机会,但有没有人知道我该怎么做呢?对我来说,两个障碍是使用自己的数据库文件和自定义输出。
发布于 2009-11-22 16:13:29
实际上,这很简单:blastall有几个命令行选项,可以帮助您:
所以你会运行这样的东西:
blastall -p blastn -i queries.fasta -d database -v1 -b1 -m8 > resultTable.txt然而,表输出有几个列。我不记得列的顺序,但您可以使用cut工具只选择感兴趣的列。例如,下面的命令将只从blastoutput中选择列1、7和8
cut -d '\t' -f 1,7,8 < resultTable.txt扬尼克
发布于 2009-11-22 21:07:04
Yannick的回答包括如何从blastall中获得您需要的具体输出--您关心的第二件事是使用您自己的数据库文件。独立爆破也为您提供了所需的工具。
除了blastall之外,您还应该有一个名为formatdb的程序的副本,您可以将其与fasta序列数据库一起提供,并且它将正确地将其格式化为BLAST。对于核苷酸数据库,运行以下命令:
formatdb -i input_database.fa -p F
这将在您的工作目录(input_database.fa.nhr、input_database.fa.nin、input_database.fa.nsq)中生成许多文件,您可以通过使用数据库的原始名称(即删除.n*后缀)在blastall命令中使用这些文件。
HTH
PS formatdb -h将为您提供formatdb选项的完整列表。
https://stackoverflow.com/questions/1778193
复制相似问题