我的蛇文件看起来像这样。
rule do00_download_step01_download_:
input:
output:
"data/00_download/scores.pqt"
run:
from lib.do00_download import do00_download_step01_download_
do00_download_step01_download_()
rule do00_download_step02_get_the_mean_:
input:
"data/00_download/scores.pqt"
output:
"data/00_download/cleaned.pqt"
run:
from lib.do00_download import do00_download_step02_get_the_mean_
do00_download_step02_get_the_mean_()
rule do01_corr_step01_correlate:
input:
"data/00_download/cleaned.pqt"
output:
"data/01_corr/corr.pqt"
run:
from lib.do01_corr import do01_corr_step01_correlate
do01_corr_step01_correlate()
rule do95_plot_step01_correlations:
input:
"data/01_corr/corr.pqt"
output:
"plot/heatmap.png"
run:
from lib.do95_plot import do95_plot_step01_correlations
do95_plot_step01_correlations()
rule do95_plot_step02_plot_dist:
input:
"data/00_download/cleaned.pqt"
output:
"plot/dist.png"
run:
from lib.do95_plot import do95_plot_step02_plot_dist
do95_plot_step02_plot_dist()
rule do99_figures_step01_make_figure:
input:
"plot/dist.png"
"plot/heatmap.png"
output:
"figs/fig01.svg"
run:
from lib.do99_figures import do99_figures_step01_make_figure
do99_figures_step01_make_figure()
rule all:
input:
"figs/fig01.svg"
Run Code Online (Sandbox Code Playgroud)
我已按顺序排列规则,希望这能确保所有步骤都按该顺序运行。但是,当我运行时snakemake,它只运行第一条规则,然后退出。
我已经单独检查了所有步骤(我导入的函数)是否运行良好,以及输入和输出文件的路径。一切看起来都很好。所以我猜测问题出在我格式化蛇文件的方式上。我是新手snakemake(初级)。因此,如果有人指出我应该如何解决这个问题,那将会非常有帮助。
小智 5
这是预期的行为。这是文档中的相关部分:
此外,如果在命令行中没有给出目标,Snakemake将定义Snakefile的第一条规则作为目标。因此,最佳实践是
all在工作流程的顶部设置一条规则,将所有通常需要的目标文件作为输入文件。假设第一条规则的输出是目标。
如果将 移动rule all:到 Snakefile 的顶部,它应该按预期工作。
| 归档时间: |
|
| 查看次数: |
1168 次 |
| 最近记录: |