1
votes

I am trying to create a pipeline where a small chain of rules are ran on a dynamic number of files output by an earlier rule using output. However, I am getting the following error: "wildcards in input files cannot be determined from output files:".

This suggests to me that what I am trying to do is not currently supported. Here is a pseudo example of what I am trying to do:

rule a:
    input: "my static file.txt"
    output: dynamic('my/path/{id}.txt')

rule b:
    input: dynamic('my/path/{id}.txt')
    output: dynamic('my/path/{id}.reprocessed.txt')

rule c:
    input: dynamic('my/path/{id}.reprocessed.txt')
    output: 'gather.txt'

Running snakemake with

rule all:
    input: dynamic('my/path/{id}.txt')

Works without any issues, but when I run snakemake with:

rule all:
    input: dynamic('my/path/{id}.reprocessed.txt')

I get the error: "wildcards in input files cannot be determined from output files:"

Is this feature supported? Has anyone successfully made such a chain? Any considerations I need to take into account?

Thanks!

1

1 Answers

1
votes

This was resolved by removing the dynamic statement from rule b.