Snakemake不执行bash命令

2024-10-16 17:17:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在Snakemake中运行一个小管道,以便从RNA seq中过滤出文件中的良好读取。在

这是我的代码:

SAMPLES = ['ZN21_S1', 'ZN22_S2','ZN27_S3', 'ZN28_S4', 'ZN29_S5' ,'ZN30_S6']
rule all:
    input:
        expand("SVA-{sample}_L001_R{read_no}.fastq.gz", sample=SAMPLES, read_no=['1', '2'])
rule fastp:
    input:
        reads1="SVA-{sample}_L001_R1.fastq.gz",
        reads2="SVA-{sample}_L001_R2.fastq.gz"
    output:
        reads1out="out/SVA-{sample}_L001_R1.fastq.gz.good",
        reads2out="out/SVA-{sample}_L001_R2.fastq.gz.good"
    shell:
        "fastp -i {input.reads1} -I {input.reads2} -o {output.reads1out} -O {output.reads2out}"

所有的示例(在符号链接中)都在同一个文件夹中,我只收到消息“Nothing to be do”。 我没看到什么?在


Tags: samplenoreadinputoutputrulefastqsamples
1条回答
网友
1楼 · 发布于 2024-10-16 17:17:33

在您的示例中,rule all中的目标文件应该与rule fastp的输出文件匹配,而不是当前设置中的输入文件。根据您的代码,rule all中的目标文件已经存在,因此在执行它时会出现消息Nothing to be done。在

rule all:
    input:
        expand("out/SVA-{sample}_L001_R{read_no}.fastq.gz.good", sample=SAMPLES, read_no=['1', '2'])

相关问题 更多 >