抱歉,如果这是一个天真的问题,但我仍在试图把我的头围绕在错综复杂的蛇。在
我有一个目录,其中包含许多要并行应用规则的文件(即,我希望向集群提交相同的脚本,为每次提交指定不同的输入文件)。在
我首先尝试对输入文件使用扩展,但这只导致了一个作业提交:
CHROMS = [str(c) for c in range(1, 23)] + ["X"]
rule vep:
input:
expand("data/split/chr{chrom}.vcf",
chrom=CHROMS)
output:
expand("data/vep/split/chr{chrom}.ann.vcf",
chrom=CHROMS)
shell:
"vep "
"{input} "
"{output}"
有没有其他方法?在
谢谢你!在
目前,您的工作流程确实包含只应用一次“vep”规则,其中它执行
vep
,并将您的所有输入和输出作为参数。我不知道vep
是如何工作的,但它可能要么失败,要么没有做您期望的事情。在您可能应该在不进行扩展的情况下编写规则的输入和输出,并使用“all”规则来驱动它,这样可以进行扩展:
为了生成“all”规则的所需输入,snakemake将确定需要应用“vep”规则的次数和方式(即
chrom
通配符的值)。在一定要把“全部”规则放在所有其他规则之前。在
相关问题 更多 >
编程相关推荐