User Tools

Site Tools


anaconda_installation

Anaconda installation on shared storage (NFS)

Conda, Anaconda, Bioconda의 기본 개념에 대해서는 블로그에 쓴 글(링크)를 참조하기 바란다. 그동안 CentOS 6.x을 꾸준히 사용해 오다가 2018년 3월 내가 사용하는 몇 대의 리눅스 서버 중 하나(microbe)에 CentOS 7.x를 처음으로 설치하면서 응용 프로그램 관리에 뭔가 획기적인 변화를 가져오기를 꿈꾸었다. 구체적인 방법으로서 Conda/Anaconda/Bioconda를 사용한 프로그램 설치 및 환경 관리를 하는 것으로 마음이 기울었다. 그리고 되도록이면 모든 서버에 마운트된 공용 공간을 프로그램 설치 공간으로 적극 활용하기로 하였다. 설치를 위한 공간은 /data/anaconda2이다. 이렇게 하면 다른 서버의 OS를 업그레이드하는 것도 훨씬 수월해진다.

관련 사이트

anaconda 설치

[주의!] Anaconda2와 3가 약간 다르고, 또한 conda 유틸리티의 버전에 따라서도 실제 구동에 차이가 있으므로 주의를 요한다. Anaconda 2019.03 버전의 경우 conda는 4.5.12이지만 conda update conda를 하면 4.6.11이 된다. conda version이 4.6 이상이 되면 달라지는 것이 많다. Anaconda documentation의 Anaconda Distribution 페이지에서는 다음과 같이 언급하였다.

Previous versions

Previous versions of Anaconda are available in the archive. For a list of packages included in each previous version, see Old package lists.

Anaconda2 includes Python 2.7 and Anaconda3 includes Python 3.7. However, it does not matter which one you download, because you can create new environments that include any version of Python packaged with conda. See Managing Python with conda.

Anaconda 설치 파일을 이곳에서 받아서 실행한다. 설치 위치에 대한 질문에는 /data/anaconda3라고 입력하였다. 이 위치는 관리자만이 기록할 수 있는 공간이므로 관리자 권한으로 실행해야 한다. R까지 설치하려면 다음과 같이 입력하면 되지만 나중에 다른 bioconda 패키지를 설치하면서 이상해지는 것을 발견하였다. R은 yum으로 설치하는 것을 권장한다.

# bash ./Anaconda3-5.1.0-Linux-x86_64.sh
...
# PATH=/data/anaconda3/bin:$PATH 
(optional) # conda install -c r r-base
(optional) # conda update conda

로컬 서버의 python이나 다른 응용프로그램을 실행할 필요도 있으므로 /data/anaconda2/bin을 startup script에 넣지는 않았다. anaconda를 설치하였다면 패키지 및 환경 관리 프로그램인 conda도 설치되는 것이다.

conda package 관리는 관리자 모드로 변경한 다음에 PATH=/data/anaconda3/bin:$PATH를 실행한 뒤 착수하라. /data/anaconda2의 소유주는 일반 계정이 아니라 root다! 일반 사용자 모드에서 새로운 패키지를 설치하려는 실수는 그만!

Environment란 무엇인가

Environment란 특정 버전의 python 및 이와 연관되어 설치된 프로그램의 환경을 의미한다. conda activate 명령을 통하여 서로 다른 환경을 전환할 수 있다. 현재 설치된 환경을 알아보려면 다음의 두 가지 명령으로 가능하다. conda list는 설치된 패키지의 목록을 보여준다.

# conda info --envs
conda environments:
#
root                  *  /data/anaconda3

# conda-env list # conda-env 명령은 conda 4.6에서는 작동하지 않는 듯하다.
conda environments:
root                  *  /data/anaconda3

# conda list # 현재 활성화된 환경에 설치된 패키지 목록 출력
# conda list -n py35

python 2.7 환경 만들기

# conda create -n py27 python=2.7
...
To activate this environment, use:
> source activate py27

To deactivate an active environment, use:
> source deactivate

