我应该如何解决这个问题,snakemake 出现“缺少输出文件”错误?

问题描述 投票:0回答:1

我正在尝试使用“snakemake”来管理我的工作流程。 起初,我在下面写了简短的“Snakefile”,但它没有与“Message”一起运行。 我认为这是一个很容易解决的问题,但我不能。 我该怎么办?

依赖关系: 蟒蛇= 3.10 纳克马克 = 7.32

蛇锉

Bam $ cat Snakefile
rule A:
        input:
                i = 'B1477.all_merged_3split_dedupped_sorted.bam'
        output:
                o = 'B1477.all_merged_3split_dedupped_sorted2.bam'
        shell:
                "samtools view {input.i} > {output.o}"

留言

Building DAG of jobs...
Job stats:
job      count
-----  -------
A            1
total        1


[Tue Apr  2 19:31:43 2024]
rule A:
    input: B1477.all_merged_3split_dedupped_sorted.bam
    output: B1477.all_merged_3split_dedupped_sorted2.bam
    jobid: 0
    reason: Missing output files: B1477.all_merged_3split_dedupped_sorted2.bam
    resources: tmpdir=/tmp

samtools view B1477.all_merged_3split_dedupped_sorted.bam > B1477.all_merged_3split_dedupped_sorted2.bam
Job stats:
job      count
-----  -------
A            1
total        1

Reasons:
    (check individual jobs above for details)
    missing output files:
        A

This was a dry-run (flag -n). The order of jobs does not reflect the order of execution.
snakemake
1个回答
0
投票

您分享的任何内容中都没有任何实际错误。 (你甚至可以搜索文本,但你不会在那里看到“错误”。)

该“消息”只是告诉您运行规则的原因

原因是因为你有一个输入文件,但还没有匹配的输出文件。所以 Snakemake 运行规则。
这是一件好事!反馈很好。

这里是我的Snakefile的简化版本,无需

samtools
参与,运行与您的版本匹配,即Snakemake版本7.32.4和Python 3.10.12。 (我必须根据
这里的问题
执行pip3 install pulp==2.7.0,才能让snakemake 7.32.4在从这里启动的指定了Python 3.10的会话中工作。)

您会看到我在那里得到了原因,

reason: Missing output files: B1477.all_merged_3split_dedupped_sorted2.bam
,同时规则运行并按应有的方式输出。我列出了之前和之后的文件来说明那里

reason:
消息是一个较新的功能,因为您会看到我在这里使用 Snakemake 7.3.8 作为您的 Snakefile 的简化版本,但它没有显示这一点。

© www.soinside.com 2019 - 2024. All rights reserved.