Snakemake v5.30.1生成报告时触发TypeError错误求助
我在使用Snakemake v5.30.1生成流程报告时碰到了一个奇怪的问题:流程本身运行完全正常,但只要加上--report参数就会触发报错。
运行命令详情
- 无报告生成的正常运行命令:
snakemake -s /mnt/beegfs/pipelines/rna-count-salmon/Snakefile --profile /mnt/beegfs/pipelines/rna-count-salmon/.igr/profile/slurm --cache salmon_index tr2gene
- 触发错误的报告生成命令:
snakemake -s /mnt/beegfs/pipelines/rna-count-salmon/Snakefile --profile /mnt/beegfs/pipelines/rna-count-salmon/.igr/profile/slurm --report Quantification_Report.html --cache salmon_index tr2gene
完整错误栈
Traceback (most recent call last):
File "/mnt/beegfs/userdata/t_dayris/anaconda3/envs/rna-count-salmon/lib/python3.8/site-packages/snakemake/init.py", line 687, in snakemake
success = workflow.execute(
File "/mnt/beegfs/userdata/t_dayris/anaconda3/envs/rna-count-salmon/lib/python3.8/site-packages/snakemake/workflow.py", line 820, in execute
auto_report(dag, report, stylesheet=report_stylesheet)
File "/mnt/beegfs/userdata/t_dayris/anaconda3/envs/rna-count-salmon/lib/python3.8/site-packages/snakemake/report/init.py", line 722, in auto_report
rec.starttime = min(rec.starttime, meta["starttime"])
TypeError: '<' not supported between instances of 'NoneType' and 'int'
已尝试的排查步骤和已知信息
- 在snakemake-pipeline仓库内运行同一流程时,不会出现这个报错
- 之前一直使用这个profile没有异常,而且在Snakemake v5.27.0及更早版本中可以正常生成报告
- 删除工作目录下的
.snakemake文件夹后,问题能够解决 - 补充:禁用
--cache选项无法修复问题(参考Dmitry Kuzminov的评论) - 补充2:已经100%确定错误来自
.snakemake/metadata目录,目前正在排查该目录下的文件问题
希望大家能帮我指出问题根源或者提供排查方向,非常感谢!
内容的提问来源于stack exchange,提问作者tdayris

