在SnakeMake中使用Conda环境解决SGE集群问题

2024-05-17 15:40:46 发布

您现在位置:Python中文网/ 问答频道 /正文

相关:SnakeMake rule with Python script, conda and cluster

我一直在尝试将我的SnakeMake管道设置为在SGE集群(qsub)上运行。使用直接安装到计算节点的简单命令或工具,没有问题。 但是,当我尝试设置SnakeMake来通过SGE节点上的Conda下载工具时,会遇到一个问题。在

我的测试蛇档案是:

rule bwa_sge_c_test:
    conda:
        "bwa.yaml"
    shell:
        "bwa > snaketest.txt"

““bwa.yaml公司“文件是:

^{pr2}$

我运行SnakeMake命令:

snakemake -d "/home/<username>" --use-conda --cluster "qsub -cwd -q testing-nod08" --jobs 1

因此,我在SGE计算节点中得到以下错误:

/usr/bin/python3: No module named snakemake.__main__; 'snakemake' is a package and cannot be directly executed
touch: cannot touch '/home/krampl/.snakemake/tmp.7le8izvw/0.jobfailed': No such file or directory

我试过把“snakemake=5.2.2”附加到bwa.yaml公司“(正如一位同事建议的那样),但错误依然存在。在

我的问题是:是什么导致了这个错误,以及如何修复这个错误,以便在SGE集群中运行SnakeMake的Conda环境?在


Tags: and命令yaml节点错误集群ruleconda
1条回答
网友
1楼 · 发布于 2024-05-17 15:40:46

您可能需要将环境变量发送到qsub。在

snakemake -d "/home/<username>"  use-conda  cluster "qsub -V -cwd -q testing-nod08"  jobs 1

-V将把所有环境变量发送到qsub作业,包括路径。 我通常通过SGE发送作业是构建一个脚本来封装我的作业:

在上海通用电气在

^{pr2}$

当然,您可以使用其他选项,如-q,然后使用snakemake,如下所示:

snakemake  cluster "qsub"  jobscript sge.sh ....

(在调用snakemake之前,不要忘记创建logs文件夹)

相关问题 更多 >