Snakemake 重复基准测试实际上是如何工作的?

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

根据我对 Snakemake 文档的理解,如果我用重复注释规则的基准文件,它应该运行该规则特定的次数,以便了解计时和内存测量的可变性。但是,当我查看要分析的规则的基准文件时,只有记录的第一个测量结果似乎是准确的,并且前面的测量结果非常小,就好像该规则没有真正重新运行一样。我对重复注释的理解不正确还是这是 Snakemake 的一个错误?

这是我的 Snakemake 文件中的规则,我试图使用重复注释来分析它。

rule br:
    input:
        dicz = "output/br/{prefix}/{ref}/{prefix}.{ref}.br.dicz",
        parse = "output/br/{prefix}/{ref}/{prefix}.{ref}.br.parse",
        script = config["script"]
    benchmark: repeat("benchmarks/br/{prefix}.{ref}.br.script.benchmark.txt", 3),
    threads: 32,
    params:
        outprefix = "output/br/{prefix}/{ref}/{prefix}.{ref}.br"
    output:
        C = "output/br/{prefix}/{ref}/{prefix}.{ref}.br.C",
        R = "output/br/{prefix}/{ref}/{prefix}.{ref}.br.R",
        log = "output/br/{prefix}/{ref}/{prefix}.{ref}.br.log"
    shell:
        """
        module load gcc
        {input.script} {params.outprefix} -t {threads}
        """

这是根据此规则生成的基准文件

s   h:m:s   max_rss max_vms max_uss max_pss io_in   io_out  mean_load   cpu_time
468.4567    0:07:48 12440.35    12493.91    12432.10    12435.02    2039.47 2441.37 85.57   427.32
1.8935  0:00:01 15.63   105.46  9.15    10.48   0.00    0.00    9.00    0.26
0.9830  0:00:00 13.86   103.52  7.23    8.61    0.00    0.00    0.00    0.16
snakemake
1个回答
0
投票

考虑脚本重新运行后会做什么。如果第一次运行的结果仍然存在,您可能需要删除它们。这里的问题是您丢失了输出,因此可能会将它们复制到新目录。

rule br:
    input:
        dicz = "output/br/{prefix}/{ref}/{prefix}.{ref}.br.dicz",
        parse = "output/br/{prefix}/{ref}/{prefix}.{ref}.br.parse",
        script = config["script"]
    benchmark: repeat("benchmarks/br/{prefix}.{ref}.br.script.benchmark.txt", 3),
    threads: 32,
    params:
        outprefix = "output/br/{prefix}/{ref}/{prefix}.{ref}.br"
    output:
        C = temp("output/br/{prefix}/{ref}/{prefix}.{ref}.br.C"),
        R = temp("output/br/{prefix}/{ref}/{prefix}.{ref}.br.R"),
        log = temp("output/br/{prefix}/{ref}/{prefix}.{ref}.br.log")
    shell:
        """
        module load gcc
        {input.script} {params.outprefix} -t {threads}
        """
© www.soinside.com 2019 - 2024. All rights reserved.