3

我知道这是一个与 BLAST 和生物信息学相关的非常具体的问题,但这里有:

我正在尝试使用独立的 BLAST(我已经下载并测试了它在命令行上运行)来执行 DNA 序列比对(blastn)。我需要能够提供我自己的查询文件(fasta 格式)和我自己的数据库文件(也是 fasta 格式)。

关键是我想让程序只输出 2 个字段,而不是它通常输出的详细报告。我希望输出对齐的最高分和 e 值。这个想法是,一旦我有了这个工作,我可以将它包装在我自己的控制程序中,并使用不同的查询序列自动运行它多次并记录分数和电子值。

我知道这是一个很长的镜头,但是有人知道我该如何去做吗?我的两个障碍是使用我自己的数据库文件和自定义输出。

4

2 回答 2

2

事实上它很简单:blastall有几个命令行选项可以帮助你:

  • 为每个查询只输出一个最强的命中:-v 1 -b 1
  • 以表格格式输出:-m 8

所以你会运行这样的东西:

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-22T16:13:29.610 回答
2

Yannick 的回答涵盖了如何从中获取您需要的特定输出blastall- 您关心的第二件事是使用您自己的数据库文件。独立的 BLAST 也提供了您需要的工具。

除了blastall,您还应该有一个名为 的程序的副本formatdb,您可以将其与您的 fasta 序列数据库一起提供,它会为 BLAST 正确格式化。对于核苷酸数据库,运行以下命令:

formatdb -i input_database.fa -p F

input_database.fa.nhr这将在您的工作目录 ( , input_database.fa.nin, input_database.fa.nsq) 中生成许多文件,您可以blastall通过使用数据库的原始名称在命令中使用这些文件(即,忽略.n*后缀)。

高温高压

PSformatdb -h会给你一个完整的选项列表formatdb

于 2009-11-22T21:07:04.003 回答