Rare variant association analysis: SKAT, SKAT-O, Burden test

관련 포스팅 보기>

전장 유전체 연관 분석, GWAS란 무엇인가?

Annovar: Population frequency, in-silico prediction tool 및 기타 database 활용

plink를 이용한 GWAS 분석 및 Manhattan plot 만들기

plink를 이용한 GWAS 분석에 대한 지난 포스팅에 이어서, 이번에는 SKAT을 이용한 rare variant 분석에 대한 포스팅을 정리해보고자 합니다. 유전자에 존재하는 변이(Variant)는 인구 집단 내의 분포 빈도 (Allele frequency)에 따라서, 흔한 변이 (Common variant)희귀 변이 (Rare variant)로 구분됩니다. 전장 유전체 연관 분석 (Genome-wide association study, GWAS)은 이러한 변이 중에서 일반적으로 인구 집단 내에 변이 빈도 분포가 5% 이상인 흔한 변이를 대상으로 하게 되는데, 대부분의 흔한 변이들은 유전학적 선택압 (Selective pressure)이 작은 변이들이기 때문에, 효과 크기 (Effect size)가 작은 것들이 대부분입니다.

 

41586_2009_Article_BFnature08494_Fig1_HTML

따라서 Common variant를 이용한 GWAS 분석으로, 설명이 안되는 유전력을 갖는 질환에 대해서 “Missing heritability“라는 용어가 등장하게 되었습니다. 이후의 후속 연구들에서는, Missing heritability를 설명하기 위해서, 변이의 빈도가 매우 드물지만, 효과 크기가 훨씬 큰 Rare variant 들이 조명을 받게 됩니다.

Missing heritability에 관한 Nature 사설 보기>

Maher, B. Personal genomes: The case of the missing heritability. Nature 456, 18–21 (2008)

Missing heritability

다만 Rare variant의 경우는, 변이 자체의 빈도가 매우 드물기 때문에 통계적으로 변이의 영향을 비교하기 위해서는 매우 큰 수의 표본이 필요한 한계가 있습니다. 이러한 한계를 극복하기 위해서, 같은 유전자 내에 존재하는 희귀 변이를 유전자 또는 특정 구역의 단위로 집합 시켜서 분석하는 방법이 제안되었는데, 이것이 Gene-level aggregation test 입니다. 즉, GWAS에서는 개별 SNP의 효과를 변이 단위로 분석이 진행되었다면 (Single variant association test), rare variant의 경우는 여러 개의 variant를 Gene 단위로 그룹화하여, Gene의 효과를 비교 분석 (Multiple variant association test)하는 분석을 진행하게 됩니다.

gene aggregation

이와 같은 분석에서 중요한 점은 ‘어떠한 기준으로 변이를 유전자 단위로 그룹화 할 것인가?’ 하는 문제가 발생하게 되는데, 일반적으로 변이 빈도의 threshold 설정 (MAF 5% vs 1%), 변이의 Functional classification 등을 사용자가 임의로 설정하여 분석을 진행하게 됩니다. 더불어, 각 희귀 변이의 효과들이 동일하지 않기 때문에 개별 변이의 효과를 보정해주는 방법으로 Rare variant allele frequency, In-silico prediction score 등을 이용하게 됩니다. 아래는 이러한 희귀 변이 분석 방법과 각 분석 방법의 장, 단점, 그리고 분석 software를 정리한 표입니다.

rare variant association

위 표의 희귀 변이를 위한 다양한 분석 도구 중에서 오늘은 R package로 개발된 대표적인 분석 도구로 사용되는 Sequence Kernal Association Test (SKAT)에 대해서, 간단히 정리하고 마치도록 하겠습니다. Burden test의 경우는 변이들의 효과 방향이 일정하고, 대부분이 원인 변이이 경우에 더 강력한 통계 검정 방법이고, SKAT의 경우는 각 변이들의 효과 방향이 제각각이거나, 원인 변이의 비율이 적은 경우에 더 강력한 통계 검정 방법입니다.  SKAT-O이 둘의 효과를 통계적으로 최적화하는 optimized rho value를 계산하여, 양쪽의 장단점을 모두 이용하는 방법입니다.

