Snakemake:动态+非动态输出

时间:2017-08-09 20:10:09

标签: snakemake

我有一个用例,其中规则生成任意数量的" checkpoint"文件和单个输出文件。例如," example.input"会产生:

  • example_000.checkpoint
  • example_001.checkpoint
  • ...
  • example_093.checkpoint(此处为任意数字)
  • example.output(保证非动态输出)

检查点旨在用于从计算中的该点重新开始,但我还有其他用途。但是,我只需要第一个(例如,example_000.checkpoint)和最后一个(例如,example_093.checkpoint)。如何构造规则以使我的输出定义为:

    rule example:
        input:
            {id}.input
        output:
            non_dynamic = {id}.output
            first = {id}_{first}.checkpoint
            last = {id}_{last}.checkpoint
            # OR
            checkpoints = dynamic({id}_{checkpoint}.checkpoint)

如果我定义了新的通配符,我会收到错误"并非规则示例的所有输出文件都包含相同的通配符。"如果我尝试使用动态输出,我会收到错误"带有动态输出的规则可能无法定义任何非动态输出文件。"

提前感谢您的帮助!

0 个答案:

没有答案