运行 BLAST+ BLASTn 具有列表中的登录号

Running BLAST+ BLASTn with accession numbers from a list

我想使用 NCBI BLAST+ 对参考基因组的几个序列进行 BLASTn,并仅从 BLAST+ 输出中输出带有登录号、E 值和其他信息的行(因为有几个无关的行来自BLAST+ 输出)到 csv。我有这些文件:

包含人类基因序列登录号的文本文件,每行一个:GSEA-toBLASTaccession.txt

参考基因组:botznik-chr.fa

输出 csv:GSEABLAST.csv

这是我为执行此代码而编写的代码:

for acc in `cat GSEA-toBLASTaccession.txt`; do
    echo $acc | blastn -db botznik-chr.fa -out GSEABLAST.out -num_alignments 1 \
    -outfmt "6 qacc evalue qstart qend sstart send bitscore score length pident \
    nident ppos positive mismatch gapopen" >> GSEABLAST.csv
done

我没有从中得到我需要的结果;我需要调整什么才能获得包含登录号、E 值、查询 start/end、序列 start/end、bitscore、分数、长度、身份 %/数字、正 %/数字、不匹配的 CSV , 和 gap/open 用于对我的登录号列表中的每个基因进行 BLAST?

您没有描述您得到的输出,因此需要一些猜测才能找出问题所在。我怀疑您期望所有序列的输出都在 GSEABLAST.csv 中,但您只是从 GSEABLAST.out

中的最后一个序列中获取输出

如果这是问题所在,那是因为 -out GSEABLAST.out 导致输出被发送到指定的文件而不是 STDOUT。 for 循环的每次迭代都会覆盖此文件。如果删除命令的那部分,输出将转到 STDOUT,然后附加到 GSEABLAST.csv