바이오인포매틱스 20

NGS 데이터 평가하기

얼마전 NIST에서는 RM(Reference Material) 8393을 발표했습니다. RA는 말 그대로 표준이 되는 물질이죠. 이 표준물질은 Human DNA인데요. 그냥 DNA가 아니라 Whole-Genome Variant를 평가할 수 있는 표준물질입니다. 즉 이 DNA의 vaiant들을 모두 정리해 놓았다는 것입니다. 따라서 NGS를 이용하는 여러 분야에서 다양하게 사용될 수 있습니다. 그럼 어떻게 사용될 수 있는지 한번 볼까요? Variants 평가 시나리오 Variants의 평가는 서로 다른 장비간 또는 서로 다른 파이프라인간에 비교하는데 사용되거나 표준물질에서 이미 정의된 variants와 직접 장비/파이프라인 통해 생성된 데이터를 서로 비교할 수 있습니다. Validate Pipeline 당..

BGZF (Blocked GNU Zip Format)

Random Access BAM 파일의 경우에는 BGZF를 이용하기 때문에 원하는 곳으로 빠르게 access가 가능하다. 우리가 흔히 사용하는 GZIP (GNU ZIP) 보다는 압축효율 (압축했을때 용량)이 떨어지지만 random access가 가능하다는 잇점으로 인해 BAM 파일(BAM의 경우 재빠르게 자신이 원하는 position을 뷰잉하는데 많이 사용하기 때문)에서 사용하는 기술이다. 용량이 큰 텍스트 파일을 압축해 놓고 파일의 어느 부분이던지 랜덤하게 액세스 가능하기 때문에 그 활용도가 높은데 특히나 클러스터를 이용하는 경우 파일을 분할하는 등의 I/O 작업이 필요 없기 때문에 그 활용이 매우 높다고 할 수 있다. 여러 활용중 하나로 FASTQ 파일에 적용하여 사용하고 있다. FASTQ 응용 일루..

Split Reads

Split Read (SR) Split Read(SR)는 하나의 read가 분리 (split)된 것으로, 여기서 분리는 read의 일부분이 reference에 align되고 나머지 일부분은 또 reference의 다른 부분에 align된 것으로 Chimeric Alignment라고도 한다. SR은 deletion, insertion, inversion, tandem duplication과 같은 structural variation을 찾는데 유용한 지표로 사용된다. Identification of a deletion in an individual genome by split read analysis SAM에서의 SR 흔적 SAM파일에서는 SR을 표시하는데 SA 태그를 사용한다. SA 태그는 Chimeric..

Simple consensus approach improves somatic mutation prediction accuracy

지난 동계유전체학회 워크샵의 암유전체 분석을 위한 Somcatic Mutation Calling에 관한 내용입니다. "A simple consensus approach improves somatic mutation prediction accuray"라는 논문을 바탕으로 SomaticSniper, VarScan2, MuTect을 이용하여 각각 somatic call을 수행한 후 각 툴에 대해서 filter를 적용하고 consensus 데이터셋을 만들어 이를 실제 validation하는 과정에 대한 내용입니다. 물론 데이터는 TCGA Benchmark 데이터셋을 이용했습니다. 마지막, validation 부분을 업데이트할 부분이 좀 있는데 우선 공유합니다. Detecting Somatic Mutation -..

Structural Variation

NGS Short Reads를 이용하여 Strucural Variation을 찾는데에 있어서 depth of coverage (DOC), paried-end mapping (PEM, PE), split read (SR) 정보를 이용하게 된다. SV를 찾는데에 있어서 reference에 reads를 매핑하고 reference에 정확히 일치하는 않는 (not exact match to reference) read들을 SV를 찾는데 사용한다. 아래와 같이 60과 37이라는 부분은 reference에서 174 bases의 간격을 두고 있으며, 우리는 이 60과 37부분외에도 54 부분을 각각 서로 다른 말단에 가진 두개의 read를 가지고 있다고 하자. 이 reads를 BWA를 이용하여 매핑한 경우 첫번째 re..

Bioinformatics (genomics) 트렌드 - 지금 필요한건 스피두

요즘 논문이나 기사를 보면서 Bioinformatics/Genomics 분야의 트렌드를 개인적으로 정리한 글로 본인의 무지에 의해 잘못된 정보를 전달할 수도 있음을 주의하시기 바란다. ㅋㅋㅋ 넘어가야할 허들 - 속도 지금까지는 속도 보다는 클라우드를 이용한 scale-up이 주된 테마였다면 이제는 기존의 파이프라인을 개선하는 방향의 speed-up이 주요 이슈가 되었다. 표준 파이프라인이라고 할 수 있는 BWA, GATK, SAMtools, Picard를 사용하는 경우 50X의 Human genome의 경우 variant call까지 16 코어 서버를 사용하는 경우 68-94시간이 소요된다. 물론 소프트웨어의 버전이나 병렬화를 어디까지 수행하는냐에 따라 이 시간은 달라질 수 있지만 말이다. 여기에 도전장..

Detecting Somatic Mutations - Ensemble Approach

예전에도 두어번 블로그글을 통해 variant calling에 있어서 Ensemble approach에 대해서 언급했었더랬습니다. comparison of variant detection methods, somatic caller는 뭘 사용해야 하나요? 를 참고하세요. 오늘은 그 끝판왕으로 준비했습니다. 왜냐구요? 잠시 광고 하나 하고 넘어가려고 합니다. 한국유전체학회 동계 심포지엄이 2월 4일부터 진행되는데 올해는 이틀간에 걸쳐 "Somatic Calling 알고리즘 소개 및 실습" 워크샵이 준비되어 있습니다. 현재 저조한 등록을 보이고 있다고 합니다. 오늘은 그래서 워크샵에서 진행할 내용을 미리 소개하는 시간을 가져 보려고 끝판왕으로 준비했습니다. ;-) 더 안오실지도 모르겠군요. 아! 그리고 저번 ..

Samtools를 이용한 genotype likelihoods 구하기

samtools가 버전 0.1.19를 마지막으로 major 번호가 올라갔습니다. 바로 1.0 버전대가 탄생한것이죠. 홈페이지도 이제는 www.htslib.org를 사용합니다. 흔히 우리가 말하는 Samtools는 Samtools, BCFtools, HTSlib 3개로 구성되어 있습니다. Samtools는 SAM/BAM/CRAM 포맷의 파일을 읽고/쓰고/편집하고/인덱싱하고/볼 수 있는 툴입니다. BCFtools는 BCF2/VCF/gVCF 포맷의 파일을 읽고/쓸 수 있으며 SNP나 short indel의 sequence variants를 calling/filtering/summarising 할 수 있는 툴입니다. 그리고 그 기반은 high-throughput sequencing 데이터를 다루는 바로 C로 작..

당신이 개발자라면...

유전체데이터를 다루는 툴이나 스크립트를 만들고자 한다면, 다음의 프로그램, 라이브러리를 눈여겨 보고 응용할 것. 재미있는것은 이제 클라우드상의 데이터도 htsjdk 라이브러리에서 직접 핸들링이 가능해진다는 것이다. gatk-tools-java Tools for using picard and gatk with genomics API. getting reads from GA4GH genomics api and exposing them as SAMRecord "Iterable" resource. These will be used for subsequent work on enabling HTSJDK to use API data as input. GA4GHPicardRunner wrapper around pica..

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

WGS 분석에서의 bottleneckalignment와 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가 분산되기 때문에 적은 수의 샘플에서는 병렬 네트워크 파일 시스템이 불리하게 작용하지만, 다수의 대량 샘플 분..