본문 바로가기
생물정보학/Tools

SnpEff 사용방법1 - 다운로드 및 설치, vcf annotation

by HanJoohyun 2017. 3. 31.
반응형



안녕하세요 한주현 입니다


오늘은 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 Cingolani
Usage: 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 된 결과파일을 자세히 들여다 보겠습니다.


그럼 다음에 만나요~












반응형

댓글