首页 > 解决方案 > 在 Snakemake 参数部分使用特殊符号

问题描述

我创建了以下蛇形规则:

rule cutadapt:
    input:
        input
    output:
        output
    log:
        logs
    params:
        "-a 'A{100}' --nextseq-trim=20 -m 20"
    wrapper:
        "0.50.4/bio/cutadapt/se"

我收到以下错误消息:

参数中的通配符无法从输出文件中确定。

-a 'A{100}' 由于 {},Snakemake 实现为通配符。我试图通过 {} 转义,-a 'A{{100}}' 但它会产生相同的错误。

是否有机会逃脱蛇形规则中的参数部分?

谢谢

标签: pythonsnakemake

解决方案


看来修复有点难看(请参阅问题https://bitbucket.org/snakemake/snakemake/issues/584/unable-to-escape-curly-braces-in-params) - 我不知道是否更好解决方案已实施。

基本上,使用一个虚拟 lambda 函数:

lambda wc: "-a 'A{100}' --nextseq-trim=20 -m 20"

推荐阅读