You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snakemake规则文件本地PC正常运行,远程Linux异常求助

Snakemake远程Linux主机执行故障排查

本地执行正常情况

在个人PC执行如下命令:

snakemake -s compores_rules.rules --forceall -c 1

运行正常,得到任务统计:

Job stats:
job count min threads max threads


all 1 1 1
hierarchical_cluster 2 1 1
plot_clusters 1 1 1
prepare_OTU 2 1 1
run_compo_res 1 1 1
run_fastspar 2 1 1
total 9 1 1

远程Linux主机执行异常情况

在远程Linux主机执行上述相同命令时,仅第一个规则运行,无任何报错信息。已确认输入文件路径与本地完全一致,本地因缺少Linux专属包仅完成6个规则,远程环境本应完成全部7个规则。

首个失效规则代码

首个未正常运行的prepare_OTU规则代码如下:

rule prepare_OTU:
    input:
        # microbiome_file=pathToMicrobiome+"/{antibiotic}-{treatment}-{location}.tsv"
        microbiome_file = expand([pathToMicrobiome + "/{antibiotic}-{treatment}-{location}.tsv"],antibiotic=antibiotics,treatment=treatments,location=locations)

    output:
        "preprocess/OTU_clustring/{antibiotic}-{treatment}-{location}.tsv"
    run:
        pg.prepare_OTU(input.microbiome_file)
        print("Path to Microbiome:",pathToMicrobiome)
        print("Input Files:",input.microbiome_file)
        isExist = os.path.exists(os.path.join("preprocess","OTU_clustring"))
        if not isExist:
            # Create a new directory because it does not exist
            os.makedirs(os.path.join("preprocess","OTU_clustring"))

可能的故障排查方向

  • 权限与路径问题:检查远程主机上preprocess/OTU_clustring目录的写入权限,以及输入文件的可读权限。Linux下权限不足可能导致静默失败,比如无权限创建输出目录时,规则可能直接终止但不报错。
  • 变量定义差异:确认远程环境中antibiotics、treatments、locations变量的定义与本地完全一致。若远程环境中这些变量为空或取值不同,expand生成的输入文件列表可能为空,导致规则被Snakemake判定为无需执行。
  • 依赖函数异常:pg.prepare_OTU函数在远程环境中可能存在隐性错误,比如依赖的Python包缺失、输入文件格式在Linux下处理逻辑不兼容,但未抛出异常。建议在run块开头添加详细日志,或单独调用该函数测试输入文件的处理情况。
  • Snakemake版本差异:对比本地与远程主机的Snakemake版本(执行snakemake --version),不同版本的语法或执行逻辑可能存在差异,导致规则解析或执行异常。尝试统一两端版本后重新测试。
  • 输出文件校验问题:Snakemake可能误判输出文件已存在或符合预期,从而跳过规则。添加--printshellcmds参数运行,查看是否实际执行了规则逻辑;或删除远程主机上所有输出文件后,重新执行--forceall命令。

内容的提问来源于stack exchange,提问作者Amit Yehuda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:17:38