# conda info --envs
conda environments:

py27                     /data/anaconda3/envs/py27
root                  *  /data/anaconda3

이상의 사례는 python 2.7 환경만을 만든 것이다. 그러나 특정 python 버전과 다른 복수의 패키지를 묶어서 새로운 환경을 만드는 것이 가능하다. 만들어진 환경을 없애려면 다음과 같이 한다.

# conda-env remove -n myenv
# conda remove --name myenv all

특정 환경으로 진입하려면 source activate myenv라 실행한다. conda 4.6부터는 conda activate myenv 및 conda deactivate로 바뀌었다.

$ source activate py27
(py27) $
(py26) $ deactivate
$ 

python 2.7에서만 실행되는 패키지를 깔려면 다음과 같이 한다. 마지막 부분에 실행한 두 개의 명령어는 bioconda의 패키지를 설치하는 것이 아니라 py27 환경에 설치한 quast에 부속된 파이썬 스크립트로서 manta와 silva DB를 설치하기 위한 것이다.

# conda install -n py27 quast
# source activate py27
(py27) # quast-download-manta
(py27) # quast-download-blastdb

Bioconda 설치

제일 먼저 할 것은 채널을 설정하는 것이다. 채널이란 설치할 패키지를 찾는 공간이다(용어 설명). 이는 cloud repository일 수도 있고 혹은 내가 만든 local repository일 수도 있다. Bioconda 설치를 위한 채널 설정은 반드시 다음의 순서를 따라야 한다.

# conda config --add channels defaults
# conda config --add channels conda-forge
# conda config --add channels bioconda

설치 가능한 패키지(recipe라고도 한다)는 여기에서 확인하면 된다. 그러면 실제로 프로그램을 깔아보자.

# conda install bwa

최신이 아닌 버전의 패키지를 설치하려면 다음과 같이 한다.

# conda install hmmer=3.1b2

패키지를 지우려면 uninstall command를 쓴다. Environment를 지우는 것과는 다르다.

# conda uninstall bwa

Perl 및 BioPerl 설치

cpanm을 먼저 설치한 뒤에 BioPerl 등 필요한 모듈을 추가적으로 설치하는 것이 좋다.

$ conda install -c anaconda perl
$ conda install -c bioconda perl-app-cpanminus
$ cpanm Bio::Perl
$ perl -e 'print join "\n", @INC'
/opt/anaconda3/lib/site_perl/5.26.2/x86_64-linux-thread-multi
/opt/anaconda3/lib/site_perl/5.26.2
/opt/anaconda3/lib/5.26.2/x86_64-linux-thread-multi
/opt/anaconda3/lib/5.26.2

시스템 운용 지침

일반 사용자로서

$PATH 환경변수를 설정해야 conda/anaconda/bioconda의 모든 기능을 수행할 수 있다.

$ PATH=/data/anaconda3/bin:$PATH

특정 환경으로 진입하려면 source activate myenv를 사용한다. 일반 사용자로서 myenv라는 새로운 환경을 만들게 되면 ~/.conda/envs/myenv에 설치된다.

Superuser로서

새로운 패키지를 설치하려면 관리자 권한이 필요하다. $PATH 환경변수를 설정해야 함은 마찬가지이다.

특정 환경에 패키지 설치하기

# conda install -n py27 quast

패키지 기본 관리법

# conda list
# conda list -n py27
# conda list --export > package-list.txt
# conda create -n myenv --file package-list.txt

LS-BSR 설치 사례

GitHub site

웹 프록시의 차단으로 인하여 docker나 git 연결이 원활하지 않은 상태이다. 따라서 conda로 필요한 프로그램을 개별적으로 설치한 뒤 LS-BSR은 GitHub site에서 zip 파일을 다운로드하여 파이썬 인스톨 스크립트를 실행하였다. 따라서 conda list 명령으로는 LS-BSR의 설치 여부를 알기가 어렵다.

anaconda_installation.txt · Last modified: 2021/03/17 13:09 by 127.0.0.1