Mic*_*son 5 conda environment-modules snakemake
我在这里扯头发,希望有人可以帮助我。
运行snakemake 4.8.0
我有一个snakemake管道,它与两个conda env和--use-conda一起运行,并且在作为独立管道运行时可以正常工作。
但是,当我在集群上运行时,出现错误:
“'conda'命令在$ PATH中不可用。”
现在。Anaconda已安装在我们的集群上,但是我们需要使用以下命令在节点上激活它:
module load anaconda
Run Code Online (Sandbox Code Playgroud)
另外,模块被定义为一个函数,因此我首先要介绍一些东西。因此,在我的snakefile的顶部,我有:
shell.prefix("source $HOME/.bashrc; source /etc/profile; module load anaconda; )
Run Code Online (Sandbox Code Playgroud)
这不能解决问题。
我甚至把module load anaconda我的.bashrc,而且仍然无法正常工作。仅在群集执行时,我收到关于找不到conda的错误。
我的其他更改.bashrc都由snakemake提取,因此我不知道为什么它在conda上有问题。
我什至创建了一个conda env,将snakemake和conda加载到该env中,在提交脚本和Snakefile中激活该env:
shell.prefix("source $HOME/.bashrc; source /etc/profile; module load anaconda; source activate MAGpy-3.5; ")
Run Code Online (Sandbox Code Playgroud)
它仍然显示 “'conda'命令在$ PATH中不可用”。
从字面上把我的头发扯掉。
顺便说一句,我提交qsub -S /bin/bash并同时使用,shell.executable("/bin/bash")但是在其中创建的temp shell脚本由.snakemake运行/bin/sh-是预期的吗?
请帮我!
小智 2
我总是必须使用:
set +u; {params.env}; set -u
({params.env}从我的 config.yaml 加载 conda 命令的位置)
shell当在Snakefile 命令中调用 conda 环境时,因为 Snakemake 会自动在 shell 命令前面加上set +u.
不确定这是否能解决您的问题,但值得一试吗?
| 归档时间: |
|
| 查看次数: |
862 次 |
| 最近记录: |