运行 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
我想使用 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