GEMINI
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Software
Table of Contents
GEMINI(GEnome MINIng)란? #
GEMINI는 Human 유전체에서 사용할 수 있는 유전적 변이에 대한 annotation 정보를 쉽게 얻을 수 있는 프로그램이다. genotype, phenotype 등과 같은 유전 변이정보를 통합된 데이터베이스에 입력값으로 주게 되면 GEMINI는 질병이나 집단 유전데이터에 대한 다양한 annotation 정보를 쉽고, 빠르게 얻을 수 있다.
GEMINI Overview #
다음 그림과 같이 GEMINI는 변이정보를 담은 VCF 파일을 입력값으로 받아들이게 된다. VCF 파일의 각 변이들은 자동적으로 GEMINI에 셋팅 되어있는 ENCODE, UCSC, OMIM, dbSNP, KEGG, HPRD와 같은 데이터베이스의 정보를 이용하여 자동으로 annotation을 진행할 수 있고, 모든 annotation 결과는 SQLite 데이터베이스를 통해 저장이 되며, 그 저장된 데이터베이스는 SQL query문을 이용하여 접근 및 해석이 가능하다.
단, 여기서 몇가지 제한점이 있다.
1. GEMINI는 human 유전체 hg19버젼(build 37)의 변이들에 대해서만 적용이 가능하다.
2. GEMINI는 VCF Format 4.1 버젼에 적합하다.
3. 좀 더 빠른 처리를 위해서는 SQLite를 통한 데이터베이스의 저장을 하드디스크에 하는 것이 좋다.
GEMINI Install #
wget https://github.com/arq5x/gemini/raw/master/gemini/scripts/gemini_install.py
python gemini_install.py $tools $data
PATH=$tools/bin:$data/anaconda/bin:$PATH
GEMINI Workflow #
GEMINI 프로그램은 다음과 같은 순서에 따라서 VCF 파일에 대한 annotation 과정을 진행한다.
- VCF 파일의 각 변이에 대해 vt 프로그램(variant tool set)을 이용하여 REF와 ALT에 대한 각각의 경우로 분리한다.
- 분리된 각 변이에 대하여 왼쪽 정렬을 통해 REF와 ALT에 대한 annotation이 이루어지도록 normalization을 수행한다.
- VEP 혹은 SNPeff 프로그램으로 annotation을 진행한다.
- 1차적으로 annotation된 VCF 파일을 GEMINI 프로그램에 로딩한다.
- 변이에 대한 데이터베이스에서 query를 이용하여 적합한 결과를 출력한다.
참고! GEMINI가 지원하는 두 가지 annotation 방법 #
GEMINI 프로그램에서는 VCF 파일에 대한 SNP, INDEL에 대한 annotation 과정을 두 가지 방법으로 나누어 진행할 수 있다. 두 가지 방법을 모두 지원하는 이유는 두 프로그램 모두 아미노산의 변화와 같은 유전자의 변이에 대한 영향 예측 등을 각종 데이터베이스의 정보를 통해 annotation하는 방법을 취하고 있는데, 두 프로그램이 지원하는 GEMINI에 대한 term 이 아래와 같이 다르기 때문에 두 가지 방법을 모두 사용하여 변이에 대한 annotation을 진행하면 좀 더 많은 정보를 얻을 수 있다.
1. SNPeff annotation #
## Annotate with SNPeff ##
cd /home/bio/tools/snpEff/
java -Xmx4G -jar snpEff.jar -i vcf -o vcf GRCh37.69 $WD/raw_variants.normalized.vcf > $WD/raw_variants.normalized.SNPeff.vcf
## Loading VCF Files into the GEMINI database ##
gemini load -v raw_variants.normalized.SNPeff.vcf -t snpEff --cores 20 TST_Variant.db
## Querying the Databases ##
gemini query -q "select *,(gts).(*) from variants" \
--header \
$db \
> raw_variants.normalized.SNPeff.Gemini_TotalTable.txt
2. VEP annotation #
## Annotate with VEP ##
perl /home/bio/tools/ensembl-tools-release-86/scripts/variant_effect_predictor/variant_effect_predictor.pl \
-i raw_variants.normalized.vcf \
--cache \
--sift b \
--polyphen b \
--symbol \
--numbers \
--biotype \
--total_length \
--port 3337 \
-o raw_variants.normalized.VEP_annotated.vcf \
--vcf \
--fields Consequence,Codons,Amino_acids,Gene,SYMBOL,Feature,EXON,PolyPhen,SIFT,Protein_position,BIOTYPE
## Loading VCF Files into the GEMINI database ##
gemini load -v raw_variants.normalized.VEP_annotated.vcf -t VEP --cores 20 TST_Variant.VEP.db
## Querying the Databases ##
gemini query -q "select *, (gts).(*) from variants" \
--header \
$db \
> raw_variants.normalized.VEP_annotated.Gemini_TotalTable.txt
GEMINI Command(예) #
step1. Split_Normalize_vcf
/home/bio/tools/vt/vt decompose -s raw_variants.vcf \
| /home/bio/tools/vt/vt normalize -r /data/BIO_FACT/REF/hg19.fasta - \
> raw_variants.normalized.vcf
step2. Annotate with SNPeff
cd /home/bio/tools/snpEff/
java -Xmx4G -jar snpEff.jar -i vcf -o vcf GRCh37.69 $WD/raw_variants.normalized.vcf > $WD/raw_variants.normalized.SNPeff.vcf
단, tabix error(undefined reference to gzopen64)발생시 -> tabix 폴더의 Makefile 내부에서 CFLAGS= -g -Wall -O2 -L /usr/local/lib 로 바꾸어주어야 한다.
step3. load the pre-processed VCF into GEMINI
gemini load -v raw_variants.normalized.SNPeff.vcf -t snpEff --cores 20 TST_Variant.db
step4. querying to the Databases
gemini query -q "select *,(gts).(*) from variants" \
--header \
$db \
> raw_variants.normalized.SNPeff.Gemini_TotalTable.txt