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.