我正在尝试将规则名、通配符和外部作业id包含到管道的日志文件名中,以使调试过程更加顺利(例如:snakejob.<rulename>.<wildcard>.e<jobid>
)。我找不到合并规则名称或作业id的方法。默认日志文件名包含作业id,因此我认为一定有方法可以做到这一点。
下面是我的蛇形文件中的一个规则示例:
rule index_input:
input:
vcf = "{region}/example.vcf"
output: "{region}/example.vcf.tbi"
resources:
mem = 2,
threads:1,
log:
logo = "log/{region}.o",
loge = "log/{region}.e",
shell:
"""
tabix {input.vcf}
"""
下面是我的执行文件的一个示例:
snakemake --ri \
-s $SNAKEFILE \
--drmaa " -l h_rt=24:00:00 \
-l mfree={resources.mem}G \
-l gpfsstate=0 \
-pe serial {threads} \
-V -cwd \
-o {log.logo} \
-e {log.loge} \
-S /bin/bash" \
--jobs $JOBNUM \
--latency-wait $WAITTIME \
--restart-times $RETRY \
$1 $2
我有没有办法在我的蛇形档案里做这样的事
log:
logo = "log/{rulename}{region}.o{jobid}"
或者在执行文件中类似的东西“
-o {jobname}{log.logo}.o{jobid}
我认为要包含规则名,可以使用通配符
{rule}
。对于特定的通配符,可以使用params
指令。例如:然后执行为:
当然,其作业提交到集群的每个规则都必须将
jobname
作为params
的项包含。你知道吗(未测试)
相关问题 更多 >
编程相关推荐