擅长:python、mysql、java
<p>我认为@Colin在这里走的是正确的(最像蛇一样的)道路。但是,如果要使用通配符(例如在日志中)或它们指定某些参数,则可以尝试用变量替换通配符,并将其插入规则的输入和输出中:</p>
<pre><code>metadata = "{wc1}_{wc2}_{wc3}_{wc4}"
WC1, WC2, WC3, WC4 = glob_wildcards(FASTQPATH + metadata + ".fastq.gz")
rule map:
input:
expand(f"unmapped/{metadata}.fq")
input:
expand(f"mappings/{metadata}.fq")
shell:
"""
echo {wildcards.wc1};
mv {input} {output}
"""
rule all:
expand("mappings/{wc1}_{wc2}_{wc3}_{wc4}.bam", wc1=WC1, wc2=WC2, wc3=WC3, wc4=WC4)
</code></pre>
<p>这种改变为或多或少的通配符的方法相对容易。你知道吗</p>
<p><strong>免责声明</strong>我还没有测试过这些方法是否有效:)</p>