454에 기반한 fungal genome project를 하나 진행하고 있다. Genome size는 9 Mb 남짓이지만, 이것도 eukaryotic genome이라 세균에서는 접하지 못했던 약간의 고난이도의 repeat에 직면하게 되었다. GS assembler가 현재로서는 가장 만만한(?) 도구이지만, repeat에 의해 발생한 misassembly가 눈에 뜨이는 것은 사실이다. 정확도를 높이기 위한 방편으로서 mira를 활용해 보기로 한다.
mira 버전 3이 나오면서 설치 방법도 약간 까다로와졌다. boost C++ library(>=1.35)라는 것을 깔아야 하는데, CentOS 5에는 1.33이 설치되어 있으며 이보다 높은 버전의 rpm package는 아직 없다. 어찌어찌하여 boos 1.42의 소스를 구해서 설치하는데 이것도 쉽지가 않다. 압축만 풀면 단지 헤더 파일만 설치될 뿐이다. 나에게 필요한 것은 boost library binary이다. 설치 디렉토리에 가서 다음의 것을 해 주어야 한다.
$ ./bootstrap.sh --prefix=path/to/installation/prefix
$ ./bjam install
라이브러리 바이너리는 /usr/local/lib으로 하였다. $LD_LIBRARY_PATH를 설정해 주어야 mira의 빌드가 비로소 가능해졌다. mira는 매뉴얼 파일도 전부 tex 소스로 되어 있어서 이것 역시 애를 먹었다. make docs를 해야 man, html 등의 파일이 나오는데, latex2man이라는 유틸이 있어야 한다. 이것은 소스 rpm을 받아다가 설치했다. CenOS로 전환한 이후로 항상 yum으로 대충 패키지를 설치하고는 했는데, 소스 rpm을 풀어서 컴파일한 것은 이번이 처음이다. rpm -ivh <패키지명>을 실행하면 /usr/src/redhat/SOURCES에 tar.gz 파일이 생성된다. 이것을 풀어서 설명 대로 빌드하고 설치하면 된다.
Sanger/454 hybrid assembly
454 data만으로 작업을 하는 것은 비교적 쉽다. 하지만 Sanger data를 같이 섞어서 합체하는 경우 약간의 수고를 들여야 한다. Quality file을 수반한 FASTA sequence file, 그리고 NCBI TRACEINFO XML 파일이 필요하다. 최소한 vector clip은 되어 있어야 한다. 내가 쓰는 방식은 phred/cross_match를 통해 screening을 실시한 다음, PHD file을 참조하여 XML 파일 내에 clip quality left/right 정보를 넣는 것이다. 단, PHD file 내에 trim: -1 -1로 정의된 것은 clip quality position이 무의미하므로, 아예 서열 파일 뭉치에서 제거해 버리는 것이 낫다.
다음의 순서를 따르면 된다.
1. phred/cross_match를 실시하여 screened fasta file 및 qual file을 만든다.
2. trim range가 최소 100 bp인 read만을 골라내어, 즉 successful read만으로 구성된 screened fasta file 및 quality file을 만들어라. 어떻게 하냐고? 이럴 때 바로 BioPerl을 쓰는 거다.
3. traceinfo 파일을 만들어라.