루트 권한을 가지고서 소스로부터 설치하는 방법이 있는가 하면, pyenv를 쓰는 방법이 있다. 다른 버전을 그대로 둔 상태에서 평화롭게 공존하도록 설치해야 함이 관건이다.
소스로부터 설치하기
GCC는 여전히 4.4.7이다. linuxbrew가 설치된 상태이므로 su 명령으로 관리자 권한을 획득하면 GCC 5.3.0을, su -로 전환하면 GCC 4.4.7을 쓰게 된다. GCC 4.4.7로는 make test를 통과하지 못했다. 따라서 GCC 5.3.0을 쓰기로 한다. 가장 마지막 단계에서 "make altinstall"을 하는 것이 매우 중요하다. 만약 make install을 해 버리면 기존의 python 명령어를 덮어쓸 것이고, 어떤 문제가 생길지 나도 모른다!
# ./configure --prefix=/usr/local # make # make test # make altinstall ... Installing collected packages: setuptools, pip Successfully installed pip-8.1.1 setuptools-20.10.1 # ls /usr/local/bin/python* /usr/local/bin/python2.7 /usr/local/bin/python3.4m /usr/local/bin/python3.5m /usr/local/bin/python2.7-config /usr/local/bin/python3.4m-config /usr/local/bin/python3.5m-config /usr/local/bin/python3.4 /usr/local/bin/python3.5
여기서 궁금증이 발생한다. python3이 관여하는 pip-8.1.1이 도대체 어디에 있단 말인가? 테스트를 해 보자.
# pip -V pip 8.1.2 from /usr/local/lib/python3.5/site-packages (python 3.5) # pip2 -V pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7) # pip3 -V pip 8.1.2 from /usr/local/lib/python3.5/site-packages (python 3.5) # exit $ pip -V pip 8.1.2 from /home/hyjeong/.linuxbrew/Cellar/python/2.7.12_1/lib/python2.7/site-packages (python 2.7) $ pip2 -V pip 8.1.2 from /home/hyjeong/.linuxbrew/Cellar/python/2.7.12_1/lib/python2.7/site-packages (python 2.7) $ pip3 -V pip 8.1.2 from /usr/local/lib/python3.5/site-packages (python 3.5)
정말 복잡한 환경이다!
pyani 설치하기
관리자 권한으로 pip3 install pyani를 실행하니 GCC 5.3.0에서는 에러가 발생한다. GCC 4.4.7에서는 잘 설치가 되었다. 도대체 왜 이렇게 복잡한 것인가... 어쨌든 설치는 했으니 실행을 해 보자. average_nucleotide_identity.py가 핵심 스크립트이다. output directory는 이미 존재하는 디렉토리를 지정하면 안된다. 특별히 지정하지 않으면 mummer를 사용하여 순식간에 nucleotide 간의 identity를 계산한다. 가용한 thread를 다 사용하여 계산을 하니 당연한 결과일지도 모른다.
$ average_nucleotide_identity.py -v -i . -o out -g
결과 그림을 보자. 어쩌면 앞으로는 JSpecies를 쓰지 않게 될지도 모르겠다.
pyani는 NCBI tax ID를 이용하여 한번에 유전체 정보를 내려받을 수 있는 스크립트인 genbank_get_genomes_by_taxon.py도 포함하고 있다. ANI 분석을 할 때 매우 유용하게 쓸 수 있을 것이다. 너무 많은 genome 파일을 내려받지만 않을 수 있다면 말이다.
pyenv는 어떻게 하라고?
홈 디렉토리에 .pyenv라는 디렉토리가 있는 것으로 보아 분명히 pyenv를 설치하여 사용한 경험이 있다! 각 파이썬 버전은 ~/.python/version에 설치하도록 되어있다. 소스로부터 /usr/local에 이미 python 3.x를 설치해 버렸으니 pyenv를 경유하여 쓰도록 다시 설치하는 것은 혼란을 줄 여지가 있다. 우선은 그냥 두자!
댓글 없음:
댓글 쓰기