我想使用NCBI BLAST+针对一个参考基因组对几个序列进行BLASTn,并且只输出带有登录号、E值和其他信息的行,从BLAST+输出(因为从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我没有得到我需要的结果;我需要调整什么才能得到一个CSV,包括登录号、E-值、查询开始/结束、序列开始/结束、位得分、分数、长度、标识%/数字、正%/数、错配,以及对我的加入号列表中的每个基因的空白/打开?
发布于 2018-07-29 13:49:19
您没有描述所获得的输出,因此需要一些猜测才能找到问题所在。我怀疑您期望所有序列的输出都在GSEABLAST.csv中,但是相反,您只是从GSEABLAST.out中的最后一个序列获得输出
如果这是问题所在,那是因为-out GSEABLAST.out导致将输出发送到指定的文件,而不是发送到STDOUT。这个文件会被for循环的每一次迭代覆盖。如果删除命令的这一部分,输出将转到STDOUT,然后附加到GSEABLAST.csv
https://stackoverflow.com/questions/51564388
复制相似问题