바이오인포매틱스

WGS에서의 확장을 고려한 유전변이 검출 파이프라인

hongiiv 2014. 9. 30. 17:11
반응형

WGS 분석에서의 bottleneck

alignment와 variant calling 단계에서는 cpu/mem 부분에서 bottleneck이지만, align post-process (base quality score recalibration, realignment around indels)과 variant post-process 단계에서는 disk의 io가 bottleneck으로 작용한다. 

대량 샘플에서의 병렬 네트워크 파일 시스템

단일 샘플 분석과 같은 경우 NFS가 유리하지만, 대량의 샘플을 분석하는 경우 Lustre나 GlusterFS와 같은 병렬 네트워크 파일 시스템이 유리하다. 당연히 io가 분산되기 때문에 적은 수의 샘플에서는 병렬 네트워크 파일 시스템이 불리하게 작용하지만, 다수의 대량 샘플 분석시에는 오히려 부하가 분산되면서 안정적이며 빠른 속도로 분석이 가능하다.

Post-alignment는 필요한가?

간단히 deduplication만 수행한 minimal BAM preparation과 앞서 이야기한 align post-process 단계를 거친것과 결과는 어떨까? 우리는 그동안 Broad의 GATK best-practice에서 이부분을 수행하는 것이 결과에 좋은 영향을 준다고 하여 무조건적으로 수행했다. 엄청난 IO와 분석 시간의 증가라는 cost적인 측면을 감내하면서 말이다. 일례로 30x의 whole genome sample의 경우 16 cores를 1샘플에 할당하여 분석할경우 약 12~16 시간이 이 부분에서 소요된다.

결과는 놀랍게도 deduplication만 수행한 BAM의 경우가 오히려 좋은 성능을 보인다는 것이다. recalibration과 realignment 과정없이 HaplotypeCaller와 FreeBayes에서 오히려 좋은 성능을 보인다는 것이다.

요즘 GATK 진영에 대해서 두가지로 요약된다. genome 데이터에 대해서 너무 많은 가공(?)을 한다는 것이다. 가령 위에서 언급한 alignment post-processing 등과 같이 말이다. 또다른 하나는 GATK의 핵심 멤버의 이탈(?)이다. 

모든 분야가 마찬가지겠지만, 영원한 1등도 없는 것이요. 1등은 그자리를 놓치지 않기 위해 비밀스런 고급 기술들을 쳐 넣기 때문에 오히려 역효과가 날 수도 있다는 것이다. 헨리가 말했지 않았던가 난 GATK 세부 알고리즘 몰라요. 그냥 samtool로 원하는것 하세요. 한번 곰곰히 생각해봐야할 부분인듯하다. 너무 GATK의 노예로 살아온건 아닌지 말이다. 

Variant calling pipeline의 성능 올리기

그럼, 이제 생각해 볼 부분은 low complexity regions, high depth filters, VQSR을 어떻게 variant calling에 적용할까?라는 부분이다. 최근 두개의 논문을 우선 살펴보면 어떻게 variant call을 평가하고 filtering 할지에 대한 도움을 받을 수 있다.

헨리의 "Towards Better Understanding of Artifacts in Variant Calling from High-Coverage Samples"와 Michael의 "Analytical validation of whole exome and whole genome sequencing for clinical applications"이다.


 
반응형