我试图在一个循环中处理多个bam文件,使用该标准,并且存在一个问题,即每个文件覆盖另一个文件。--bam xxx \是唯一会改变的行,xxx取决于目录中的bam文件。在这个例子中有三个,但并不总是这样。谢谢:)。
目录中的文件--不会总是3
xxx_00.bam
yyy_01.bam
zzz_02.bam标准
for bam in *.bam ; do
${path_to_strelka}/bin/configureStrelkaGermlineWorkflow.py \
--bam ${bam} \
--referenceFasta $fasta \
--callRegions $bed \
--exome
--runDir $dir
$dir/runWorkflow.py -m local -j 20
done期望的
for bam in *.bam ; do
${path_to_strelka}/bin/configureStrelkaGermlineWorkflow.py \
--bam ${bam} \ --- xxx_00.bam ---
--bam ${bam} \ --- yyy_01.bam ---
--bam ${bam} \ --- zzz_02.bam ---
--referenceFasta $fasta \
--calRegions $bed \
--exome \
--runDir $dir
$dir/runWorkflow.py -m local -j 20
done试过--打印所需的,但不执行它--
printf -- "${path_to_strelka}/bin/configureStrelkaGermlineWorkflow.py \\\\\n%s\n\t\t--referenceFasta $fasta \\\\\n\t\t--callRegions $bed \\\\\n\t\t--exome \\\\\n\t\t--runDir ${dir}\n" \
"$(for f in *.bam; do printf -- "\t\t--bam %s \\\\\n" "${f}"; done)"
${dir}/runWorkflow.py -m local -j 20发布于 2019-12-23 14:52:49
在我看来你根本不需要循环。
${path_to_strelka}/bin/configureStrelkaGermlineWorkflow.py \
$( printf " --bam %s " *bam ) \
--referenceFasta $fasta \
--calRegions $bed \
--exome \
--runDir $dir \
$dir/runWorkflow.py -m local -j 20https://stackoverflow.com/questions/59457126
复制相似问题