2015년 9월 25일 금요일

CEGMA 환경 설정 마무리 및 첫 실행

이전 포스팅에서도 언급했듯이 CEGMA는 유전체 조립의 완결성을 검증하는 도구가 아니고 - 그런 목적으로 사용해도 되지만 - 미리 확정된 ultra-conserved gene의 구조를 새로운 유전체 서열로부터 찾는 것을 기본 목적으로 한다. CEGMA를 실행할 때 옵션으로 넣어주는 단백질 서열은 입력용 서열에서 gene prediction을 통해 찾은 유전자를 번역한 서열을 넣는 것이 아니다. 이것 때문에 초기 실행에서 약간의 혼동이 있었다.

CEGMA를 실행하려면 geneid, wise2(genewise), 그리고 blast+가 필요하다. 예전에는 설치한 프로그램의 바이너리가 있는 디렉토리를 전부 .bash_profile 파일에서 PATH 환경변수에 추가하고는 했는데 이제는 꼭 필요한 것만을 별도의 스크립트에 설정한 뒤 본 프로그램 직전에 실행하는 것이 더 깔끔하다는 생각이 든다.

예를 들어 이런 상황을 가정해 보자. 평소에는 blast+ 2.2.30을 쓰고 있지만 CEGMA를 위해서는 blast+ 2.2.28로 돌아가야 한다. CEGMA를 쓰기 위해 매번 .bash_profile을 수정하는 것은 번거로운 노릇이 아닐 수 없다. 그렇다면 .bash_profile에는 blast+ 2.2.30을 PATH에 추가해 두고, CEGMA 실행 전 스크립트에서 PATH를 재설정하면 된다. CEGMA 설치용 파일은 /usr/local/apps/에 풀었다. geneid는 이미 /usr/local/bin/에 복사해 놓았다.

$ cat pre-cegma.sh
#!/bin/sh
PATH=$(getconf PATH)
PATH=$PATH:/usr/local/bin:$HOME/bin:$HOME/script
PATH=$PATH:/usr/local/apps/wise2.4.1/src/bin
PATH=$PATH:/usr/local/apps/ncbi-blast-2.2.28+/bin
PATH=$PATH:/usr/local/apps/CEGMA_v2/bin
WISECONFIGDIR=/usr/local/apps/wise-2.4.1/src/../wisecfg/
CEGMA=/usr/local/apps/CEGMA_v2
CEGMATMP=./cegmatmp
PERL5LIB=$PERL5LIB:/usr/local/apps/CEGMA_v2/lib
export PATH WISECONFIGDIR CEGMA CEGMATMP PERL5LIB
이상과 같은 스크립트를 만들어두고  CEGMA 실행 직전에 . pre-cegma.sh라고 하면 된다. getconf 명령의 결과는 아주 재미있다.
$ echo $(getconf PATH)
/bin:/usr/bin
그러니 pre-cegma.sh와 CEGMA 실행이 다 끝난 뒤에 getconf로 PATH를 싹 재설정하고 .bash_profile을 다시 실행해도 /usr/local/bin은 PATH에 자동으로 추가되지 않으니 주의하기 바란다. .

CEGMA를 실행해 보자. 임시 디렉토리인 ./cegmatmp는 미리 만들어 두어야 한다. 첫단계인 tblastn은 잘 되었는다 다음 단계인 genewise 실행에서 문제가 생겨서 중단이 되었다고 가정하자. 문제를 해결하고 다시 실행하려면 tblastn 결과는 이미 만들어진 것을 쓰면 된다. 이러한 경우에는 -t 라고 옵션을 주면 된다. 출력 파일의 접두사는 -o 로 지정한다.
$ cegma -g Candida_contigs2.fa -T 20
이제 CEGMA가 잘 실행될 것이다. 결과 파일(output.completness_report)은 다음과 같다.



댓글 없음: