User Tools

Site Tools


running_phylopythias_under_ubuntu

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
running_phylopythias_under_ubuntu [2017/05/02 18:29] – [최초 실행하기] hyjeongrunning_phylopythias_under_ubuntu [2021/03/17 13:09] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Running PhyloPythiaS+ (PPS+ or PPSP) under Ubuntu ====== ====== Running PhyloPythiaS+ (PPS+ or PPSP) under Ubuntu ======
 ===== 개요 ===== ===== 개요 =====
-PPSP는 metagenomic sequence에 대한 자동적인 taxonomic binning을 실시하는 도구이다. 입력물은 contig/scaffold sequence, 혹은 1 kb 이상의 long read가 전부 가능하다. 원래 expert analysis를 필요로하는 PhyloPhytiaS를 개선하여 이 과정을 자동화함과 동시에 marker gene에 의한 분석이 추가된 것이다. +PPSP는 metagenomic sequence에 대한 자동적인 taxonomic binning을 실시하는 도구이다. 입력물은 contig/scaffold sequence, 혹은 1 kb 이상의 long read가 전부 가능하다. 원래 expert analysis를 필요로하는 PhyloPytiaS를 개선하여 이 과정을 자동화함과 동시에 marker gene에 의한 분석이 추가된 것이다. 
   * 논문(//PhyloPythiaS+//: a self-training method for the rapid reconstruction of low-ranking taxonomic bins from metagenomes. [[https://peerj.com/articles/1603/|PeerJ 2016]]) [[https://github.com/algbioi/ppsp/blob/master/Installation_instructions.pdf|Supporting Text S2 (installation instructions)]] [[https://github.com/algbioi/ppsp/blob/master/Tutorial.pdf|Supporting Text S3 (tutorial)]]   * 논문(//PhyloPythiaS+//: a self-training method for the rapid reconstruction of low-ranking taxonomic bins from metagenomes. [[https://peerj.com/articles/1603/|PeerJ 2016]]) [[https://github.com/algbioi/ppsp/blob/master/Installation_instructions.pdf|Supporting Text S2 (installation instructions)]] [[https://github.com/algbioi/ppsp/blob/master/Tutorial.pdf|Supporting Text S3 (tutorial)]]
   * [[https://github.com/algbioi/ppsp/wiki|위키 사이트]]   * [[https://github.com/algbioi/ppsp/wiki|위키 사이트]]
   * PPS+ 프로그램 다운로드(GitHub)   * PPS+ 프로그램 다운로드(GitHub)
-(주의) 원래는 Oracle VirtualBox용 가상머신 이미지를 제공하여 사용하는 것을 기본으로 하고 있다. 그러나 ova 파일을 다운로드할 수 있는 [[http://algbio.cs.uni-duesseldorf.de/software/ppsp/1_4/ppsp_1_4_vm_64bit.ova|URL]]이 현재 유효하지 않은 것 같다. Reference DB 역시 그러하다.--- //[[hyjeong@kribb.re.kr|Haeyoung Jeong]] 2017/05/02 15:59//+(주의) PPS+ 개발자는 Oracle VirtualBox용 가상머신 이미지를 제공하여 사용하는 것을 권장한다. 그러나 ova 파일을 다운로드할 수 있는 [[http://algbio.cs.uni-duesseldorf.de/software/ppsp/1_4/ppsp_1_4_vm_64bit.ova|URL]]이 현재 유효하지 않은 것 같다. Reference DB 역시 그러하다.--- //[[hyjeong@kribb.re.kr|Haeyoung Jeong]] 2017/05/02 15:59//
 ===== Ubuntu 환경 준비 ===== ===== Ubuntu 환경 준비 =====
 PPS+를 우분후 환경에 설치하는 것은 가상머신을 그대로 가져다 임포트하여 쓰는 것보다는 조금 불편하다. 대신 하드웨어 성능을 최대한으로 활용할 수 있다는 장점이 있다. 2012년 5월 도입하여 만 5년 동안 업무용으로 사용했던 컴퓨터(Intel Xeon E5520, 메모리 16 GB, NVIDIA GTS 450 그래픽스 카드)에 우분투 데스크탑 **16.04 LTS**를 설치한 후 PPS+를 설치하여 활용하고자 하였다. Installation instructions 문서에서는 우분투 12.04 LTS를 기준으로 기술하고 있다. 우분투 PPS+를 우분후 환경에 설치하는 것은 가상머신을 그대로 가져다 임포트하여 쓰는 것보다는 조금 불편하다. 대신 하드웨어 성능을 최대한으로 활용할 수 있다는 장점이 있다. 2012년 5월 도입하여 만 5년 동안 업무용으로 사용했던 컴퓨터(Intel Xeon E5520, 메모리 16 GB, NVIDIA GTS 450 그래픽스 카드)에 우분투 데스크탑 **16.04 LTS**를 설치한 후 PPS+를 설치하여 활용하고자 하였다. Installation instructions 문서에서는 우분투 12.04 LTS를 기준으로 기술하고 있다. 우분투
Line 11: Line 11:
   - 이더넷 어댑터 설정   - 이더넷 어댑터 설정
   - 업데이트(sudo apt-get update && sudo apt-get upgrade) 후 재부팅(update만 입력하면 실제 업그레이드는 되지 않는다. yum과는 좀 다름). sudo apt-get dist-upgrade는 어떤 명령어인가? 나중에 알아보자.   - 업데이트(sudo apt-get update && sudo apt-get upgrade) 후 재부팅(update만 입력하면 실제 업그레이드는 되지 않는다. yum과는 좀 다름). sudo apt-get dist-upgrade는 어떤 명령어인가? 나중에 알아보자.
-  - SSH 설정(sudo apt-get install openssh-server; /etc/ssh/sshd_config를 편집하여 Port 변경; sudo systemctl restart sshd.service)+  - SSH 설정(sudo apt-get install openssh-server; /etc/ssh/sshd_config를 편집하여 Port 변경; sudo systemctl restart sshd.service) <= 12.04LTS에서는 sshd 서비스를 기동하는 명령이 약간 다르다.
  
 실로 오랜만에 우분투가 설치된 컴퓨터(가상머신이 아닌)를 갖게 되었다. 내가 사용하는 모든 리눅스 서버에는 CentOS가 설치되어 있다. 실로 오랜만에 우분투가 설치된 컴퓨터(가상머신이 아닌)를 갖게 되었다. 내가 사용하는 모든 리눅스 서버에는 CentOS가 설치되어 있다.
Line 32: Line 32:
   $ sudo apt-get install vim   $ sudo apt-get install vim
   $ sudo apt-get install git   $ sudo apt-get install git
 +
 +rubygems과 libsqlite3-ruby1.8은 Ubuntu 12.04 LTS에서 설치할 때에는 아무런 오류 메시지 없이 지나갔었다. 어쩌면 Ununtu 16.04 LTS에서는 패키지들의 이름이 바뀌거나 다른 패키지에 해당 기능이 포함되었는지도 모른다. [[http://packages.ubuntu.com/|Ubuntu package search 사이트]]에서 약간의 힌트를 얻을 것으로 기대하였으나 rubygems 패키지는 무슨 용도인지 아직 파악하기 어렵다. python으로 치자면 pip와 유사한 것이라는 생각이 드는데...
 +  * Package rubygems (12.04LTS): package management framework for Ruby libraries/applications 
 +  * Package rubygems (16.04LTS): Virtual package. Provided by ruby
 +  * Package libsqlite3-ruby1.8 (12.04LTS): transitional package for ruby-sqlite3
 ==== 디렉토리 구성 ==== ==== 디렉토리 구성 ====
 먼저 /mnt/host_shared 디렉토리를 만든다. 여기에는 모든 reference data가 복사될 것이다. 다른 곳에 압축을 푼 뒤 심볼릭 링크를 만들어도 무방하다. 압축파일로서 크기는 약 13 GB이다. 원래 PPS+ 프로그램을 설치한 다음 여기에 포함된 update -r  <reference data> 명령으로 이를 다운로드하여 설치하는 것이 정석이다. 그러나 무슨 이유인지 update 명령이 작동하지 않는다. 아마도 서버의 주소에 문제가 생긴 것으로 보인다. 따라서 이전에 시험삼아 설치하였던 reference_NCBI2014513.tar.xz 파일을 이용하기로 하였다. **xz**는 다소 생소한 압축 파일 포맷이다. 먼저 /mnt/host_shared 디렉토리를 만든다. 여기에는 모든 reference data가 복사될 것이다. 다른 곳에 압축을 푼 뒤 심볼릭 링크를 만들어도 무방하다. 압축파일로서 크기는 약 13 GB이다. 원래 PPS+ 프로그램을 설치한 다음 여기에 포함된 update -r  <reference data> 명령으로 이를 다운로드하여 설치하는 것이 정석이다. 그러나 무슨 이유인지 update 명령이 작동하지 않는다. 아마도 서버의 주소에 문제가 생긴 것으로 보인다. 따라서 이전에 시험삼아 설치하였던 reference_NCBI2014513.tar.xz 파일을 이용하기로 하였다. **xz**는 다소 생소한 압축 파일 포맷이다.
Line 38: Line 43:
   $ cd /mnt/host_shared   $ cd /mnt/host_shared
   $ sudo cp path-to-reference/reference_NCBI2014513.tar.xz .   $ sudo cp path-to-reference/reference_NCBI2014513.tar.xz .
-  $ sudo xz -d reference_NCBI2014513.tar.xz +  $ sudo xz -d reference_NCBI2014513.tar.xz (상당한 시간이 소요됨) 
-  $ sudo tar xvf reference_NCBI2014513.tar +  $ sudo tar xvf reference_NCBI2014513.tar (상당한 시간이 소요됨)
-  $ sudo tar xvf reference_NCBI20140513.tar+
      
 다음으로는 /apps/pps 디렉토리를 만들고, /mnt 아래에 /apps의 심볼릭 링크를 만든다. 약간 혼동스러우니 조심하여 실행한다. 다음으로는 /apps/pps 디렉토리를 만들고, /mnt 아래에 /apps의 심볼릭 링크를 만든다. 약간 혼동스러우니 조심하여 실행한다.
Line 51: Line 55:
   $ sudo cp * /apps/pps   $ sudo cp * /apps/pps
   $ cd /apps/pps   $ cd /apps/pps
-  $ sudo 7za x ppsp_distribution.7z  (distr/ 아래에 압축이 풀림; 상당한 시간이 소요됨)+  $ sudo 7za x ppsp_distribution.7z  (distr/ 아래에 압축이 풀림)
   $ sudo mv distr/* .   $ sudo mv distr/* .
  
Line 71: Line 75:
      
 ==== 최초 실행하기 ==== ==== 최초 실행하기 ====
 +test_3strains.fna 파일이 수록한 유전체 서열 정보는 다음과 같다(total ~19 Mb). ambiguous base의 최대 크기는 nnnnnn(N=6)이다. 쉽게 말해서 sequence gap을 long 'nnnnn...n'으로 포함하지 않은, 순수한 contig sequence에 해당한다. 
 +
 +  2825 19090046 52316 10355 6757  (count, total, max, n50, average)
 +
 +
   $ time ppsp -c /apps/pps/tools/config_ppsp_vm_refNCBI20140513_example.cfg -n -g -o s16 mg -t -p c -r -s   $ time ppsp -c /apps/pps/tools/config_ppsp_vm_refNCBI20140513_example.cfg -n -g -o s16 mg -t -p c -r -s
   ...   ...
Line 86: Line 95:
   user 9m19.720s   user 9m19.720s
   sys 0m12.852s   sys 0m12.852s
 +
 +==== 실패의 원인은 무엇일까? ====
 +아무래도 ruby의 버전이 문제인 듯하다.
 +  $ ruby -v
 +  ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
 +ruby1.8을 설치했다고 믿었는데 그렇지가 않은 모양이다. 이젠 ruby까지 공부해야 하는가?
 +
 +==== 우분투 버전을 바꾸어서 해결하다 ====
 +동일 서버에 ** Ubuntu 12.04LTS**를 재설치하여 PPS+와 레퍼런스 데이터를 재설치한 뒤 테스트 러닝을 실시하니 무사히 끝났다. 요즘 기준으로 12.04LTS는 매우 오래된 배포판이지만 어쩔 도리가 없다. 설치 후 해야할 작업을 적어보자.
 +  * SSH 데몬 구동
 +  * NVIDIA GTS 540 드라이버 설치: sudo apt-get install nvidia-current
 +나머지 필요한 작업은 위에서 살펴본 **우분투에 PPSP 설치하기**를 그대로 적용하면 된다.
 +
  
      
-==== 일반적인 행 방법 ====+===== 가상 머신을 이용한 활용 사례 ===== 
 +64비트 Oracle VirtualBox([[http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html|다운로드 링크]])를 설치한 뒤 가상머신 파([[http://algbio.cs.uni-duesseldorf.de/software/ppsp/1_4/ppsp_1_4_vm_64bit.ova|다운로드 링크)]]을 가져다가가 파일->가상 시스템 가져오기...로 불러서 임포트하면 된다. 문제는 2017년 5월 4일 현재 이 .ova 파일의 다운로드 링크가 유효하지 않다는 것이다. 가상머신을 최초로 부팅하기 전에 공유 폴더를 설정해야 한다. 가상머신 안에서 /mnt/host_shared로 마운트되는 영역을 제 디스크 드라이브 내의 적정한 곳에 지정하라. 그 다음으로는 여기에 reference data를 풀어야 한다. 
 +==== Windows 10 ==== 
 +==== CentOS ==== 
 + 
 +==== macOS Sierra(10.12.4) ==== 
 +설치 환경은 VirtualBox 5.1.20이다. 가상머신을 임포트하여 공유 폴더를 설정한 뒤 부팅을 하니 /mnt/apps/ppa/tools/ 디렉토리가 없는 것을 발견하였다. ppsp 등 중요한 프로그램은 여기에 있어야 한다. GitHub에서 가져온 압축파일을 풀어서 해당 디렉토리를 복사해 넣었다. 테스트 러닝에는 약 두 시간이 소요되었다. 참고로 [[ppsp_output_screen]]출력 화면을 캡쳐하여 소개한다. 
  
 +===== 일반적인 실행 방법 =====
  
running_phylopythias_under_ubuntu.1493717385.txt.gz · Last modified: (external edit)