我有一个用例,其中规则生成任意数量的“检查点”文件和单个输出文件。例如,“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)
如果我定义了新的通配符,我会收到错误“并非所有规则示例的输出文件都包含相同的通配符”。如果我尝试使用动态输出,则会收到错误消息“具有动态输出的规则可能未定义任何非动态输出文件。”
提前感谢您的帮助!