首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蛇的位置重要吗?

蛇的位置重要吗?
EN

Stack Overflow用户
提问于 2019-05-17 10:42:45
回答 1查看 106关注 0票数 2

我绝对是蛇咬牙的初学者。据我所知,我正在建造一条管道。我的问题是,是否将Snakefile与我想要处理的NameError:发生的数据文件放在一起,但是如果我将Snakefile移动到父目录并编辑输入:和输出的路径信息:代码可以工作。我遗漏了什么?

代码语言:javascript
复制
rule sra_convert:
    input:
        "rna/{id}.sra"
    output:
        "rna/fastq/{id}.fastq"
    shell:
        "fastq-dump {input} -O {output}"

当我运行时,上面的代码运行良好。

代码语言:javascript
复制
snakemake -p rna/fastq/SRR873382.fastq

但是,如果我将该文件移到SRR873382.sra文件所在的"rna“目录中,并按以下方式编辑代码

代码语言:javascript
复制
rule sra_convert:
    input:
        "{id}.sra"
    output:
        "fastq/{id}.fastq"
    message:
        "Converting from {id}.sra to {id}.fastq"
    shell:
        "fastq-dump {input} -O {output}"

然后跑

代码语言:javascript
复制
snakemake -p fastq/SRR873382.fastq

我得到以下错误

代码语言:javascript
复制
Building DAG of jobs...
Job counts:
    count   jobs
    1   sra_convert
    1
RuleException in line 7 of /home/sarc/Data/rna/Snakefile:
NameError: The name 'id' is unknown in this context. Please make sure that you defined that variable. Also note that braces not used for variable access have to be escaped by repeating them, i.e. {{print $1}}

溶液

代码语言:javascript
复制
rule sra_convert:
    input:
        "{id}.sra"
    output:
        "fastq/{id}.fastq"
    message:
        "Converting from {wildcards.id}.sra to {wildcards.id}.fastq"
    shell:
        "fastq-dump {input} -O {output}"

以上代码运行良好,没有错误。

EN

回答 1

Stack Overflow用户

发布于 2019-05-21 06:50:24

我认为,回答你实际问题的最佳来源是:

https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#wildcards

如果规则的输出与请求的文件匹配,则将通配符匹配的子字符串传播到输入文件和变量通配符,这也在shell命令中使用。通配符对象可以以与输入和输出相同的方式访问,这一点在上面已经描述过了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56184801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档