안녕하세요 한주현 입니다
오늘은 snpEff 를 간략히 소개해 드리고,
다운로드 및 설치, vcf annotation 까지 진행해보고자 합니다
목차
1. SnpEff 소개
1.1 시스템 사양
1.2 라이센스
2. SnpEff 다운로드
3. SnpEff 설치
4. SnpEff 를 사용한 vcf annotation
4.1 데이터베이스 받기
4.2 커맨드라인
5. 마치며
1. SnpEff 소개
SnpEff 는 annotation tool로 variant를 annotation 하고 아미노산 change 와 같은 genetic effect를 예측하여 정보를 붙여주는 tool 입니다.
사용방법도 간단하여 SnpEff에 VCF를 인자로 넣어주면, SnpEff 에서 계산하여 annotation을 진행해줍니다.
SnpEff 에서 variant라고 말하는 분류는 다음과 같습니다
종류 |
의미 |
예시 |
SNP |
Single-Nucleotide Polymorphism |
Reference = "A", Sample = "C" |
Ins |
Insertion |
Reference = "A", Sample = "AGT" |
Del |
Deletion |
Reference = "AC" Sample = "C" |
MNP |
Multiple-nucleotide polymorphism |
Reference = "ATA", Sample = "GTC" |
MIXED |
Multiple-nucleotide and an InDel |
Reference = "ATA", Sample = "GTCAGT" |
1.1 시스템 사양
- UNIX operating system 인 리눅스나 맥에서 작동 (웹버전 가능, 갤럭시, https://usegalaxy.org/ )
- Java v1.7 이상 설치
- 충분한 양의 memory (annotation 하는 샘플에 따라 다르겠지만, human genome 의 경우 최소 4GB의 메모리가 필요)
- 1GB 이상의 disk space
1.2 라이센스
- 오픈소스, LGPLv3
2. SnpEff 다운로드
SnpEff는 다음 다운로드 링크에서 받으실 수 있습니다
http://snpeff.sourceforge.net/download.html
Download SnpEff 를 누르셔서 받으시면 됩니다.
참고로 1.1 시스템사양 에서 말씀드렸듯이, SnpEff 는 UNIX operating system 인 리눅스나 맥 환경에서 작동합니다.
리눅스 상에서는 다음 커맨드라인 실행으로 SnpEff를 다운로드 하실 수 있습니다.
$ wget http://sourceforge.net/projects/snpeff/files/snpEff_latest_core.zip
3. SnpEff 설치
설치는 매우 간단합니다. 그냥 받으신 파일 (snpEff_latest_core.zip) 을 압축 풀면 됩니다.
$ unzip snpEff_latest_core.zip
압축 푼것을 확인해보죠
$ ls -l
total 47172
drwxrwxr-x 5 jhan jhan 4096 3월 29 18:19 ./
drwxr-xr-x 11 jhan jhan 4096 3월 31 10:56 ../
drwxr-xr-x 2 jhan jhan 4096 3월 29 18:19 examples/
drwxr-xr-x 3 jhan jhan 4096 3월 29 18:19 galaxy/
drwxr-xr-x 3 jhan jhan 4096 3월 29 18:19 scripts/
-rw-rw-r-- 1 jhan jhan 8194922 3월 29 18:19 snpEff.config
-rw-r--r-- 1 jhan jhan 21266158 3월 29 18:19 snpEff.jar
-rw-r--r-- 1 jhan jhan 18818424 3월 29 18:19 SnpSift.jar
$
실행이 잘 되는지도 확인해봅시다.
다음과 같이 commad line을 써보면
아래와 같이 SnpEff 에 대한 설명이 주르륵 나오게 됩니다
$ java -jar snpEff.jar
SnpEff version SnpEff 4.3k (build 2017-03-29 17:16), by Pablo CingolaniUsage: snpEff [command] [options] [files]
Run 'java -jar snpEff.jar command' for help on each specific command
Available commands:
[eff|ann] : Annotate variants / calculate effects (you can use either 'ann' or 'eff', they mean the same). Default: ann (no command or 'ann').
...
-ud , -upDownStreamLen <int> : Set upstream downstream interval length (in bases)
$
4. SnpEff 를 사용한 vcf annotation
SnpEff 를 설치할 때 안에 들어있던 예제로 진행해보겠습니다
준비물:
- Java v1.7 이상
- snpEff
- test.chr22.vcf
4.1 데이터베이스 받기
SnpEff에서는 reference 별로 데이터베이스를 제공해 주는데 그 수가 무려 20,000개 이상 있습니다.
데이터베이스의 종류를 보기위해서는 다음 커맨드라인을 실행하시면 됩니다.
$ java -jar snpEff.jar databases
Genome Organism Status Bundle Database download link
------ -------- ------ ------ ----------------------
129S1_SvImJ_v1.86 Mus_musculus_129s1svimj http://downloads.sourceforge.net/project/snpeff/databases/v4_3/snpEff_v4_3_129S1_SvImJ_v1.86.zip
...
기본설정으로 SnpEff는 데이터베이스를 자동적으로 받아주기 때문에 수동으로 받을 필요는 없긴합니다.
데이터베이스를 받기 위해서는 다음 커맨드라인을 실행하시면 됩니다.
$ java -jar snpEff.jar download <데이터베이스명>
예시) GRCh38.76
$ java -jar snpEff.jar download GRCh38.76
예시) hg19
$ java -jar snpEff.jar download hg19
실행을 하고 나시면
data라는 directory 가 생기고,
그 안에 각 데이터베이스 디렉토리가 생기게 됩니다.
다시 한 번 말씀드리지만, 수동으로 데이터베이스를 받는 경우는 없을겁니다.
다음 4.2 커맨드라인 을 실행하면 자동으로 snpEff 가 데이터베이스 유무를 체크하고 다운로드 받습니다
4.2 커맨드라인
다음과 같은 커맨드라인으로 예제 test.chr22.vcf 를 annotation 해 봅시다.
$ java -Xmx4g -jar snpEff.jar -v GRCh37.75 examples/test.chr22.vcf > test.chr22.ann.vcf
결과
이랬던 원본 파일이
#CHROM POS ID REF ALT QUAL FILTER INFO
22 17071756 . T C . . .
이렇게 바뀌었습니다
##SnpEffVersion="4.1a (build 2015-01-14), by Pablo Cingolani"
##SnpEffCmd="SnpEff GRCh37.75 examples/test.chr22.vcf "
##INFO=<ID=ANN,Number=.,Type=String,Description="Functional annotations: 'Allele | Annotation | Annotation_Impact | Ge
ne_Name | Gene_ID | Feature_Type | Feature_ID | Transcript_BioType | Rank | HGVS.c | HGVS.p | cDNA.pos / cDNA.length |
CDS.pos / CDS.length | AA.pos / AA.length | Distance | ERRORS / WARNINGS / INFO' ">
##INFO=<ID=LOF,Number=.,Type=String,Description="Predicted loss of function effects for this variant. Format: 'Gene_Na
me | Gene_ID | Number_of_transcripts_in_gene | Percent_of_transcripts_affected' ">
##INFO=<ID=NMD,Number=.,Type=String,Description="Predicted nonsense mediated decay effects for this variant. Format: '
Gene_Name | Gene_ID | Number_of_transcripts_in_gene | Percent_of_transcripts_affected' ">
#CHROM POS ID REF ALT QUAL FILTER INFO
22 17071756 . T C . . ANN=C|3_prime_UTR_variant|MODIFIER|CCT8L2|ENSG00000198
445|transcript|ENST00000359963|protein_coding|1/1|c.*11A>G|||||11|,C|downstream_gene_variant|MODIFIER|FABP5P11|ENSG000
00240122|transcript|ENST00000430910|processed_pseudogene||n.*397A>G|||||4223|
5. 마치며
이것으로 SnpEff 사용법1 - 다운로드 및 설치, vcf annotation에 대하여 알아보았습니다.
다음시간에는 SnpEff 로 annotation 된 결과파일을 자세히 들여다 보겠습니다.
그럼 다음에 만나요~
'생물정보학 > Tools' 카테고리의 다른 글
[bedtools 사용방법] bedtools를 이용하여 vcf 의 특정 범위 꺼내기 (3) | 2017.04.04 |
---|---|
[bedtools] bedtools 설치 방법 - How to install bedtools (0) | 2017.04.04 |
wANNOVAR - 웹기반 Annotation Tool (0) | 2017.03.24 |
samtools 1.4 발표 - 설치 방법 (0) | 2017.03.14 |
samtools 설치하기 (0) | 2017.03.14 |
댓글