第五节 R软件的应用
一、组合
从数学角度来看,组合的公式,即从n个不同的对象中选择r(顺序不重要)是:
(3-35)
在R中,可以使用choose()函数计算组合。choose()函数计算给定参数的组合。选择(n,r),用参数n和r计算
。例如:
> #calculate numberof combinations of
> #choosing 3nucleotides from 4
> choose(4,3)
[1] 4
二、伽马函数
伽马函数可以写成如下形式:
![]()
换句话说,n的伽马函数等于(n-1)阶乘。R中这可以很方便计算该函数的值,gamma(x)其中x是要计算的阶乘的值加1。例如,计算4!等于4 * 3 * 2 * 1,您可以在R中使用gamma(5)计算,如下:
> #gamma of n+1 calculates n!
> #to calculate 4!use gamma(5)
> gamma(5)
[1] 24
伽玛函数可以用来执行任何置换或组合程序。例如,要计算20个氨基酸的独特的8肽排列(顺序是这里很重要,所以它是一个排列问题),只需使用公式转换置换成伽玛函数的等式如下:
![]()
在R中,可以简单地计算为:
> gamma(21)/gamma(13)
[1] 5079110400
因此,有8个独特氨基酸可能排列5,079,110,400个。虽然伽玛函数初看起来很奇怪(并且通常不是在低年级的数学课程中讲授),伽马函数涉及几个连续的概率分布,包括伽玛分布,贝塔分布和卡方分布。贝叶斯统计中利用这些分布,并且它们被大量使用在生物信息学中。
三、随机变量
概率是基于观察实验的随机结果。模拟这些结果使用数学函数,我们使用“随机”的变量。随机变量为每个结果分配一个数值实验。
例如,考虑下面的RNA序列:
AUGCUUCGAAUGCUGUAUGAUGUC
在这个序列中有5个A,9个U,6个G和4个C,共24个碱基。为了对这个序列建模,可以使用随机变量X代表核苷酸残基。当定性描述一个随机变量时,可以为非数字结果分配一个数字。为了实验让我们代表A的随机变量值赋值为0,C代表为1,G表示为2,U表示为3。小写字母表示随机变量的结果,所以这里可以使用x。所以,从概率论来说,这个模型使用了表6-1给出了该实验的随机变量X。
表3-3 用随机变量X定量模拟特定RNA序列中的残基
碱基 |
x的值 |
P(X=x) |
A |
0 |
5/24=0.208 |
C |
1 |
4/24=0.167 |
G |
2 |
6/24=0.25 |
U |
3 |
9/24=0.375 |
如果要计算RNA序列中另一个核苷酸的频率,随机变量的值将是相同的,但是随机变量的概率假定值会略微不同,反映了实验的不同次数的结果。概率模型只是使用随机变量
代表一个实验的结果,不管它是一个简单的实验(如以上),或者是一个更复杂的实验,其实验结果有很多类型。
对于简单的离散随机变量,相关的概率分布可以使用表格来描述上述RNA的概率,或者可以使用图形。可以使用R画的直方图(如图6-9所示)用于模拟概率分布函数,对于这个例子:
> X<-c(0,1,2,3)
> Prob<-c(0.208,0.167,0.25,0.375)
> N<-c (‘A’, ‘C’, ‘G’, ‘U’)
> barplot(Prob,names=N,ylab="Probability",main="RNA Residue Analysis")

图3-17 RNA残基的概率密度函数的直方图
为了找到这个例子的累积概率分布值,只需累加对于0,1,2,3的每个X值的概率即可,即累加随机变量X假定该值或较小值的概率。例如,如果X等于2,CDF是X = 2,X = 1,X = 0的概率之和。简单地总计为P(X = 2)加P(X = 1)加P(X = 0)的值。对于我们的RNA残基的例子,CDF的计算如表3-4所示。
表3-4 RNA残基分析实例中的概率分布和累积概率分布
碱基 |
x的值 |
P(X=x) |
P(X<=x) |
A |
0 |
5/24=0.208 |
0.208 |
C |
1 |
4/24=0.167 |
0.375 |
G |
2 |
6/24=0.25 |
0.625 |
U |
3 |
9/24=0.375 |
1 |
为了直观地分析CDF,可以在R中完成该CDF的步骤图,将以下命令添加到前面的代码中。如图3-18所示。
>CumProb<-c(0.208, 0.375, 0.625, 1)
>plot(X,CumProb,xlim=range(0,1,2,3,4), main="RNA Residue AnalysisCDF", xlab="X=", type="S")

图3-18 RNA残基分析的累积分布函数