마지막으로 ‘SKAT’ R package를 이용을 위한 code를 공유합니다. 분석에 앞서, 이전 plink 분석 포스팅에서 언급했던 Bed, Bim, Fam 파일 및 phenotype data를 포함하는 PED 파일이 input data로 준비되어야 합니다. 마지막으로 Rare variant 변이들은 어떤 기준으로 그룹화할지에 대한 정보를 지정한 SetID 파일을 생성하여야 합니다. 자세한 내용은 SKAT 패키지의 manual을 참조하시기 바랍니다.


library(SKAT)

setwd("/plink_result")
file_name <- "my_plink"

File.Bed <- paste(file_name,".bed",sep = "")
File.Bim <- paste(file_name,".bim",sep = "")
File.Fam <- paste(file_name,".fam",sep = "")
File.SSD <- paste(file_name,".SSD",sep = "")
File.Info <- paste(file_name,".info",sep = "")
File.SetID <- paste(file_name,".SetID",sep = "")

Generate_SSD_SetID(File.Bed, File.Bim, File.Fam, File.SetID, File.SSD, File.Info)

SSD.INFO <- Open_SSD(File.SSD, File.Info)
FAM <- Read_Plink_FAM(File.Fam, Is.binary=FALSE)
COV <- Read_Plink_FAM_Cov(File.Fam,"pheno_data.ped", Is.binary=FALSE, flag1=0, cov_header=TRUE)

# continuous phenotype
obj <- SKAT_Null_Model(y ~ covariates, out_type="C")
# dichotomous phenotype
obj <- SKAT_Null_Model(y ~ covariates, out_type="D")

# SKAT
out.skat <- SKAT.SSD.All(SSD.INFO, obj)
#SKAT-O
out.skato <- SKAT.SSD.All(SSD.INFO, obj, method="optimal")
#Burden test
out.burden <- SKAT.SSD.All(SSD.INFO, obj, r.corr=1)

data <- cbind(out.skat$results,out.skato$results,out.burden$results)
write.table(data,"SKAT_results.txt",col.names=T,row.names=F,quote=F,sep="\t")

Close_SSD()

 

 


[References]

‘SKAT’ R package

SKAT GitHub: https://github.com/leeshawn/SKAT

Lee, Seunggeung, et al. “Rare-variant association analysis: study designs and statistical tests.” The American Journal of Human Genetics 95.1 (2014): 5-23.

Lee, Seunggeun, et al. “Optimal unified approach for rare-variant association testing with application to small-sample case-control whole-exome sequencing studies.” The American Journal of Human Genetics 91.2 (2012): 224-237.

Bansal, Vikas, et al. “Statistical analysis strategies for association studies involving rare variants.” Nature Reviews Genetics 11.11 (2010): 773-785.

 

plink를 이용한 GWAS 분석 및 Manhattan plot 만들기

유전체 연구에 있어서 연구 디자인 (Study Design)과 형질 (Phenotype) 은 매우 중요합니다. 특히 약물 유전체 연구에 있어서의 관심 형질은 체내 약물 농도나 대사능, 부작용의 발생 여부 등이기 때문에 더욱더 정확한 표현형을 수집하기가 어려운 점이 있습니다. 최근에 논문을 쓰면서, GWAS (Genome-wide association study)를 돌리고, Manhattan plot을 그릴 일이 있어서, 관련 분석 과정을 정리해볼까 합니다.

관련 포스팅 보기>

 

I. PLINK

1-s2.0-S0002929707613524-gr4_lrg

대부분의 GWASSNP array를 이용하여, 대표 유전자 마커를 이용한 표현형 연관성 연구로 진행이 되는데, 이때 주로 사용하는 Tool이 plink입니다. (해당 tool이 논문으로 나온게 2007년이니까 벌써 10년도 넘은 소프트웨어입니다..) 그러나 아직도 쓰이고 있다는 건, 그만큼 많은 연구자들이 쓴다는 것이고, 대표적인 소프트웨어라고 할 수 있습니다. (1.9 버젼이 나온 이후, 2.0 버젼을 베타 테스트하고 있다고 한지도 꽤 오래 되었는데, 그 이후 업데이트가 매우 느리게 진행되고 있는 것이 단점입니다.) 물론, BI tool 답게 많은 경쟁 소프트웨어들이 나왔는데 (ex. EPACTS), 아직도 대부분의 논문에서 plink를 쓰는 것을 보면, 대부분의 분석을 하는데 plink만 있어도 크게 무리가 없기 때문이 아닐까 합니다. plink의 사용법은 plink 홈페이지 (PLINK: Whole genome data analysis toolset)의 tutorial page에 매우 자세하게 소개가 되어 있어서, 그때 그때 필요한 내용들을 찾아서 쓰면 됩니다.

