我正在尝试使用“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 运行规则。
这是一件好事!反馈很好。
这里是我的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 的简化版本,但它没有显示这一点。