바이오인포매틱스

somatic mutation 찾기

hongiiv 2014. 4. 8. 08:58
반응형
저번 포스팅에서는 일반적인 snp/genotype calling 메소드에 대해서 알아보았다. 이번에는 cancer분석에서의 somatic mutation 분석에 대해서 살펴보도록 하자. 이번 포스팅에서는 "Virmid: accurate detection of somatic mutations with sample impurity inference"라는  논문을 사용?할 것이다.

일반적으로 암 분석을 한다는 것 즉 somatic mutation을 찾는것은 variant calling의 하나로 NGS가 clinical로 가기 위한 기본적인 단계라고도 할 수 있다. somatic mutation을 찾는 전통적인 방법은 샘플 (normal/disease 또는 normal/cancer 또는 control/mixed disease sample이라고 각각 부른다.)에 대해서 각각 variant를 calling하고 두 샘플에서의 variants의 차이를 비교하는 것이다. 이는 단순한 비교를 통한 분석으로 최근에는 disease-control의 두 샘플을간의 joint probabilities를 계산을 통해서 true somatics mutation을 분리한다. 이와 더불어 de novo mutations을 찾기 위한 다양한 연구들이 진행되었다. 위에서 언급한 단순 비교를 지원하는 Traditional approaches 툴로는 VarScan이나 SomaticSniper가 있으며, joint probabilities를 지원하는 툴로는 VarScan2나 JointSNVMix가 있다. 
뭐 어찌되었든 간에 cancer 분석에 있어서 다양한 시도들이 이루어지고는 있는 상황에서 somatic muntation 분석에서의 가장 큰 걸림돌은 disease sample이 지니고 있는 impurity와 heterogeneity인한 분석 결과의 정확성 문제이다. 이러한 문제를 해결하기 위한 방법으로 나온것 중 하나가 바로 샘플의 contamination level을 계산하고 이를 분석에 적용하는 것이다. 바로 이러한 개념을 구현한 것이 오늘 이야기할 논문이다. 

샘플의 contamination level 계산하기

heterozygous mutation이 있는 경우 이 mutation에서 B allele frequency (BAF)는 50%에 가깝게 된다. BAF는 Alt와 Ref의 커버리지의 합을 Alt의 커버리지로 나눈 값이되며 BAF=coverage Alt / (coverage Alt + coverage Ref)가 된다. 암샘플이 정상샘플과 contamination이 심하게 되었다면 높은 BAF값을 보이게 되고 이를 통해 암 샘플이 정상 샘플이 contamination 되었다고 볼 수 있게 된다. 이렇게 mixed disease 샘플에서의 control 샘플의 비율 (α, 0 ≤ α ≤ 1)을 고려한 것이 VarScan2나 Strelka가 contamination level (α)를 고려하거나 이와 유사한 컨셉을 가지고SNV calling을 하고 있다.

Virmid (virtual microdissection for variant calling)

앞서 봤듯이 contamination 문제를 해결하기 위한 방법으로 sample contamination level (α)을 통해 somatic mutations에서의 disease genotype을 추정한다. 이를 통해 분석에 있어서 시퀀싱 에러, 매핑 에러, read mapping bias와 CNV의 영향 등의 bias를 줄일 수 있다. virmid를 이용한 분석 workflow는 input으로 short read sequence를 받는데, 하나는 순수한 control 샘플에 대한것과 다른 하나는 mixed되었다고 추정되는 disease 샘플이다. reference mapping의 preprocessing 단계를 거쳐 GATK를 이용하여 indel realign 등의 일반적인 과정을 수행한다. 이 작업이 끝나고 나면 모든 포지션에 대해서 BAF (B allele frequency)를 계산한다. BAF후에는 초기 필터를 적용하는데 이는 quality control 뿐 아니라 샘플 크기를 감소하기 위해 적용된다. (control sample은 B allele가 0인 것만 사용하고 disease sample은 1개 이상의 B allele가 있는 것을 사용하여 이 샘플들은 true somatic mutation을 찾기 위해 최소 BAF를 이용하여 필터링한다.) 마지막으로 두개의 control과 disease의 필터된 pileup 포맷의 alignment file이 input 파일로 준비된다. 이렇게 input file이 준비되면 이제 virmid는 contamination level (α)을 추정하는 과정을 수행한다. 이 값은 전역 파라미터로 모든 포지션에 대해서 동일하게 적용된다. 이 α는 작은 포지션이도 충분히 추정이 가능하게 된다.

Overall Virmid workflow

disease sample에서 11개의 각기 다른 비율로 두개의 genome이 섞인 시뮬레이션 데이터를 이용하여 (α = 1%, 5%, 10%, 20% ~ 90%) Virmid를 사용한 것과 그렇지 않은 (call-based method)의 contamination의 level의 추정한 결과 실제(검은색)와 virmid(빨간색)에 비해 call-based의 경우 60 ≤ α에서 성능이 떨어지는 것을 확인 할 수 있다.


실제 TCGA(The Cancer Genome Atlas)의 15개의 exome breast cancer 데이터를 이용하여 Strelka, MuTect, JointSnvMix2(JSM)를 이용하여 비교한 경우는 다음과 같다.


결론?,,,벌써?

짧게 나마 아주 짧게나마 cancer 분석을 위한 순수 국내기술?의 Virmid에 대해서 알아보았다. 어차피 정답은 없는법 한번 써보는 수밖에는 ㅋ Virmid는http://sourceforge.net/projects/virmid/
반응형