plink 다운로드 및 설치>

<VCF 파일 압축 및 인덱싱>

bgzip -c [myvcf.vcf] > [myvcf.vcf.gz]
tabix -p vcf -f [myvcf.vcf.gz]

<PED, MAP 파일 or BED, BIM, FAM 파일 만들기>

plink 실행을 위해서는 PED & MAP file 또는 binary 형식으로 변환된 BED, BIM, FAM file이 필요합니다. 일반적으로 SNP array 데이터를 생산하면 만들어주기 때문에 따로 준비할 필요는 없습니다. 간혹 NGS로 생산된 시퀀싱 데이터로 plink로 실행하고 싶은 경우, vcf 파일을 위의 형식으로 변환하면 좋은데, 아래와 같은 command가 유용합니다.

plink --noweb --vcf [myvcf.vcf.gz] --recode --out myplink
plink --noweb --vcf [myvcf.vcf.gz] --recode --make-bed --out myplink

<PLINK 파일 기본 QC>

plink --file myplink --missing-genotype N --make-bed --mind 0.05 --maf 0.05 --geno 0.1 --hwe 1e-6 --recode --out myplink.QC

missing genotype 여부, genotyping calling rate, minor allele feqeuncy, HWE (Hardy-Weinberg equilibrium) cut-off 기준으로 이를 위반하는 SNP들은 모두 날려버리는 quality control 과정입니다.

<plink를 이용한 연관 분석>

plink를 이용한 연관 분석은 통계 모형에 기반하기 때문에 우선적으로 어떤 모델을 이용하여, 어떻게 분석을 할지를 고려해야 합니다. Genetic inheritance mode (Additive, Dominant, Recessive)와 분석 형질이 Dichotomous trait인지 Continuous trait 인지에 따라서 Case-control, linear regression, logistic regression model 등을 적용할 수 있습니다. 더불어, 보정을 위한 공변량(covariate)으로 무엇을 선택할 것인지도 중요합니다.

분석을 위한 Input Phenotype data를 준비하는 과정도 중요한데, 다음 페이지에서 자세하게 소개가 되어 있습니다.

[분석을 위한 command]

plink --noweb --bfile [mydata] --[additive/dominant/recessive] --[assoc/linear/logistic] --pheno [phenotype_file] --pheno-name [phenotype_name] --covar [covariates_file] --covar-name [covariates_name] --out [result_file]

위의 command에 적절한 inheritance mode [additive/dominant/recessive]와 분석 모델 [assoc/linear/logistic]을 골라서, 분석을 실행하면 됩니다. 특정 SNP에 대한 Conditioning을 원하는 경우, –cond [SNP ID]를 추가합니다.

위의 분석 과정을 거치면, 모든 SNP 위치에 대한 Beta 및 P value가 계산됩니다. Beta는 해당 SNP의 Effect size를 나타내는 통계량이고, P value는 해당 SNP의 통계적 유의도를 의미합니다. Manhattan plot은 일반적으로 여기서 계산된 P value에 -log를 취한 형태로 그리게 됩니다.

II. Manhattan Plot 그리기

Manhattan Plot을 그리는 방법도 다양하지만, 여기서는 제일 간편한 qqman R package를 이용하도록 하겠습니다. 자세한 option은 아래 Reference의 자료들을 참고 바랍니다.

library(qqman)

## plink 결과 파일 불러오기
data &amp;amp;lt;- read.table("plink_result", header = T, stringsAsFactors=F)

## Manhattan plot 그리기
manhattan(data, main = "Manhattan Plot", ylim = c(0, 40), cex = 0.8, cex.axis = 0.9, col = c("grey", "skyblue"))

## QQ plot 그리기
qq(data$P)
GWAS

위의 패키지를 이용하면, 위와 같은 Manhattan plot을 손쉽게 만들 수 있습니다.

III. HaploView

