我有以下文件结构:
db/organism1.fasta
db/organism1.fasta.nhr
db/organism1.fasta.nin
db/organism1.fasta.nsq
db/organism2.fasta
db/organism2.fasta.nhr
db/organism2.fasta.nin
db/organism2.fasta.nsq
sequences/abc123.faa
sequences/def456.faa
numbers.txt
numbers.txt
abc123
def456
现在我想
numbers.txt
的每一行 - 每个数字代表dir sequences
*.fasta
db
文件
numbers.txt
这是我的尝试:
while read line
do for file in db/*.fasta
do tblastn -db $file -query sequences/$line.faa -evalue 1e-10 -outfmt 7 >>$line_blastn.txt
done
done<numbers.txt
但是没有写文件。为什么呢?
答案 0 :(得分:3)
$line_blastn
被视为一个变量。由于该变量从未分配任何值,因此输出文件将只是.txt
。以点开头的文件隐藏在Linux和Max OS中,因此您无法看到输出文件。
将... >> "${line}_blastn.txt"
写为仅使用line
作为变量。