首页 > 解决方案 > 以非零退出代码退出的命令之一;请注意,snakemake 使用 bash 严格模式!:适用于虚拟集

问题描述

我刚刚投入到蛇形管道建设中,所以也许我错过了一些重要的东西,但重点是:

我已经组装了几个步骤,并在一个虚拟输入上,我已经成功地在本地测试了它。然后我尝试在集群上运行代码,qsub但这似乎失败了(这主要是我没有阅读足够的内容,我敢肯定)但我可以在集群上运行管道作为交互式会话。

管道中的上一步生成“kmer 计数”。map()然后这一步通过 R 的函数和一些 tidyverse 变换将输入中的所有文件组合成一个表格文件。我只是截断输入的虚拟案例sample_PH=PH_list[:20]似乎正在执行,R 会话启动并生成 STDOUT 消息。

但给出完整列表(8k+ 样本)似乎因“非零退出”代码而失败。

我不确定为什么我会看到这种行为。对于这一步,文件的总内存大小为 5GB,但我的交互式节点以 200GB 的更高内存容量运行。

由于我不知道从哪里开始,因此可能导致此错误的任何经验?

先感谢您。

rule join_PH_whole:
    input:
        expand(
            "1_data/kma_clustering_{sim}/01_kmc/PATRIC_phage/seq_whole/{kmer}_mer/{sample_PH}.{kmer}_mer.kms",
            sample_PH=PH_list, kmer=KMERS, sim=SIMS)
    output:
        "1_data/kma_clustering_{sim}/02_kmc_joints/PATRIC_phage/seq_whole/{kmer}_mer_kmc_agg.tsv"
    params:
        out_dir = "1_data/kma_clustering_{sim}/02_kmc_joints/PATRIC_phage/seq_whole",
        kmer = "{kmer}",
        origin = "-1"
    shell:
        "Rscript scripts/combine_full_seq_kmc_output.R {params.out_dir} {params.kmer} {params.origin} {input}"

标签: snakemake

解决方案


推荐阅读