마지막으로, SNP 정보의 linkage 여부에 따른 LD block의 시각화를 위한 Haploview에 대해서 간단히 정리하고, 포스팅을 마치도록 하겠습니다.

Haploview 4.2 Download

plink --noweb --bfile [mydata] --extract [Gene_SNP_list] --recodeHV --out [Gene_haploview]

plink의 위의 command를 이용하여, Haploview를 원하는 SNP의 list에 대해 ped 및 info 파일을 생성합니다. 이를 HaploView 프로그램을 통해 loading해주면, 생성된 LD block과  계산된Haplotype 조회가 가능합니다. 아래 그림은 HaploView를 이용하여, 생성된 LD block 입니다.

Figure S5

[References]

PLINK: Whole genome data analysis toolset

Purcell, Shaun, et al. “PLINK: a tool set for whole-genome association and population-based linkage analyses.” The American journal of human genetics 81.3 (2007): 559-575.

Chang, Christopher C., et al. “Second-generation PLINK: rising to the challenge of larger and richer datasets.” Gigascience 4.1 (2015): s13742-015.

qqman R package GitHub

Manhattan plot in R: a review

[유전학 중요개념 정리] eQTL

올해 마지막 포스팅으로 유전자 발현을 조절하는데 관여하는 eQTL (expression quantitative trait loci) 에 대해 공부한 내용을 정리하고자 합니다.

사실 개체의 표현형을 결정하는데 있어, 전통적인 멘델의 유전 법칙을 따라 유전형이 표현형을 명확히 나누는 경우는 많지 않습니다. 그럼에도 불구하고 많은 사람들은 유전자의 유전형 (genotype)을 이용하여 표현형의 차이를 이해하는 노력을 끊임없이 하고 있습니다. 그러한 노력의 일환으로 eQTL은 유전형의 차이가 유전자 자체의 산물인 단백질(protein)의 구조 및 기능의 차이가 아니라, 발현량(expression level)에 차이를 미쳐서 표현형에 영향을 준다고 생각하는데서 출발합니다.

그림1
eQTL의 개념은 특정 위치의 유전형이 유전자 발현 수준에 영향을 미쳐, 질병 발생 또는 표현형에 영향을 줄 것이라 가정에서 출발합니다.

eQTL의 개념은 그동안 유전자의 coding region에 집중되어 있던 변이 탐구의 영역을 non-coding region으로 확장시키고, 더불어 그동안 진행되어 왔던 많은 GWAS 연구에서 발굴되었던 많은 non-coding region에 위치한 SNP들의 해석에 대한 한 가지 가능성을 제시해 줍니다.

GWAS의 개념에 대한 포스팅 보기 -> 전장 유전체 연관 분석, GWAS란 무엇인가?

즉, 그 동안의 많은 GWAS 연구들에서 발견된 많은 후보 유전자 영역들은 대부분 단백질을 코딩하는 영역이 아니라서 그 생물학적 역할에 대한 해석이 어려웠는데, 이 중 일부는 유전자 발현을 조절하는 eQTL일 가능성이 있다는 것이죠. 이러한 접근법에서 시작된 연구들 중 일부는 실제로 질병을 대상으로 발굴된 GWAS 마커가 eQTL 임을 밝히기도 하였습니다. 아래는 이렇게 밝혀진 질병 발생 또는 형질 연구와 관련된 eQTL을 정리한 표입니다.

그림4

  eQTL을 통한 유전자 발현 조절은 크게 2가지 조절 기작이 제안되었는데, 흔히 cis- 와 trans- effect로 구분합니다. cis-effect의 경우는 인접 유전자의 promoter에 위치한 영역의 유전형의 차이가 직접적으로 유전자 발현량에 차이를 주는 경우를 말하며, trans-effect의 경우는 1차적으로 조절 유전자 (regulatory)의 어떤 변이 또는 산물의 양이 2차적으로 최종 타겟 유전자의 발현량에 영향을 주는 경우를 말합니다. 아래는 이러한 cis-와 trans-effect에 의한 eQTL의 개념을 잘 보여주고 있습니다.

1

eQTL은 non-coding region의 변이가 regulatory variant (유전자 발현 조절에 관여하는 변이) 라는 가정에서 출발합니다. 이를 이해하기 위한 다음 논의는 Genomics (유전체)에서 Transcriptomics (전사체)로 자연스럽게 옮겨갑니다. 다음 포스팅에서는 이러한 개념들을 위해 필수적으로 이해가 필요한 Omics와 regulatory variant의 역할을 발굴하는 연구 방법론에 대해 정리하기로 하고, 이번 포스팅은 여기서 마칩니다.

 

