안녕하세요 한주현입니다.
오늘은 VCF 파일에서 index를 만드는 방법에 대해서 알아보겠습니다.
VCF파일은 Variant Calling Format 파일의 약자로 파일에 대한 소개는 아래 링크를 참고해주세요 ㅎㅎ
http://korbillgates.tistory.com/136 - VCF 파일 소개
파일 indexing 이란?
파일의 indexing 은 random access를 용이하게 하기 위해 key 값을 만드는 과정입니다.
indexing 은 우리말로 색인 이라고도 말합니다.
쉽게 말해 종이 사전을 예시로 들어봅시다 ㅎㅎ..
우리가 Sea 를 찾는 다고 하면, 종이 사전 옆구리의 알파벳 S쪽을 열어보겠죠?
만약 사전 옆구리의 알파벳이 없다면 찾기가 조금 더 힘들고 시간이 오래 걸릴 것 입니다 ㅎㅎ;
이렇듯 indexing 을 하게 되면 데이터를 빠르게 접근 할 수 있게 만들어 줍니다.
우리는 이번 포스팅에서 VCF 파일의 indexing 을 진행 해보겠습니다.
GATK3, GATK4
VCF index 파일을 생성하려면 어떤 tool을 사용해야 할까요??
짜잔...ㅋㅋㅋ 오늘도 어김없이 등장하는 GATK !!!
GATK로 VCF index 파일을 생성해 봅시다.
GATK 3.x
질문: VCF의 index 파일은 어떻게 생성하나요??
Geraldine: GATK를 돌리면 자동적으로 나옴니다 :) ㅋㅋ
실제로 이렇게 말씀하셨습니다.. ㅎㅎ
https://gatkforums.broadinstitute.org/gatk/discussion/5426/generate-an-idx-file-for-a-vcf
뭔가 부족하다 싶으면 아래 GATK 4 방법을 봐주세요!!
GATK 4
GATK 3.x 때의 답변보다 독립적인 커맨드로 index 만 생성하고 싶다는 생각을 갖고 계시지요?
저도 그랬습니다 ㅠㅠ.. 그러던 와중...
GATK 4 에서는 독립적인 command line 으로 VCF index 파일을 생성 할 수 있습니다.!
GATK 4 버전은 다음 링크에서 다운로드 하실 수 있습니다.
https://software.broadinstitute.org/gatk/download/
설치는 따로 없고 그냥 받아서 압축 푸시면 됩니다 ㅎㅎ;
아래 커맨드는 java 1.8에서 진행해주셔야 하며 리눅스, OSX에서 가능합니다. 윈도우에서는 안됩니다.
$ gatk IndexFeatureFile -F myVCF.vcf
gatk 파일을 바로 실행시키셔도 되고
$ java -jar gatk-package-4.0.1.2-local.jar IndexFeatureFile -F myVCF.vcf
java 로 실행시키셔도 됩니다.
그러면 주르륵 실행결과가 나오게 되고 vcf 파일의 index 파일인
myVCF.vcf.idx
가 나오게 됩니다.
bgzip, tabix
요전에 포스팅 한 것이 있으나 index 파일을 만든다는 공통점이 있으므로 함께 포스팅 해봅니다 ㅎㅎ
http://korbillgates.tistory.com/54
우선 bgzip 으로 압축을 합니다.
$ bgzip -c myVCF.vcf > myVCF.vcf.gz
그다음 tabix 로 인덱싱을 합니다.
$ tabix -p vcf myVCF.vcf.gz
그러면 결과로 myVCF.vcf.gz.tbi 가 생성됩니다.
오늘은 VCF 파일의 indexing 방법 3가지를 알아보았습니다.
부디 여러분들께 도움이 되셨음 좋겠습니다 ㅎㅎ.
그럼 다음 시간에 만나요!
참고 링크:
https://gatkforums.broadinstitute.org/gatk/discussion/5426/generate-an-idx-file-for-a-vcf
http://genometoolbox.blogspot.kr/2014/09/how-to-index-vcf-file.html
'생물정보학 > Tools' 카테고리의 다른 글
[GATK] pileup 파일 얻기 - bam 에서 쌓인 read base 얻기 - gatk pileup 분석 (0) | 2018.06.21 |
---|---|
[GATK] DepthOfCoverage 란? Depth of coverage의 soft clip 처리. Depth of coverage 분석 방법 (3) | 2018.05.16 |
[VCF] VCF 파일의 DP, AD, MQ 의 의미 (5) | 2018.03.18 |
[GATK] VCF란, gVCF란, VCF와 gVCF의 차이점 - Variant Calling Format 설명, genomic VCF (0) | 2018.03.04 |
[GATK] UnifiedGenotyper vs. HaplotypeCaller 차이점 - 무엇을 써야 할까요? (0) | 2018.03.03 |
댓글