gwas snp 和_GWAS分析中:为何有些SNP效应值大却不显著?
之前的GWAS分析中,我查看結果時有過這個疑問,隨著不斷的學習理解,我已經知道了為什么,這里將我思考的結果分享一下。
1. 錯誤的理解
某一個SNP,效應值(Effect)越大,就越顯著???
「事實上:」 效應值和顯著性是兩碼事!
2. 用代碼說話
GWAS分析中,最簡單的就是一般線性模型(GLM),而GLM模型進行的GWAS分析中,用R語言實現的代碼如下:
mod_M7 = lm(phe.V3 ~ M7_1,data=dd) summary(mod_M7)「結果:」
這個里面:
- Estimate就是效應值:3.3265,這個就是SNP M9的效應值
- Pr就是P值:0.0272,這個就是SNP M9的P值
可以看到,這兩個是兩個指標,他們之間沒有必然的聯系。
3. GWAS分析的思路
- 1,將SNP的分型轉化為0, 1, 2的形式,主效純合(major)編碼為0,雜合編碼為1,次等位純合編碼為2
- 2,x變量為0,1,2的數值,y變量為性狀表型值
- 3,對x和y做回歸分析y ~ a*x + b,a為效應值,a是否顯著的P值,為SNP的P值
4. SNP效應值很大,卻不顯著
# SNP 分型 set.seed(666) x = rep(c(0,1,2),3) x# 模擬表型值 y = 12*x + rnorm(9)*10# 作回歸分析 mod = lm(y ~ x) summary(mod)# 作圖 dd = data.frame(x,y) dd ggplot(dd,aes(x=x,y=y)) + geom_point() + stat_smooth(method='lm',formula = y~x,colour='red')看一下這個數據:
> ddx y 1 0 7.533110 2 1 32.143547 3 2 20.448655 4 0 20.281678 5 1 -10.168745 6 2 31.583962 7 0 -13.061853 8 1 3.974804 9 2 6.077592計算每種分型對應的表型平均值:
> # 平均值 > aggregate(y~x,data = dd,mean)x y 1 0 4.917645 2 1 8.649869 3 2 19.370070可以看出,分型0對應的是4.9,最小,分型1對應的是8.6,分型2對應的是19.3,趨勢是比較明顯的。
「看一下回歸分析的結果:」
> # 作回歸分析 > mod = lm(y ~ x) > summary(mod)Call: lm(formula = y ~ x)Residuals:Min 1Q Median 3Q Max -21.148 -12.128 2.243 13.379 21.164 Coefficients:Estimate Std. Error t value Pr(>|t|) (Intercept) 3.753 8.558 0.439 0.674 x 7.226 6.629 1.090 0.312Residual standard error: 16.24 on 7 degrees of freedom Multiple R-squared: 0.1451, Adjusted R-squared: 0.023 F-statistic: 1.188 on 1 and 7 DF, p-value: 0.3118可以看出,效應值為7.226,但是P值卻是0.312,不顯著。
所以說,效應值大的SNP位點,不一定是顯著的。
「為何會出現這種情況呢?」 我們畫一個散點圖看一下分布情況:
library(ggplot2) ggplot(dd,aes(x=x,y=y)) + geom_point() + stat_smooth(method='lm',formula = y~x,colour='red')可以看到,分型為1的表型值,有一個非常高,達到了31,相當于在進行T檢驗時,標準誤se比較高,導致P值較大,不顯著。
5. SNP效應值很小,卻極顯著
我們還模擬數據:
# SNP 分型 set.seed(666) x = rep(c(0,1,2),3) x# 模擬表型值 y = 0.1*x + rnorm(9)*0.01# 作回歸分析 mod = lm(y ~ x) summary(mod)# 作圖 dd = data.frame(x,y) dd library(ggplot2) ggplot(dd,aes(x=x,y=y)) + geom_point() + stat_smooth(method='lm',formula = y~x,colour='red')# 平均值 aggregate(y~x,data = dd,mean)「模擬的數據如下:」
> ddx y 1 0 0.00753311 2 1 0.12014355 3 2 0.19644866 4 0 0.02028168 5 1 0.07783126 6 2 0.20758396 7 0 -0.01306185 8 1 0.09197480 9 2 0.18207759計算每種分型對應的表型平均值:
> aggregate(y~x,data = dd,mean)x y 1 0 0.004917645 2 1 0.096649869 3 2 0.195370070可以看到,三種基因型,階梯感也很強。
「回歸分析結果:」
> # 作回歸分析 > mod = lm(y ~ x) > summary(mod)Call: lm(formula = y ~ x)Residuals:Min 1Q Median 3Q Max -0.021148 -0.012128 0.002243 0.013379 0.021164 Coefficients:Estimate Std. Error t value Pr(>|t|) (Intercept) 0.003753 0.008558 0.439 0.674 x 0.095226 0.006629 14.365 1.89e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.01624 on 7 degrees of freedom Multiple R-squared: 0.9672, Adjusted R-squared: 0.9625 F-statistic: 206.4 on 1 and 7 DF, p-value: 1.886e-06可以看出: SNP的效應值:0.095 SNP的P值:1.89e-6(達到極顯著水平)
「作圖看一下:」
雖然回歸系數(SNP效應值很小),但是每個分型對應的表型值相差不多,組內變異(同一種基因型的表型值)遠遠小于組間變異(不同SNP分型對應的表型值),導致進行T檢驗時,達到極顯著水平。
這也就出現了SNP的效應值很低,但是卻達到了極顯著水平。
6. 從生物學水平如何解釋?
可以這樣理解, 「SNP效應值小但顯著的位點:」 屬于對表型值是有直接影響的,但是影響的效應較小,但是比較穩定,所以才表現出極顯著,而效應小
「SNP效應大但不顯著的位點:」 有可能SNP是有大效應的,但是容易受到環境影響,或者由于群體的結構(某個群體內聚集),或者由于某些異常值導致這種情況。也有可能本身就是不顯著的。
「林子大了,什么鳥都有!」 畢竟SNP都是上萬,上十萬,上百萬的量。而表型值都是上百,上千,很少達到上萬的,這就存在很多種情況,導致有些SNP效應值很大,但是不顯著,有些SNP效應值很小,但是極顯著。這里需要區分對待一下。
如果有很多SNP出現這種情況,必然有妖,查看是否過濾了maf,是否對基因型進行了填充,是否表型數據有異常,如果都檢查過了,出現這種情況,我們也只能說:it happens,有時候會出現,這不是不可解釋的現象,否者我寫這篇文章的意義在哪里呢?除了灌水,還有炫技啊
7. GWAS系列相關
筆記 | GWAS 操作流程1:下載數據
筆記 GWAS 操作流程2-1:缺失質控
筆記 | GWAS 操作流程2-2:性別質控
筆記 GWAS 操作流程2-3:最小等位基因頻率
筆記 GWAS 操作流程2-4:哈溫平衡檢驗
筆記 GWAS 操作流程2-5:雜合率檢驗
筆記 GWAS 操作流程2-6:去掉親緣關系近的個體
筆記 GWAS 操作流程3:plink關聯分析
筆記 | GWAS 操作流程4-1:LM模型assoc
筆記 | GWAS 操作流程4-2:LM模型linear+數值協變量
筆記 | GWAS 操作流程4-3:LM模型+因子協變量
筆記 | GWAS 操作流程4-4:LM模型+數值+因子協變量
筆記 | GWAS 操作流程4-5:LM模型+數值+因子+PCA協變量
筆記 GWAS 操作流程5-1:根紅苗正的GWAS分析軟件:GEMMA
筆記 GWAS 操作流程5-2:利用GEMMA軟件進行LMM+PCA+協變量
總結
以上是生活随笔為你收集整理的gwas snp 和_GWAS分析中:为何有些SNP效应值大却不显著?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机蓝牙如何减少延时_如何使用车载蓝牙播
- 下一篇: 无法监控端口_如何使用snmp监控lin