【发布时间】:2020-10-05 23:47:41
【问题描述】:
我正在尝试对目录中的所有 .bam 文件运行生物信息学命令行工具。这就是我正在使用的:
#!/bin/sh
reference='/path/Homo_sapiens_assembly19.fasta'
for f in *.bam
do
base_name=${f%.bam}
java -jar /ppath/GenomeAnalysisTK.jar -R $reference \
-T ASEReadCounter \
-o $base_name.csv \
-I $f \
-sites $base_name.vcf \
-U ALLOW_N_CIGAR_READS \
-minDepth 10 \
--minMappingQuality 10 \
--minBaseQuality 2
done;
问题是循环在遍历第一个 bam 文件后停止。我最终会喜欢这个来检查一组 2000 个 .bam 文件,我不想手动输入它们(这将花费超过 30 小时)。
【问题讨论】:
-
你怎么知道它在第一个文件之后停止?
-
我只得到 1 个输出文件,在终端中,我只看到对第一个 .bam 文件的调用,即。用 base_name 和 $f 代替 sample1。 @John1024:不,脚本没有。那是格式错误。我知道该脚本的工作原理是它为我提供了我想要的目录中的 1 bam。
-
“调用第一个 .bam 文件”是什么意思?
-
对不起,我不清楚。该目录包含名为 sampleN.bam/sampleN.vcf 的文件,用于 N = 1,2.... 我看到它为 sample1.bam、sample1.vcf 执行所需的命令,但对任何后续 (bam,vcf) 对都没有.
-
顺便说一句。
bash!=sh
标签: bash bioinformatics bam