Hello all,
I'm trying to dry-run a snakemake pipeline but I get a SyntaxError in line 75 "positional argument follows keyword argument". The thing is, it's pointing towards a benchmark line (*) in an intermediate rule, that follows the same pattern as previous rules... I don't understand what might be the problem.
This is the structure of the rules I'm writing:
rule name:
    input:
        i1 = "...",
        i2 = "..."
    output:
        a = "...",
        b = "...",
        c = "..."
    threads:
        n
    log:
        "..."
    *benchmark:
        "benchmarks/(...).benchmark.txt"
    message:
        "(...)"
    shell:
        """
        (...)
        """
All the input and output files are named and separated by commas. Nevertheless, the error points to 'benchmark:' (*). Does anyone know why this is happening?
EDIT: If I remove the benchmark line, the error simply points to the previous or the next line in the rule, and if I keep chipping away at the rule, (leaving only the input lines), eventually the error points to an empty line. If I add/remove empty lines between rules, the error points to different empty lines or, when there are none, to any line in the closest rule. I have no idea what this is.
Thank you.
Please explain how this is related to bioinformatics.