小编Rox*_*ane的帖子

如何在输入和输出中正确使用通配符

我最近决定从snakemake开始。我在堆栈和蛇形文档中都找不到适合我需要的任何内容。我觉得我不明白一些事情,我可能需要一些解释。

我正在尝试制作一个简单的 snakemake 工作流程,该工作流程将一个 fastq 文件和一个测序摘要文件(包含有关读取的信息)作为输入,并将快速读取中的读取过滤到几个文件中(low.fastq 和 high.fastq) .

我的输入数据和我试图执行的 Snakefile 存储如下:

.
??? data
?   ??? sequencing-summary-example.txt 
?   ??? tiny-example.fastq 
??? Snakefile
??? split_fastq
Run Code Online (Sandbox Code Playgroud)

这就是我迄今为止尝试过的:

*imports*
rule targets:
    input:
        "split_fastq/low.fastq",
        "split_fastq/high.fastq"

rule split_fastq:
    input:
        "data/{reads}.fastq",
        "data/{seqsum}.txt"
    output:
        "split_fastq/low.fastq",
        "split_fastq/high.fastq"
    run:
        * do the thing *
Run Code Online (Sandbox Code Playgroud)

我希望有一个目录“split_fastq”,其中包含“低”和“高”fastq。但是我得到了错误:

Building DAG of jobs...
WildcardError in line 10 of /work/sbsuser/test/roxane/alignement-ont/Snakefile:
Wildcards in input files cannot be determined from output files:
'reads'
Run Code Online (Sandbox Code Playgroud)

尽管它似乎是一个非常流行的错误,但我不确定我是否不明白如何使用通配符或者是否存在其他问题。我是否正确使用了“输入”和“输出”?

snakemake

5
推荐指数
1
解决办法
960
查看次数

标签 统计

snakemake ×1