2017년 3월 17일 금요일

FALCON assembler 익히기

FALCON과 FALCON-unzip은 PacBio long read를 이용하는 de novo assembler 프로그램이다. FALCON-unzip은 진정한 의미의 diploid assembler이다. FALCON의 실행을 위한 파이썬 버전 문제, 그리고 Sun Grid Engine의 필수 여부 등과 관련하여 설치에 어려움을 겪다가 KOBIC의 지원으로 일단 테스트 러닝을 하는 데에는 성공하였다. 그러나 직접 설치를 하지 않고는 못배기는 성미로 인하여 32 코어/1테라바이트 메모리가 장착된 서버에 이를 설치하고 local job type으로 대장균 test read를 조립하는데 성공하였다. 처음에 에러 없이 실행된 결과물에서 p_contig(primary contig) 파일을 확인하니 겨우 1 megabase도 안되는 조립물이 나와서 무척 충격적이었는데, FALCON 웹사이트의 자료를 탐독한 결과 length_cutoff를 충분히 작게 잡으면(12~15 kb; -1로 설정하면 프로그램이 결정함) 제대로 된 결과가 나올 것이라고 하였다. 이 조언대로 다시 실행하여 4.6M에 이르는 대장균 염색체가 하나로 나옴을 확인하였다.

왜 나에게는 FALCON 설치가 그렇게 어려웠었나? 이 모두가 파이썬 2.6을 기본으로 갖고 있는 CentOS 6.x 배포판 덕분이다! 파이썬 2.7 이상을 설치하는 방법은 한 두 가지가 아니다.

  1. 소스로부터 패키지를 가져다 configuration & build를 한 뒤 make altinstall하기
  2. Linuxbrew로 설치하기
  3. Anaconda 사용하기
  4. pyenv 사용하기...
1 TB 서버에서 사용한 방법은 1과 3의 두가지이다. 각각 일장일단이 있다. 만약 이 컴퓨터를 나 혼자 쓴다면 Linuxbrew나 Anaconda로 최신 버전의 파이썬을 쓰도록 만들면 될 것이고, 다른 유저가 있다면 1번이 유리하다. 

파이썬만 2.7.9 버전 이상이 설치된 상태라면 다음 위키 사이트에 나온 그대로 하면 FALCON-integrate가 무사히 설치될 것이다.

https://github.com/PacificBiosciences/FALCON-integrate/wiki/Installation

그러고나서 FALCON-examples/run/ecoli로 이동하여 fc_run.cfg의 #job_type = local 라인 앞부분의 #를 삭제한다.  jobque/sge_option 등은 그대로 두거나 등호 오른쪽을 비워버려도 된다. 대신 해당 파라미터 라인을 지우면 안된다. 이제 FALCON-examples 디렉토리로 올라가서 make run-ecoli라고 하면 자동적으로 샘플 raw data를 다운로드한 뒤 조립에 착수한다. 

설치 직후 로그아웃을 한 뒤 다시 접속한 상태라면 PYTHONUSERBASE와 PATH 환경변수를 제대로 설정해야 한다. 정 귀찮으면 FALCON-integrate 디렉토리고 가서 source env.sh를 실행한 뒤 테스트 런을 하면 된다.

소스로부터 설치한 파이썬 2.7 버전을 활용과 동시에 추가적인 패키지를 설치하려면 도대체 python interpreter를 어떻게 불러야 하는지 지금껏 고민을 하고 있었다. python2.7이라고 써야 하는건지 아닌지 고민이 많았었는데, 그저 PATH=/path/to/python2.7:$PATH라고 하면 되는 것이었다. 그러면 필요한 패키지는 2.7 버전에 맞는 제 위치에 설치될 것이고(관리자 권한이 있는 경우), 아니면 PYTHONUSERBASE 환경변수를 잘 활용하면 되는 것이었다. 이렇게 허무할 데가!

지식의 샘을 팔수록 무식의 깊이가 깊어짐을 느낀다. 이것이 진정한 깨달음인가?

댓글 없음: