Skip to content

GEMINI #

Find similar titles

26회 업데이트 됨.

Edit
  • 최초 작성자
    Tuohy
  • 최근 업데이트
    green

Structured data

Category
Software

GEMINI(GEnome MINIng)란? #

GEMINI는 Human 유전체에서 사용할 수 있는 유전적 변이에 대한 annotation 정보를 쉽게 얻을 수 있는 프로그램이다. genotype, phenotype 등과 같은 유전 변이정보를 통합된 데이터베이스에 입력값으로 주게 되면 GEMINI는 질병이나 집단 유전데이터에 대한 다양한 annotation 정보를 쉽고, 빠르게 얻을 수 있다.

GEMINI Overview #

Image

다음 그림과 같이 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 과정을 진행한다.

  1. VCF 파일의 각 변이에 대해 vt 프로그램(variant tool set)을 이용하여 REF와 ALT에 대한 각각의 경우로 분리한다.
  2. 분리된 각 변이에 대하여 왼쪽 정렬을 통해 REF와 ALT에 대한 annotation이 이루어지도록 normalization을 수행한다.
  3. VEP 혹은 SNPeff 프로그램으로 annotation을 진행한다.
  4. 1차적으로 annotation된 VCF 파일을 GEMINI 프로그램에 로딩한다.
  5. 변이에 대한 데이터베이스에서 query를 이용하여 적합한 결과를 출력한다.

참고! GEMINI가 지원하는 두 가지 annotation 방법 #

GEMINI 프로그램에서는 VCF 파일에 대한 SNP, INDEL에 대한 annotation 과정을 두 가지 방법으로 나누어 진행할 수 있다. 두 가지 방법을 모두 지원하는 이유는 두 프로그램 모두 아미노산의 변화와 같은 유전자의 변이에 대한 영향 예측 등을 각종 데이터베이스의 정보를 통해 annotation하는 방법을 취하고 있는데, 두 프로그램이 지원하는 GEMINI에 대한 term 이 아래와 같이 다르기 때문에 두 가지 방법을 모두 사용하여 변이에 대한 annotation을 진행하면 좀 더 많은 정보를 얻을 수 있다.

Image

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
0.0.1_20231010_1_v71