如何将默认脚本添加到奇点容器内的 运行?
How to add default script to run inside a singularity container?
我正在尝试基于预先构建的 anaconda2 映像构建一个奇点容器,例如:
singularity build --sandbox hmmhc.sif library://shahzebmsiddiqui/easybuild/anaconda2:5.2.0
singularity exec hmmhc.sif python --version
Python 2.7.15 :: Anaconda, Inc.
基于此,我使用 singularity shell
安装了 hmmhc 程序。我想知道如何在内部激活程序,例如运行 图像内部的以下行:
source ~/anaconda2/etc/profile.d/conda.sh
conda activate hmmhc
这样我就可以将其执行为:
singularity exec hmmhc.sif hmmhc-predict --help
如果您使用 Singularity definition file,则只能 add/edit 默认 运行 选项。我推荐此选项是为了可重复性,但在这种情况下并不是严格要求的。
假设您按照 github 中的安装说明进行操作,您为该包创建了一个新的 conda 环境。问题是因为 conda 环境不是默认环境。相反,您可以将软件包安装到 base/default conda 环境中,然后它将可用于 singularity exec
。
# in singularity shell
conda config --prepend channels bioconda
conda install ghmm=0.9 'icu=58.*'
pip install git+https://github.com/artyomovlab/hmmhc#egg=hmmhc
# check the image works as expected
singularity exec hmmhc.sif/ hmmhc-predict --help
我正在尝试基于预先构建的 anaconda2 映像构建一个奇点容器,例如:
singularity build --sandbox hmmhc.sif library://shahzebmsiddiqui/easybuild/anaconda2:5.2.0
singularity exec hmmhc.sif python --version
Python 2.7.15 :: Anaconda, Inc.
基于此,我使用 singularity shell
安装了 hmmhc 程序。我想知道如何在内部激活程序,例如运行 图像内部的以下行:
source ~/anaconda2/etc/profile.d/conda.sh
conda activate hmmhc
这样我就可以将其执行为:
singularity exec hmmhc.sif hmmhc-predict --help
如果您使用 Singularity definition file,则只能 add/edit 默认 运行 选项。我推荐此选项是为了可重复性,但在这种情况下并不是严格要求的。
假设您按照 github 中的安装说明进行操作,您为该包创建了一个新的 conda 环境。问题是因为 conda 环境不是默认环境。相反,您可以将软件包安装到 base/default conda 环境中,然后它将可用于 singularity exec
。
# in singularity shell
conda config --prepend channels bioconda
conda install ghmm=0.9 'icu=58.*'
pip install git+https://github.com/artyomovlab/hmmhc#egg=hmmhc
# check the image works as expected
singularity exec hmmhc.sif/ hmmhc-predict --help