生物学的现代统计方法与应用 第一讲 列联表1:验证Chargaff规则(碱基配对规则)

生物学的现代统计方法与应用 第一讲 列联表1:验证Chargaff规则(碱基配对规则)

问题描述:Chargaff规则

核苷酸(nucleotide)是核酸的基本组成单位,它以一个含氮碱基为核心,加上一个五碳糖和一个或者多个磷酸基团组成,下面的图是我从维基百科扒来的,感觉非常清晰。含氮碱基有五种,分别是腺嘌呤(A)、鸟嘌呤(G)、胞嘧啶(C)、胸腺嘧啶(T)和尿嘧啶(U)。五碳糖为脱氧核糖的称为脱氧核糖核苷酸,是DNA的单体基本组成单位;五碳糖为核糖的称为核糖核苷酸,是RNA的基本组成单位。DNA中可以有的碱基是ATCG,RNA中可以有的碱基是AUCG。
在这里插入图片描述

核苷酸分布频率的规则是由Elson与Chargaff在1952年发现的(Elson, D, and E Chargaff. 1952. “On the Desoxyribonucleic Acid Content of Sea Urchin Gametes.” Experientia 8 (4). Springer: 143–45.)。下面是Chargaff的一些实验数据:

##                   A    T    C    G
## Human-Thymus   30.9 29.4 19.9 19.8
## Mycobac.Tuber  15.1 14.6 34.9 35.4
## Chicken-Eryth. 28.8 29.2 20.5 21.5
## Sheep-liver    29.3 29.3 20.5 20.7
## Sea Urchin     32.8 32.1 17.7 17.3
## Wheat          27.3 27.1 22.7 22.8
## Yeast          31.3 32.9 18.7 17.1
## E.coli         24.7 23.6 26.0 25.7

第一列表示某种生物的某个部位,每一行的四个数字表示这个部位的四种核苷酸的比例,下面是这些数据的柱状图:

在这里插入图片描述
Chargaff根据这些实验数据得到了一个结论:A的含量与T相同,C的含量与G相同,这个结论被称为Chargaff规则。这其实就是在高中生物中,我们学过的在DNA的结构中有一个碱基配对原则,因为DNA是双链结构,两条链上的碱基满足配对关系:A与T配对,C与G配对,于是 p A = p T , p C = p G p_A=p_T,p_C=p_G pA=pT,pC=pG

验证Chargaff规则的统计量

一个值得讨论的问题是 p A = p T , p C = p G p_A=p_T,p_C=p_G pA=pT,pC=pG是否成立,用统计决策的方法建模,我们需要检验:
H 0 : C h a r g a f f 规 则 不 成 立 H a : p A = p T , p C = p G H_0:Chargaff规则不成立\\ H_a:p_A = p_T, p_C = p_G H0:ChargaffHa:pA=pT,pC=pG

我们可以回顾一下我们学过的假设检验工具:

总体 检验均值 检验比例
单总体 Z检验、T检验 proportional z检验
两总体 Z检验、T检验 proportional z检验
多总体 ANOVA F检验 列联表卡方检验

根据我们需要做的假设检验,显然这是一个四总体的比例检验问题,因此我们应该用列联表。

如果不了解列联表方法,我们也可以尝试定义一个简单的统计量来验证Chargaff规则。定义 χ 2 = ( p A − p T ) 2 + ( p C − p G ) 2 \chi^2=(p_A-p_T)^2+(p_C-p_G)^2 χ2=(pApT)2+(pCpG)2

直观地理解一下这个统计量,在原假设下,这个统计量等于0,所以统计量的取值越小,我们越能信任原假设。

statChf = function(x){
    
    
  sum((x[, "C"] - x[, "G"])^2 + (x[, "A"] - x[, "T"])^2)
}
chfstat = statChf(ChargaffTable)
permstat = replicate(100000, {
    
    
     permuted = t(apply(ChargaffTable, 1, sample))
     colnames(permuted) = colnames(ChargaffTable)
     statChf(permuted)
})
pChf = mean(permstat <= chfstat)
pChf
## [1] 0.00014

说明
前三行定义的函数statChf作用是计算我们定义的统计量 χ 2 \chi^2 χ2,第四行是用这个函数代入Chargaff的实验数据计算统计量 χ 2 \chi^2 χ2的值;

第五到八行通过replicate函数对原数据做bootstrap,并用bootstrap样本计算 χ 2 \chi^2 χ2统计量,得到 χ 2 \chi^2 χ2的一个经验分布。第一个输入100000表示我们想得到100000组bootstrap样本,第二个输入表示我们希望用这些bootstrap样本执行{}中的语句,大概就是对每一行的比例做置换得到新的样本,然后用statChf函数计算 χ 2 \chi^2 χ2统计量。

第九行到第十行是在根据经验分布计算检验的p-值,结果是0.00014,也就是说我们可以显著拒绝原假设,因此Chargaff规则成立。下面的柱状图表示经验分布,红线表示实验数据的 χ 2 \chi^2 χ2统计量。

hist(permstat, breaks = 100, main = "", col = "lavender")
abline(v = chfstat, lwd = 2, col = "red")

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44207974/article/details/112551516