gpt4 book ai didi

conda - Snakemake:我不断收到 'conda' 命令在 $PATH 中不可用。在 SGE 集群上运行时

转载 作者:行者123 更新时间:2023-12-04 20:29:40 32 4
gpt4 key购买 nike

我在这里扯头发,希望有人可以帮助我。

运行snakemake 4.8.0

我有一个蛇形管道,我使用两个 conda envs 和 --use-conda 运行它,当作为独立管道运行时它工作正常。

然而,当我在我们的集群上运行时,我得到了错误:

“'conda' 命令在 $PATH 中不可用。”

现在。 Anaconda 安装在我们的集群上,但我们需要在节点上激活它:

module load anaconda

另外,模块被定义为一个函数,所以我首先有一些东西。因此,在我的蛇文件的顶部,我有:
shell.prefix("source $HOME/.bashrc; source /etc/profile; module load anaconda; )

这并不能解决问题。

我什至把 module load anaconda在我的 .bashrc ,这仍然行不通。仅在集群执行时,我才收到有关未找到 conda 的错误。

我的 .bashrc 的其他更改被snakemake捡起并被捡起,所以我不知道为什么它会出现conda问题。

我什至创建了一个 conda 环境,将 snakemake 和 conda 加载到该环境中,在提交脚本和 Snakefile 中激活环境:
shell.prefix("source $HOME/.bashrc; source /etc/profile; module load anaconda; source activate MAGpy-3.5; ")

它仍然显示“$PATH 中没有‘conda’命令。”

从字面上撕掉我的头发。

顺便说一句,我使用 qsub -S /bin/bash 提交并使用 shell.executable("/bin/bash")但是在 .snakemake 中创建的临时 shell 脚本由 /bin/sh 运营- 这是预期的吗?

请帮我!

最佳答案

我总是必须使用:
set +u; {params.env}; set -u
({params.env} 正在从我的 config.yaml 加载 conda 命令)

shell 中调用 conda 环境时Snakefile 的命令,因为 Snakemake 会自动在 shell 命令前添加 set +u .

不确定这是否能解决您的问题,但值得一试吗?

关于conda - Snakemake:我不断收到 'conda' 命令在 $PATH 中不可用。在 SGE 集群上运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49680732/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com