계통수를 그린다는 것은 여러 phylogenetic level에서 가능한 것이다. Bacillus cereus group(대표적인 구성원으로는 B. cereus, B. thuringiensis and B. anthracis) 처럼 최소한 수십 종의 세균이 서로 제대로 구별이 되지 않는 사례를 생각해 보자. 아래의 논문에서는 whole-genome sequence-based BLAST distance phylogeny(GBDP), 16S rRNA gene analysis 및 새로운 MLSA(논문에서는 a novel variant of multi-locus sequencing analysis, nMLSA라고 부름)을 사용, 224개 스트레인의 유전체 서열을 분석하여 이들이 30개의 클러스터로 분류되며 이 중에서 11개는 알려진 종이지만 일부분은 서로 겹치는 것을 보고하였다.
Genomic insights into the taxonomic status of the Bacillus cereus group. SCIENTIFIC REPORTS | 5:14082 | DOI: 10.1038/srep14082 (PubMed) ... 2015년
이 논문에서는 pXOn 플라스미드와 cry 유전자와 같이 B. cereus 그룹 연구에서 중요한 주제를 역시 다루고 있지만 오늘의 블로그 포스팅에서는 생략하도록 하자. MLSA에는 꼭 이 유전자 세트를 써야 한다고 정해진 것은 없다. Prokaryotic taxonomy에 입각한 MLSA에 관한 다음의 최신 리뷰를 보면 공부가 될 것이다.
Multilocus sequence analysis (MLSA) in prokaryotic taxonomy. Systematic and Applied Microbiology 38(4) 237-45, 2015. (Science Direct)
위에서 언급한 Bacillus cereus group 논문에서는 미생물의 생존에 필수적인 것으로 알려진 최소 유전자 세트(233개의 단일 카피 유전자, 근거 논문은 Determination of the core of a minimal bacterial gene set. Microbiol Mol Biol Rev 68, 518–537 (2004))에서 해상도가 좋은 것으로 생각되는 20개 유전자를 골랐다고 한다. 계통수의 시각화에는 iTOL(interactive tree of life) 웹 서버가 사용되었다.
Intraspecies analysis
동일 종 내에서 서로 다른 스트레인들이 어떻게 진화해 나가는지를 살펴볼 세밀한 계통수를 원한다면 이상의 방법과는 다른 전략을 구사해야 한다. 내가 어제부터 집중적으로 들여다보기 시작한 것도 바로 이 분야이다. 종 내의 비교 분석이라면 SNP을 추출하여 사용하는 것이 가장 바람직할 것이다. 가장 간단하게는 하나의 reference genome을 선정하여 다른 비교 대상으로부터 생산된 short read를 여기에 매핑한 뒤 SNP을 추출하여 계통수를 그리는 것이다. 이를 reference-mapping-based phylogeny reconstruction이라고 부르자. REALPHY(Mol. Biol. Evol. 31(5):1077–1088 doi:10.1093/molbev/msu088 2014년)는 하나의 reference를 설정함으로 인하여 생기는 오류를 감안한 분석 도구이다. 매우 감사하게도, reference와 비교 샘플(genome fragments or sequence reads)를 업로드하여 트리까지 그려주는 웹 서버를 공개하였다.
두번째로 살펴본 논문은 PhyME에 관한 것이다(bioRxiv 2015). 이 프로그램은 read, draft 혹은 complete genome sequence를 입력으로 하여 core genome alignment를 수행하고, SNP를 동정한 뒤 계통수를 작성하고 진화 분석을 실시하는 도구이다. REALPHY나 PhyME 모두 whole-genome SNP를 이용한 계통수 작성 도구라고 보면 된다. PhyME를 사용하기 위해 필요한 외부 프로그램이 꽤 있지만 INSTALL.sh 설치 스크립트를 실행하면 알아서 다운로드하여 하위 디렉토리에 깔아준다. 사전에 필요한 프로그램 설치가 늘 나를 괴롭히는데, metAMOS에서 이미 충분히 경험하였다.
PhyME 패키지에 포함된 샘플 데이터셋을 분석해 보았다. phame.ctl 파일을 편집하여 환경 설정을 하게 되어있다. 레퍼런스 디렉토리에는 총 9개의 에볼라 바이러스 유전체(complete 상태이며 각 19kb)가 들어있는데 이 중에서 annotation(GFF3)을 동반한 KJ660347이 reference로 지정되었다. 비교 샘플은 complete sequence와 contig가 섞인 상태이다. 기본 설정으로는 FastTree를 이용하여 계통수를 그리게 되는데, RAxML도 선택 가능하다. 트리는 whole genome SNP 및 CDS SNP x 2(unrooted & rooted)의 총 4개가 만들어진다. 여기에서 알 수 있듯이 coding 영역에 발생한 SNP를 동정하려면 reference genome sequence와 더불어 GFF3 file이 필요한 것이다.
트리 파일은 newick 포맷이라서 여러가지의 시각화 도구를 이용하여 그림을 그리면 된다. 간단하게 웹 브라우저에서 트리 그림을 볼 수 있는 treeview에 파일 내용을 copy & paste를 해 보았다.
마지막으로 살펴본 논문은 Roary에 관한 것이다(Bioinformatics, 31(22), 2015, 3691–3693). 이 프로그램은 원래 SNP 분석이 아니라 미생물의 pan genome analysis를 위한 것이다. 즉, 여러 종류의 미생물 유전체를 비교하여 공통적으로 존재하는 유전자를 찾아내는 것이 주된 목적이다. 그렇지만 core gene alignment 파일이 만들어지기 때문에 이를 활용하여 여러가지 다른 분석을 할 수가 있다. 막상 Roary를 설치하려고 보니 Fedora나 CetOS에서는 linuxbrew라는 매우 생소한 패키지 매니저를 사용하도록 되어있다. 그러나 매우 불행하게도 linuxbrew를 이용하여 NCBI blast+를 빌드하다가 에러가 발생하고 말았다. linuxbrew는 루트 권한 없이도 프로그램 환경을 구축해주는 아주 편리한 도구이지만, 이미 깔려 있는 라이브러리와 충돌하는 문제가 발생하는 것으로 보인다. 그래서 임시방편으로 사무용 컴퓨터(윈도 7)에 VirtualBox를 설치하여 우분투 16.04 환경을 구축한 뒤, sudo apt-get install roary 명령어 한 방으로 설치를 모두 끝냈다. 유전체 주석화를 위하여 필수적인 도구인 prokka는 여기를 참조하여 설치하였다. 주로 CentOS에서 작업을 하고는 있으나 '신선하게' Ubuntu를 설치한 시스템이 결국은 필요하다는 생각이 점점 엄습해 온다!
Roary pan genome analysis tutorial은 여기에 있다. 내가 특별히 관심을 갖는 결과물은 각 genome이 공통적으로 가지는 유전자의 여부를 매트릭스 형태로 표현한 gene_presence_absence.csv 파일이다. 이를 core gene alignment 파일과 같이 사용하여 다음과 같은 pan genome matrix 그림을 그릴 수 있다. 이 그림의 작성법은 tutorial에는 없고 여기의 Visualizing Results 항목을 참조해야 한다. Roary 실행에서 tree file이 기본적으로 주어지지는 않으므로, core gene alignment 파일을 FastTree에 투입하여 만들어야 한다.
그림 출처: https://github.com/microgenomics/tutorials/blob/master/pangenome.md |
오늘 소개한 것들은 매우 가까운 미생물 유전체들의 비교 분석에 쓰이는 도구들의 일부에 불과하다. 그 배경을 이루는 이론적 지식을 습득해 나가는 것은 앞으로의 숙제가 되겠다. 소프트웨어 도구를 찾는 과정에서 독일 하이델베르크에 위치한 Exelixis 연구실을 알게 된 것도 예상하지 못했던 성과 중 하나이다. "Our Mission - Enable Research in Evolutionary Biology" 멋있지 않은가?
댓글 없음:
댓글 쓰기