https://chr1swallace./coloc/index.html 01.共定位分析的目的 共定位分析通常用于鑒定兩個表型是否由某一區(qū)域的同一個causal variant驅(qū)動,從而加強兩個表型之前的關(guān)聯(lián)證據(jù)。這些表型可以是分子表型(如蛋白質(zhì),mRNA等),也可以是常見的連續(xù)型性狀(如血壓,BMI等)或二分類疾病(如糖尿病,AD等)。 02.共定位分析的假設(shè) 在給定區(qū)域中,共定位分析的前提假定是兩個性狀中的每一個性狀在該區(qū)域最多有1個真正的causal variant,由此產(chǎn)生了五個互斥的模型假定(H0-H4),這五個模型假定是前提假定下的所有可能的關(guān)聯(lián)情況 共定位分析的過程中,會為上面每個模型產(chǎn)生后驗概率(PP.H0-PP.H4),五個模型后驗概率總和為1,當(dāng)某一模型的后驗概率越高,說明對應(yīng)的模型假定在給定數(shù)據(jù)的情況下更有可能成立,當(dāng)然在一般的分析中,我們更希望H4假定成立,因為H4模型假定表示兩個性狀由同一個causal variant驅(qū)動。一般當(dāng)PP.H4>0.75時(這個值可視情況調(diào)整),我們認為H4模型假定成立。 H4模型假定成立,說明該區(qū)域內(nèi)存在一個variant是兩個性狀共享的,但具體是哪個variant并不清楚,所以共定位分析除了給一個區(qū)域的五個模型假定計算后驗概率外,它也對區(qū)域內(nèi)的每個SNP計算SNP的后驗概率(SNP.PP.H4),以評估哪個variant是最有可能的causal variant。 03.共定位分析的數(shù)據(jù)要求 For summary data(eQTL,pQTL,GWAS數(shù)據(jù)等): 二分類表型需要SNP,CHR,BP,A1,A2,BETA,VAR 連續(xù)型表型需要SNP,CHR,BP,A1,A2,BETA,VAR,MAF,N 注意: 1.共定位分析是在一個基因組區(qū)域進行,所以至少一個數(shù)據(jù)里有CHR,BP,方便提取區(qū)域的SNP 2.共定位需要的是方差,而不是標(biāo)準(zhǔn)差,方差等于SE的平方,VAR = SE^2 3.共定位分析要求不能有重復(fù)SNP,并且SNP在兩個數(shù)據(jù)中不能有缺失值 4.數(shù)據(jù)最好對齊效應(yīng)等位基因 關(guān)于區(qū)域的選擇:一般這個區(qū)域在1MB左右即可,這樣保證區(qū)域內(nèi)有幾千個SNP可以用來計算,這個區(qū)域的選擇一般是包含該區(qū)域在兩個性狀中的顯著信號即可,如果是QTL數(shù)據(jù)和GWAS數(shù)據(jù)進行共定位,一般這個區(qū)域由QTL的cis-region決定,如果是對兩個性狀的GWAS數(shù)據(jù)進行共定位,一般是根據(jù)對GWAS數(shù)據(jù)clump后的某一區(qū)域的top SNP加減500kb決定。 04.共定位分析的代碼演示 ################# #兩個二分類表型 #注意,此代碼僅為示例 ################# rm(list=ls()) library(dplyr) library(coloc) setwd('E:/project/') #讀取數(shù)據(jù) data1 = data.table::fread('./1.DATA/AD',sep = '\t',header=T) data2 = data.table::fread('./1.DATA/PD',sep = '\t',header=T)
#提取一個區(qū)域 data1 = data1 %>% filter(CHR==9,BP >= 4981602-500000,BP <= 4981602 500000) data2 = data2 %>% filter(CHR==9,BP >= 4981602-500000,BP <= 4981602 500000)
#合并并去重 data = merge(data1,data2,by='SNP') data = data[!duplicated(data$SNP),]
#對齊效應(yīng)等位基因 data = data %>% filter((A1.x==A1.y&A2.x==A2.y)|(A1.x==A2.y&A2.x==A1.y)) data = data %>% mutate(BETA.y = ifelse(A1.x==A1.y,BETA.y,-BETA.y))
#計算方差VAR data$VAR.x = data$SE.x^2 data$VAR.y = data$SE.y^2 data = data[data$VAR.x!=0 & data$VAR.y!=0 ,]
#拆分整理 data1 = data[,c('BETA.x','VAR.x','SNP')] data2 = data[,c('BETA.y','VAR.y','SNP')] colnames(data1)=c('beta','varbeta','snp') colnames(data2)=c('beta','varbeta','snp') data1 = as.list(data1) data2 = as.list(data2)
#聲明表型類型,二分類表型'cc',連續(xù)型表型'quant' data1$type = 'cc' data2$type = 'cc'
#coloc分析,p1,p2,p12為先驗概率參數(shù),下面的值是默認參數(shù) res = coloc.abf(data1,data2,p1=1e-4,p2=1e-4,p12=1e-5)
04.共定位分析的結(jié)果 res$results保存了該區(qū)域每個SNP的SNP.PP.H4,區(qū)域中SNP.PP.H4最大的SNP是最有可能共享的那個causal variant。我們可以看到rs4603的SNP.PP.H4=0.906,說明rs4603是最有可能的causal variant。 05.該算法的缺陷及擴展
|
|
來自: 昵稱69125444 > 《科研》