在蛇make中将基于动态输出的其他文件与混合的非动态通配符一起使用

Mik*_*cre 5 snakemake

我正在尝试使用执行以下操作的Snakefile:

rule split_files:
    input:
        '{pop}.bam'
    output:
        dynamic('{pop}_split/{chrom}.sam')
    shell:
        "something"

rule work:
    input:
        sam='{pop}_split/{chrom}.sam',
        snps='snps/{chrom}_snps'
    output:
        '{pop}_split/{chrom}_parsed.sam'
    shell:
        "something"

rule combine:
    input:
        dynamic('{pop}_split/{chrom}_parsed.sam')
    output:
        '{pop}_merged.sam'
    shell:
        "something"
Run Code Online (Sandbox Code Playgroud)

这导致错误:

Missing input files for rule work:
snps/__snakemake_dynamic___snps
Run Code Online (Sandbox Code Playgroud)

dynamic工作规则的两个输入相加会导致相同的错误。

我需要执行此操作,因为某些种群有chrY,而其他种群则没有,所以我不能仅仅通过染色体列表进行扩展(实际上我可以在当前正在使用的其他方法上进行扩增,但是这样做很麻烦)。