使用列表中的登录号运行BLAST + BLASTn

时间:2018-07-27 19:27:44

标签: bioinformatics blast

我想使用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吗?

1 个答案:

答案 0 :(得分:1)

您没有描述所获得的输出,因此需要进行一些猜测才能找出问题所在。我怀疑您期望所有序列的输出都在int[] nums = new int[200]; // index will be 0 to 199 中,但是相反,您只是从GSEABLAST.csv中的最后一个序列中获取输出

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