如何解决snakemake:如何记录由脚本指令执行的python脚本?
是否可以通过script
指令轻松保存来自执行Python脚本的snakemake规则的日志?该脚本使用的库已经具有一些集成的日志记录,我想存储它们的日志。我不想使用shell
或run
指令,因为它们在使用python脚本时都不那么舒适。另外,我希望答案会要求在python脚本中进行最少的更改,主要更改在Snakemake
文件中。这是代码示例:
rule correcting_ids:
input:
"assembly_{type}/{sample}/{dataset}/final.fasta"
output:
"assembly_{type}/{sample}/{dataset}/final.corrected.fasta"
log:
"logs/{sample}/correct_{type}_ids_{dataset}.log"
script:
"scripts/correcting_ids.py"```
解决方法
您可以将所有stdout和stderr重定向到日志文件
python :
import sys
with open(snakemake.log[0],"w") as f:
sys.stderr = sys.stdout = f
[rest of the script]
R :
log <- file(snakemake@log[[1]],open="wt")
sink(log)
[rest of script]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。