我想使用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值,查询开始/结束,序列开始/结束,位比分,得分,长度,同一性%/数字,正%/数字,不匹配和间隔/的CSV文件在我的登录号列表中打开每个基因的BLAST吗?
答案 0 :(得分:1)
您没有描述所获得的输出,因此需要进行一些猜测才能找出问题所在。我怀疑您期望所有序列的输出都在int[] nums = new int[200]; // index will be 0 to 199
中,但是相反,您只是从GSEABLAST.csv
中的最后一个序列中获取输出
如果这是问题所在,那是因为GSEABLAST.out
导致输出发送到指定的文件而不是STDOUT。 -out GSEABLAST.out
循环的每次迭代都会覆盖此文件。如果删除命令的那部分,输出将进入STDOUT,然后将其附加到for