我的samtools_dup规则有问题。
[/ data / mypipeline.smk的第201行中显示“ SyntaxError:规则samtools_dup中的run / shell / script / wrapper / cwl之后不允许使用规则关键字。 (mypipeline.smk,第201行)“。
[如果我用谷歌搜索错误,我发现一个人说,在他们的代码中,可能是他在“ shell:”之后放置了“ log:”(并且shell应该是每个规则中的最后一句话) ,但事实并非如此。在许多其他论坛上,我看到有人张贴它,但未记录任何答案。我不确定这个错误还会在哪里...有什么想法吗?谢谢 !
这里我发布代码供您查看。
dup_fun="rmdup"
# Mark or remove duplicates with Samtools
if ( mrDup == "mark" or mrDup == "rm" ):
rule samtools_dup:
input: f'{bamDir}' + '/{sample}_sort.bam')
params: fun = dup_fun
output: protected(f'{dupDir}' + "/" + f'{mrDup}dup.bam')
shell: "samtools {params.fun} -s {input} {output}"
input: f'{bamDir}' + '/{sample}_sort.bam')
^ where is the opening bracket?
文件中可能还存在其他语法错误,但您绝对只提供其中的一小部分。