2017년 9월 28일 목요일

SMALT aligner (Sanger Institute)

감염균 유전체의 대용량 분석에 관한 논문을 보다가 SMALT라는 새로운 short read mapping 프로그램을 사용했다는 기록을 자주 보게 되었다. Bowtie와 BWA라는 고전적인 도구가 있는데 왜 Sanger Institute에서는 자체적인 프로그램을 만든 것일까? 공식 웹사이트에 가서 SMALT에 대한 간단한 설명을 읽어보았다.
SMALT employs a hash index of short words up to 20 nucleotides long and sampled at equidistant steps along the reference genome. For each sequencing read, potentially matching segments in the reference genome are identified from seed matches in the index and subsequently aligned with the read using dynamic programming.
Reference indexing 작업을 할 때 일정한 간격으로 짧은 word로 이루어진 hash index를 만들어 둔 뒤 read의 매핑 단계에서 이를 사용하여 빠른 seed match를 찾은 다음 dynamic programming으로 제대로 정렬을 한다는 것이 특징이다. 흠, 그렇구나... 그러면 나는 BWA, bowtie(bowtie2), BBMap 등의 원리와 특성을 정말 이해하고 있으며 이를 간략하게 설명할 수 있는가?

답은 '아니오'이다. 그저 쓰기 편하고 실행 속도가 빠른 것을 선호할 뿐이다. 어제부터 SMALT를 써 보는 중인데 bowtie2보다는 조금 더 빨리 적응하고 있다.

시카고 대학의 A. Murat Eren 교수가 여러 mapping tool을 비교한 결과를 웹에 공개하였기에 이를 소개해 본다. 아직 공개되지 않는 metagenomic read를 bowtie, bowtie2, BBmap, BWA, CLC, GSNAP, Novoalign 및 SMALT로 매핑하여 Anvi'o로 그 결과를 시각화한 것이다.

Comparing different mapping software using anvi'o

Anvi'o는 또 무엇인가? 2015년 PierJ에 Eren이 발표한 플랫폼이다. 논문의 제목은 Anvi'o: an advanced analysis and visualization platform for 'omics data. JGI에서도 워크샵을 열 정도이니 매우 인기를 끄는 도구임에는 틀림이 없다. 워크샵은 바로 이번주 월-화 양일간 있었다!(An anvi'o workshop at the Joint Genome Institute) 심지어 이런 말까지 있었다.

I know that people rave about it and the visualizations it produces look really fool.

같은 사이트(microBEnet, microbiology of the built environment network)에 Eran이 쓴 글을 또 하나 소개해 본다. 제목은 Anvi'o: a new platform to work with metagenomic data. 여기에서는 STAMPS(Strategies and Techniques for Analyzing Microbial Population Structure)라는 교육 코스에 대한 언급도 있었다.

본론으로 돌아가서, 여러 short read aligner가 만들어낸 결과를 Anvi'o가 어떻게 표현하는지 살펴보자. 결과물을 전부 합쳐서 표현하는 것도 가능하다. 이 글에 결과 수치를 인용하지는 않았지만 percent mapped read로만 판단한다면 bbmap, gsnap, novoalign, smalt가 가장 많은 read를 reference에 붙였다.


그러나 mapping rate가 성적표를 구성하는 유일한 과목은 아니다. 상대적으로 많은 read를 붙인 프로그램일수록 SNP처럼 보이는 것이 더 많이 나오기 때문이다. 결론에서는 mapping parameter를 최적화하여 각 프로그램들이 내놓는 결과를 비슷한 수준으로 만들 수 있다고 하였다. 따라서 default parameter를 사용함에 있어서 주의를 기울이라는 것이다.

댓글 없음: