DNA序列问题模型详解.docx
《DNA序列问题模型详解.docx》由会员分享,可在线阅读,更多相关《DNA序列问题模型详解.docx(37页珍藏版)》请在冰豆网上搜索。
DNA序列问题模型详解
2015年芜湖三校数学建模竞赛
题目DNA序列问题模型
摘要
DNA序列是由A,T,G,C四个表示4种碱基的字符组成的序列。
本文研究DNA序列的结构找出序列间的差异和对八个物种的DNA序列进行分类。
对于问题一首先对数据运用数理统计方法对数据进行计算,得到八个物种的DNA序列的碱基的丰度、碱基的重复出现情况、碱基之间的相邻情况、不同碱基的丰度之比的四个特征,通过对这四个特征作出相应的散点图比较得出八个物种的DNA序列间的差异:
Human、Opossum、Lemur、Rat等4种DNA序列的长度相同,其他四种DNA序列的长度各不相同,每种DNA序列四种碱基的的重复情况也各不相同;G碱基的丰度相对于本序列的其他碱基的丰度都要高,碱基A的丰度在各个序列中丰度差不多,其他三种碱基在序列中波动性较大,差异性较大;8种DNA序列中GG、GT的相邻的状况比较明显;各个DNA序列中碱基丰度比
、
、
含量差不多且都含量比较高;其中,DNA序列中
、
、
含量差不多且都含量比较低。
对于问题二我们首先通过对问题一散点图的分析选取以碱基的丰度和碱基间的丰度之比为分类的指标,构建为分类的特征向量,但这些特征向量之间存在着一定的相关性,我们运用R型聚类选择出相关性程度差的特征向量为Q型聚类的指标。
通过Q型聚类我们将这8种DNA序列分为3种分类方式,通过利用means方法,检验各类别在所有变量上的差异,再利用单因素方差分析最终确定将8种DNA序列分为四类。
分类结果如下:
第一类:
Human、Mouse;
第二类:
Goat、Rabbit;
第三类:
Opossum、Lemur、Rat;
第四类:
Gallus。
关键词:
数理统计;R型聚类;Q型聚类;means法;单因素方差分析法
1问题重述
DNA序列是由A,T,G,C四个表示4种碱基的字符组成的序列。
研究DNA序列的结构及序列中隐藏的规律,成为生物信息学的重要研究课题。
根据表1中八个物种的β-球蛋白基因的第一个外显子序列,请解决以下问题:
1.建立数学模型刻画序列间的差异;
2.对表1中八个物种的DNA序列进行分类。
2基本假设
1)假设所给的DNA序列片段中没有断句和标点符号;
2)假设具有特殊碱基的DNA序列中,特殊碱基可以剔除,其影响可以忽略;
3)8个物种DNA序列具有共同的特征;
4)假设给定的DNA序列均是从全序列中随机截取出来的,无法确定序列的起始位,无法从序列中辨认出氨基酸,所以,在对DNA序列分类时,从碱基层次上进行分类,而不是从氨基酸层次上分类;
5)不考虑碱基序列的编码区和非编码区的区别;
6)题目中所给的样本信息量足够大;
7)题目附录中所给的数据真实可靠。
3符号说明
:
各个DNA序列中碱基
出现的数量,i为A、T、C或G
:
第i个DNA序列的总碱基数目
:
各个DNA序列中碱基
的丰度,i为A、T、C或G
:
各个DNA序列中碱基i和碱基j的比值,i,j为A、T、C或G
:
DNA序列中A、C、G、T的重复次数矩阵
:
DNA序列中A、C、G、T的所占百分量矩阵
:
第i个DNA序列相邻碱基占序列相邻情况的百分比,
为A、C、T或G
:
R型聚类的特征向量
:
DNA序列中四个碱基之间丰度比矩阵
4模型的建立及求解
(1)问题一模型的建立及求解
1)问题分析
首先对数据运用数理统计方法对数据进行计算,得到八个物种的DNA序列的碱基的丰度、碱基的重复出现情况、碱基之间的相邻情况、不同碱基的丰度之比(如碱基A与碱基T的丰度之比)的四个特征,通过对这四个特征作出相应的散点图比较得出八个物种的DNA序列间的差异。
2)模型建立及求解
(1)碱基重复出现的情况
运用matlab求出8种物种DNA序列各自的碱基的重复出现的结果(即每种DNA序列中碱基的个数)和每种DNA序列的碱基数目(即序列的长度)。
(matlab运算的程序代码见附录一)其运算的结果如下:
[
17211935
17171735
21222029
19152334
19231535
17232034
17201637
20211833]
Human、Opossum、Lemur、Rat等4种DNA序列的长度相同,其他四种DNA序列的长度各不相同;同时每种DNA序列四种碱基的的重复情况也各不相同,其中,Human、Goat、Mouse、Rabbit碱基A的重复情况一样;Gallus、Lemur碱基A重复情况一致;Lemur、Mouse碱基T的重复情况一致;Opossum、Mouse碱基C的重复情况一致;Human、Goat、Lemur碱基G的重复情况一致;Gallus、Mouse碱基的重复情况一样;其他物种碱基重复情况各不相同。
(2)碱基的丰度
对8种DNA序列碱基丰度的分析,i中A碱基丰度的计算:
(4-1)
其他碱基T、C、G运算方式一样。
通过matlab计算出8种序列的中A、T、C、G四种碱基的丰度结果如下(matlab运算的程序代码见附录一):
[
0.18480.22830.20650.3804
0.19770.19770.19770.4070
0.22830.23910.21740.3152
0.20880.16480.25270.3736
0.20650.25000.16300.3804
0.18090.24470.21280.3617
0.18890.22220.17780.4111
0.21740.22830.19570.3587]
并运用matlab作出8种DNA序列四种碱基丰度的散点图(matlab运算程序代码见附录二)如图4-1所示。
图4-14种碱基的丰度散点图
通过上述散点图可知每种序列的碱基丰度各有不同,G碱基的丰度相对于本序列的其他碱基的丰度都要高,碱基A的丰度在各个序列中丰度差不多,其他三种碱基在序列中波动性较大,差异性较大。
(3)碱基之间的相邻情况
运用matlab计算出DNA序列相邻碱基的情况,分别为各个序列的AA、AC、AG、AT、CA、CC、CG、CT、GA、GC、GG、GT、TA、TC、TG、TT的相邻次数占各条序列相邻情况的百分比,即如表4-1格式,运用matlab计算DNA序列相邻碱基占序列相邻情况的百分比结果如下(matlab运算程序代码见附录二):
表4-1相邻碱基在序列的排列情况
碱基A
碱基C
碱基G
碱基T
碱基A
AA
AC
AG
AT
碱基C
CA
CC
CG
CT
碱基G
GA
GC
GG
GT
碱基T
TA
TC
TG
TT
DNA序列相邻碱基占序列相邻情况的百分比:
[
0.04710.04710.08240.0235
0.03530.08240.02350.0824
0.08240.07060.14120.1059
0.02350.02350.16470.0353]
[
0.05880.02350.09410.0235
0.03530.04710.02350.0941
0.09410.10590.14120.0588
00.02350.15290.0235]
[
0.03530.08240.08240.0353
0.07060.047100.1059
0.09410.04710.09410.0706
0.02350.04710.12940.0353]
[
0.05880.03530.07060.0471
0.05880.07060.03530.0824
0.07060.10590.14120.0471
0.01180.03530.12940]
[
0.04710.02350.09410.0471
0.03530.02350.01180.0941
0.10590.07060.10590.0824
0.01180.04710.15290.0471]
[
0.05880.03530.05880.0353
0.02350.08240.01180.0941
0.09410.07060.08240.0941
00.03530.18820.0353]
[
0.05880.01180.09410.0353
0.04710.05880.01180.0588
0.08240.05880.12940.1294
00.04710.16470.0118]
[
0.07060.04710.05880.0471
0.01180.07060.01180.1059
0.08240.08240.10590.0706
0.047100.16470.0235]
分析DNA序列相邻碱基占序列相邻情况可知,Human序列中GG、GT、TG的含量较多;Goat序列中出现GG、TG、GC的含量较多,其中TA为0;Opossum序列中出现TG、CT的含量较多,其中CG为0;Gallus序列中出现GC、GG、TG的含量较多,其中TT为0;Lemur序列中出现GA、GG、TG的含量较多;Rabbit序列中出现GT、GG、TG的含量较多,其中TA为0;Rat序列中出现TG、GG、CT的含量较多,其中TC为0。
其中,在8种DNA序列中GG、GT的相邻的状况比较明显。
(4)不同碱基的丰度之比
为了比较DNA序列之间的差异,不同碱基的丰度之比,是影响其差异的重要原因之一。
样品i中碱基T和碱基A的比值计算:
(4-2)
碱基C与A、碱基G与A、碱基C与T、碱基G与T、碱基G与C运算方式一样。
通过matlab计算出DNA序列中四个碱基之间的丰度之比结果如下(matlab运算程序见附录三):
[
1.23531.11762.05880.90481.66671.8421
1.00001.00002.05881.00002.05882.0588
1.04760.95241.38100.90911.31821.4500
0.78951.21051.78951.53332.26671.4783
1.21050.78951.84210.65221.52172.3333
1.35291.17652.00000.86961.47831.7000
1.17650.94122.17650.80001.85002.3125
1.05000.90001.65000.85711.57141.8333]
运用matlab绘制出DNA序列中四种碱基之间丰度之比的散点图如图4-2所示。
图4-2 碱基丰度比散点图
通过图4-2,进行数据分析可得:
各个DNA序列中碱基G和碱基C的丰度之比,碱基G和碱基T的丰度之比,碱基C和碱基T的丰度之比含量差不多且都含量比较高;其中,DNA序列中碱基T和碱基A的丰度之比,碱基C和碱基A的丰度之比,碱基G和碱基A的丰度之比含量差不多且都含量比较低。
综上八个物种的DNA序列的碱基的丰度、碱基的重复出现情况、碱基之间的相邻情况、不同碱基的丰度之比的四个特征,通过对这四个特征作出相应的散点图比较得出八个物种的DNA序列间的差异。
(二)问题二模型的建立及求解
1、问题分析
为了使DNA序列的分类能够尽量科学合理,集中要解决的问题是让分类后的样品满足:
同类样品间的差异性尽可能小,不同类样品间的差异性尽可能大。
为达到上述目的,引入聚类分析模型对不同的DNA序列进行分类。
首先我们分析DNA的序列结构,提取出相应的特征。
我们分析DNA特征主要从碱基的丰度、不同碱基的丰度之比方面进行入手。
我们把8种序列的DNA的碱基丰度和不同碱基丰度作为分类的特征。
但这些特征之间存在着一定的相关性,采用R型聚类从中选取代表性的指标。
再以这些代表型的指标,采用Q型聚类,对8种DNA序列进行分类。
2、模型的建立与求解
(1)DNA序列特征变量的引入
从问题一我们可知影响DNA序列的差异有DNA序列的碱基的丰度、碱基的重复出现情况、碱基之间的相邻情况、不同碱基的丰度之比,经过比较数据的差异我们选择序列中A,C,T,G的碱基丰度和序列中A,C,T,G的碱基间的丰度比作为对8种DNA序列分类的指标。
我们以
、
、
、
、
、
、
、
、
、
为指标建立相应的特征向量
。
[
0.18480.22830.20650.38041.23531.11762.05880.90481.66671.8421
0.19770.19770.19770.40701.00001.00002.05881.00002.05882.0588
0.22830.23910.21740.31521.04760.95241.38100.90911.31821.4500
0.20880.16480.25270.37360.78951.21051.78951.53332.26671.4783
0.20650.25000.16300.38041.21050.78951.84210.65221.52172.3333
0.18090.24470.21280.36171.35291.17652.00000.86961.47831.7000
0.18890.22220.17780.41111.17650.94122.17650.80001.85002.3125
0.21740.22830.19570.35871.05000.90001.65000.85711.57141.8333]
(2)R型聚类分析
可以看出某些特征之间确实存在着一定的相关性,因此可以考虑从这些指标中选取几个有代表性的指标进行聚类分析。
为此,把10个指标根据其相关性进行R型聚类,再从每个类中选取代表性的指标。
运用matlab对每个指标的数据分别进行标准化处理,指标间相近性度量采用相关系数,类间相似性度量的计算选用类平均法,用matlab处理数据得到聚类树形图如图4-3所示。
图4-3 指标聚类树形图
从聚类图4-3中可以看出,碱基A的丰度、碱基C的丰度、碱基G的丰度、碱基T与碱基A的丰度比、碱基G与碱基A的风度比等5个指标之间有较大的相关性,最先聚到一起。
如果把10个指标分为6个类,其他5个指标各自为一类。
这样就从10个指标中选定了6个分析指标。
碱基T的丰度、碱基C与碱基A的丰度比、碱基G与碱基A的丰度比、碱基C与碱基T的丰度比、碱基G与碱基T的风度比、碱基G与碱基C的风度比
可根据这6个指标对8个物种DNA序列进行聚类分析。
(3)Q型聚类分析
根据这6个指标对8个物种DNA的序列进行聚类分析。
运用matlab对这6个指标数据分别进行标准化处理,样本间相似性采用欧氏距离度量,类间距离的计算选用类平均法。
运用matlab处理数据得到聚类树型图如图4-4所示。
表4-2标准化后数据
碱基T的丰度
碱基C与A丰度比
碱基G与A丰度比
碱基C与T丰度比
碱基G与T丰度比
碱基G与C丰度比
Human
0.2281
0.7322
0.9982
-0.1396
-0.1139
-0.0546
Goat
-0.8603
-0.0747
-0.0070
0.2281
1.0659
0.5322
Opossum
0.6122
-0.4025
-0.9091
-0.1215
-1.2530
-1.2621
Gallus
-2.0305
1.3700
0.7443
2.2817
1.7182
-1.1781
Lemur
0.9999
-1.5228
-1.2636
-1.1118
-0.6163
1.3427
Mouse
0.8114
1.1370
1.4619
-0.2740
-0.7525
-0.5259
Rabbit
0.0111
-0.4788
-0.0838
-0.5412
0.4125
1.2790
Rat
0.2281
-0.7606
-0.9400
-0.3217
-0.4609
-0.1333
图4-4物种DNA聚类树型图
(4)模型结果分析
由matlab软件运行的结果可知:
8种物种的DNA序列存在着较大的差异。
如果根据DNA序列的碱基T的丰度、碱基C与碱基A的丰度比、碱基G与碱基A的丰度比、碱基C与碱基T的丰度比、碱基G与碱基T的丰度比、碱基G与碱基C的丰度比等6个指标可以把8种物种的DNA序列分为三类,结果为:
第一类:
Opossum、Lemur、Rat;第二类:
Human、Goat、Mouse、Rabbit;第三类:
Gallus。
如果根据这6个指标把8种物种的DNA序列分为四类,结果为:
第一类:
Human、Mouse;第二类:
Goat、Rabbit;第三类:
Opossum、Lemur、Rat;第四类:
Gallus。
如果根据这6个指标把8种物种的DNA序列分为五类,结果为:
第一类:
Lemur;第二类:
Opossum、Rat;第三类:
Human、Mouse;第四类:
Goat、Rabbit;第五类:
Gallus。
(2)、运用spss对分类的结果进行检验
运用spss以上述6个指标利用means方法,检验各类别在所有变量上的差异,如果差异显著,我们认为分类结果是可靠的,我们利用spss算出三种分类结果各自的平均数(三种分类结果各自的平均数见附表五)再对8种物种DNA序列进行分类的结果单因素方差分析,判断分类的结果如表4-3所示。
表4-3(a)序列分三类方差分析表
表4-3(b)序列分四类方差分析表
表4-3(c)序列分五类方差分析表
方差分析结果显示,8种DNA序列分三类时,DNA序列的碱基T的丰度、碱基G与碱基A的丰度比、碱基G与碱基T的丰度比等三项指标达到显著水平,说明这种分类效果不是很好。
8种DNA序列分四类时,DNA序列的碱基T的丰度、碱基C与碱基A的丰度比、碱基G与碱基A的丰度比、碱基C与碱基T的丰度比、碱基G与碱基T的丰度比等五项指标达到显著水平,说明这种分类效果是比较明显的。
8种DNA序列分五类时,碱基C与碱基A的丰度比、碱基G与碱基A的丰度比、碱基C与碱基T的丰度比等三项指标达到显著水平,说明这种分类效果不是很好。
综上分析可知我们最终确定将8种物种DNA序列分为四类,分别为:
第一类:
Human、Mouse;
第二类:
Goat、Rabbit;
第三类:
Opossum、Lemur、Rat;
第四类:
Gallus。
5模型的评价
1)模型的优点
(1)、问题一的求解简单容易,易于理解,运用数理统计的方法转化原问题并且求出各个序列所具有的统计特征。
(2)、在对于问题二我们首先在对问题一分析的基础上对碱基的丰度,和碱基之间的碱基比散点图,根据其波动的大小初步判断出那些变量作为聚类分析的特征向量,为后续的分析缩短了数据处理的过程,简化了模型。
(3)、对于问题二我们采用R型聚类分析我们对分类的指标进行了相关性分析,选择了特征之间一些关联性差的特征作为Q型聚类分析的指标,方法简单易行,有较好的普遍性。
(4)、对于问题二,在R型聚类类的基础上我们建立了Q型聚类方法得到了三种分类方式,考虑到了一些因素,最终结果更加真实可靠。
(5)、在问题二时,使用了SPSS对三种分类的结果进行了单因素方差分析,从而得到分类的结果更合理,更可靠。
(6)、对于问题二,从R聚类分析、Q型聚类分析、means方法、到单因素方差分析,从而使得分类的结果比较切合实际的。
2)模型的缺点
(1)、在进行模型一和模型二的最终选择时,综合考虑的因素还有欠缺。
(2)、在问题二的基础上建立的聚类分类模型,考虑的指标不够全面。
(3)、在建立模型的时候对数据处理的不合理,不是很到位,对模型的结果有一定的影响,模型的结果与实际结果之间存在着一定的差距。
(4)、在用MATLAB编程时所编写的代码复杂程度不够好,致使在考虑DNA序列样本更多的时候,代码不太具有参考性,带有局限性。
(5)、对于问题一分析DNA序列差异的指标不够全面,导致对DNA序列差异分析的不到位,同时问题二选择的指标也存在着比较片面。
(6)、问题一采用数理分析过于简单未能将DNA序列之间的差异很好的表现出来,处理数据方面处理的不是很理想。
6模型的改进
DNA序列问题我们考虑了碱基的丰度特征值等,而一个序列所含的信息远不止每个碱基的丰度等特征,还有基于碱基所在位置的有关特征,即碱基在序列中出现的规律性、碱基和它前后若干个碱基的相关性等等,我们可将DNA序列中碱基的排列看成是一个随机过程,如果是着重研究随机过程发生的规律,并设碱基分别为:
A=0,T=1,C=2,G=3,那么这些序列就可以看作一组离散的数字信号,则可以用数字信号处理的理论来进行研究与分析即将离散的数字信号转化为一组波形图,用周期性、数学期望、相关函数以及频率谱等方法描述其规律,这当然就增加了问题的复杂性,但就一个庞大的DNA序列规律破解工程来说,不失为一种值得考虑的方法,这里,可以仅以周期性为例讨论如下:
对某个碱基,以a为例,假设它在序列中的t1,t2,…,tk+1个位置出现,可试图找出这些碱基之间的关联。
首先,可以认识到考察ti的分布及绝对值意义不大,因为序列是一大段DNA中的一个片段,片段的起始段不同会导致ti的不同,于是考虑a的间距:
si=ti+1-ti (i=1,2,…,k)1
可以看出,序列s1,s2,…,sn的大小包含的信息是a的“稠密度”,也可以看成一个与频率有关的量,这个在求解问题一时已讨论过,而在这我们考察序列s1,s2,…,sn的波动幅度,幅度越小,说明si(i=1,2,…,k)的值越趋于统一,即a的周期性越大1而表征波动幅度的量在统计中是中心矩,现求si的二阶中心矩,即方差:
(6-1)
(6-2)
同理可求Varg,Vart,Varc1由于a,t,c,g成对出现,作判别函数F=Varg/Vart
可较好的对序列进行分类。
7参考文献
[1]汤诗杰,周亮,王晓玲.DNA序列分类模型[J].预防医学情报杂志,2005,(6):
83-85.
[2]陈合格.三种鳖线粒体DNA部分基因序列的比较分析和分子鉴定标记[J].工业工程,2006,(5):
23-27.
[3]罗贤晖,江从喜,洪翔.基于神经网络集成的DNA序列分类方法研究[J].中国市场,2012,(49):
76-77.
[4]孙晓敏,张厚粲.聚类