Как добавить скрипт по умолчанию для запуска в контейнере сингулярности? - PullRequest
1 голос
/ 28 февраля 2020

Я пытаюсь создать контейнер для сингулярности на основе предварительно созданного образа 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.

Исходя из этого, я установил программу хммх c используя singularity shell. Мне интересно, как активировать программу внутри, например, запустить следующие строки внутри изображения:

source ~/anaconda2/etc/profile.d/conda.sh
conda activate hmmhc

, чтобы я мог exe c это как:

singularity exec hmmhc.sif hmmhc-predict --help

1 Ответ

1 голос
/ 02 марта 2020

Вы можете добавлять / редактировать параметры запуска по умолчанию, только если вы используете Файл определения Singularity . Я рекомендую этот параметр для воспроизводимости, но в данном случае он не является строго обязательным.

Предполагая, что вы следовали инструкциям по установке из github, вы создали новую среду conda для пакета. Проблема заключается в том, что среда conda не является средой по умолчанию. Вместо этого вы можете установить пакеты в базовую / стандартную среду 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
...