[References]

Montgomery, Stephen B., and Emmanouil T. Dermitzakis. “From expression QTLs to personalized transcriptomics.” Nature Reviews Genetics 12.4 (2011): 277-282.

Albert, Frank W., and Leonid Kruglyak. “The role of regulatory variation in complex traits and disease.” Nature Reviews Genetics 16.4 (2015): 197-212.

Zhang, Feng, and James R. Lupski. “Non-coding genetic variants in human disease.” Human molecular genetics 24.R1 (2015): R102-R110.

 

전장 유전체 연관 분석, GWAS란 무엇인가?

어제 정신과 전문의 친구와 점심을 먹었습니다. 제가 병원 연구실에서 유전체 연구를 하는 것을 듣고, 함께 연구할 아이디어에 대해서 이야기를 나누자고 만났는데, 안타깝게도 GWAS에 대한 개념이 전혀 없더군요. 지금은 바야흐로 GWAS의 시대입니다. 그래서 이번 글을 유전학 전공자가 아닌 일반인도 쉽게 이해할 수 있도록 전장 유전체 연관 분석 (Genome Wide Association Study; GWAS)의 개념과 연구 방법론에 대해서 글을 써 보고자 합니다.

저는 새로운 개념을 배울 때 항상 그 이름이 의미하는 바를 이해하려고 노력합니다. 그런 의미에서 GWAS라는 이름부터 파헤쳐보겠습니다.

Genome Wide = 전장 유전체 : 모든 유전체 위치에 대해서,

Association Study = 연관 분석: 관심을 가진 형질(Target phenotype)연관성을 갖는 유전적 위치를 찾는다.

GWAS
[GWAS 분석 방법의 개념] 일반적으로 Case (관심 형질을 가진 집단; 환자군)Control (형질을 갖지 않는 집단; 정상군)의 유전 정보를 서로 비교하여, case에서 더 많은 빈도를 갖는 = 연관성을 가진 유전자를 찾게 됩니다.
앞선 글에서 최근의 유전학 연구는 각 유전자 위치와 관련된 형질을 밝혀 그 발현 기전을 이해하는데 집중되고 있다는 말을 했습니다. GWAS는 그러한 유전자와 연관된 형질을 찾는 하나의 탐색 (Exploratory) 방법을 말합니다. 사실 무수히 많은 형질이 어떤 유전자와 관련되어 있는지 실험적으로 찾아내는 것은 정말로 어렵습니다. GWAS는 모든 유전자 위치에 대해 연관성의 정도를 분석하기 때문에, 관심있는 형질 또는 질환에 1차적으로 관련되어 있는 후보 유전자를 찾아내는 데 매우 유용한 탐색 도구 (screening method)가 됩니다.

GWAS는 일반적으로 Case (관심 형질을 가진 집단; 환자군)Control (형질을 갖지 않는 집단; 정상군)의 두 집단의 유전 정보를 얻은 후에 서로 비교하여, case에서 더 많은 빈도를 갖는, 즉 연관성을 가진 유전자를 찾게 됩니다. 한 가지 중요한 내용은 GWAS에서 찾아낸 유전자라 하더라도, 그것이 항상 원인 유전자는 아니라는 점입니다. 즉 GWAS는 인과 관계를 찾는 것이 아니라 우연히 연관되어 나타나는 유전자들의 후보를 찾는 과정입니다.

따라서 일반적으로 연구는 GWAS를 통한 후보 유전자 탐색 > 그리고 이 후에 더 많은 환자군에서 확인 (replication cohort) > 동물 & 세포 실험에서 생물학적 입증의 결과를 거쳐 최종적으로 유전자-형질의 관계를 밝히는 과정으로 진행됩니다. 이러한 GWAS 연구의 역사도 10년이 넘었습니다. GWAS는 강력한 툴 임에 틀림이 없지만, 그 원리가 통계적 연관성 분석에 기인하는 것이기 때문에 그 한계점도 분명히 인식하는 것이 중요합니다. 따라서 명확한 Case와 Control군을 확보하고, 통계적으로 분석이 가능한 충분한 수의 환자수를 확보하는 점도 중요하겠습니다. 하지만 현실에서는 이것이 쉽지만은 않죠.

linkage_disequilibrium
우리는 부모로 부터 두 쌍의 염색체 쌍 (상동 염색체)을 물려 받아 무작위적으로 재조합이 일어나게 됩니다. 그러나 유전자 재조합은 덩어리로 일어나기 때문에, 서로 거리가 가까운 유전자 위치 끼리는 유전형이 섞이지 않고 모자이크 패턴으로 함께 이동하게 되며, 이러한 하나의 덩어리를 일반적으로 LD block이라고 부릅니다.

더불어 GWAS 분석 방법을 이해하는 데 중요한 개념이 있는데, 흔히 LD (Linkage Disequilibrium)라고 부르는 ‘연관 비평형’ 입니다. 우리는 부모로부터 한 쌍씩 유전자를 물려받게 되는데, 생식 세포는 분열되면서 같은 세포 내에서도 끊임없이 유전형의 재배열이 일어납니다. 그러나 유전자 재조합은 덩어리로 일어나기 때문에, 서로 거리가 가까운 유전자 위치 끼리는 유전형이 섞이지 않고 모자이크 패턴으로 함께 이동하게 되며, 이러한 하나의 덩어리를 일반적으로 ‘LD block’이라고 부릅니다. 같은 LD block에 포함된 위치에 대해서는 연관성 분석을 하게 되면, 동일한 연관성을 보인 p 값을 보이기 됩니다. LD block의 존재는 다음과 같이 4가지를 시사합니다.

  1. GWAS 분석은 30억쌍의 모든 염기 서열에 대해서 할 필요가 없다. 같은 LD block에서 대표적인 하나의 마커만 이용해도 된다. > 분석 위치의 수가 축소화 됩니다.
  2. GWAS 연관 분석으로 후보 위치를 찾았다 하더라도, 정확한 원인 유전자의 위치는 LD block 내에 존재한 다른 위치일 수 있다. > GWAS로 찾아낸 후보 위치 근처의 유전형을 상세하게 다시 살펴봐야 하는 이유입니다.
  3. GWAS에 흔히 이용되는 Manhattan plot (맨하탄 플롯)에서 시그널이 하나의 탑처럼 주위에서 모두 높게 나오는 이유가 됩니다.
  4. 흔히 Imputation이라고 부르는 과정을 통해, 같은 LD block 내의 검사하지 않은 부위의 유전형도 추정이 가능해집니다.

Manhattan_Plot
[Manhattan plot] GWAS 분석 결과 의미 있는 시그널이 마치 맨하탄 가에 위치한 고층 빌딩들처럼 나온다고 하여 맨하탄 플롯 이라는 이름이 붙게 되었습니다.
마지막으로 GWAS에 관한 글은 GWAS catalog를 소개하면서 마치도록 하겠습니다. 지금 까지 무수히 많은 형질에 대한 GWAS 연구가 진행되었고, 최근에는 일반적인 형질에 대해서 UK biobank에 유전 정보와 형질이 공개되면서, 많은 부분 형질과 유전형 간의 GWAS 연구 및 관계가 드러나는 중입니다. 하지만 다시 한번 강조하면, 연관성과 인과 관계는 다릅니다. 따라서 확실한 생물학적 메카니즘으로 이를 설명하기 위해서는 후속 연구가 중요하게 됩니다. 이러한 GWAS 연구를 통해 형질과 유전자 위치의 관계가 명확하게 드러난 데이터를 모아 놓은 것이 GWAS catalog입니다. GWAS catalog는 지금도 계속 업데이트 되는 중이며, 나중에는 많은 질병과 유전병에 대해서 정보가 추가되기를 기대합니다.

아래 유튜브 자료에 GWAS catalog에 관한 내용이 잘 소개되어 있어 참고하면 좋을 것 같습니다.

[References]

Bush, William S., and Jason H. Moore. “Genome-wide association studies.” PLoS computational biology 8.12 (2012).

MacArthur, Jacqueline, et al. “The new NHGRI-EBI Catalog of published genome-wide association studies (GWAS Catalog).” Nucleic acids research 45.D1 (2017): D896-D901.

http://www.ebi.ac.uk/gwas/