生物序列分析中几个典型算法介绍
生物序列分析中的若干数学方法

高校应用数学学报A 辑2005,20(4):379-392A p p l .Ma t h .J .C h i n e s e U n i v .S e r .A生物序列分析中的若干数学方法谢惠民(苏州大学数学系,江苏苏州215006)摘要:生物序列是由4种核苷酸组成的核酸序列和由20种氨基酸组成的蛋白质序列.论文介绍生物序列研究中的计数方法、组分分析方法、隐马尔可夫模型方法以及它们的某些应用.关键词:生物序列;计数问题;组分分析方法;隐马尔可夫模型中图分类号:Q 3;O 213文献标识码:A 文章编号:1000-4424(2005)04-0379-14收稿日期:2005-03-30基金项目:国家重点基础研究发展规划课题(G 2000077308)H1数学与生物学的联姻回顾历史,在数学与其他自然科学的关系中,物理学无疑最密切,而生物学则最遥远,这早就是人们的共识.在恩格斯的I 自然辩证法J 中可以看到K 数学的应用LL 在生物学中M0.N 然而目前情况正在起变化.例如最近有一篇评论O 1P ,其标题中将生物学比作为数学的下一个物理学,而将数学比作为生物学的下一个显微镜,这显然是对于生物学和数学之间关系的一种全新的期望.说来有点奇怪的是,有许多数学研究或工具起源于生物学.例如,计算机科学中的有限自动机起源于MQ C R l l S Q h -T i t t s 的第一个神经网络模型,形式语言中的U 系统来自于U i n V e n W a X e r 对于线型生物的发育描述,元胞自动机起源于J S h nv S nY e R W a n n 对于生命自复制能力的形式化模拟,最有名的元胞自动机,即由J S h nC S n Z a X 提出的[h e G a W e S \U i \e 是对于生命的繁殖和死亡现象的模仿,在许多最优化难题中有特效的遗传算法来自于对生物的遗传机制的学习,如此等等.反过来看,上面列举的几项内容都有许多应用和发展,但并没有在生物学研究中发挥多少作用.数学对于生物学的回报太少了.就现代生物学中占有突出地位的遗传学来说,数学工具应用于生物学研究的这种落后现象是有其内在原因的.这就是长期以来应用数学的发展大多以分析(即连续数学)为主,而几乎起源于智力测验和趣味数学的离散数学则没有得到长足的发展.可是现代遗传学中迫切需要的数学工具恰恰是离散性质的数学.为此只需看一下遗传学的发展历史.遗传学是从Me n V e l的工作开始发展的O 2P .他的最根本的发现是:遗传的本质是离散的,从而推翻了此前的K 融合论N ,后者就是一种连续论.众所周知,Me n V e l在1865年发表的论文长期无人问津,直到1900年才被"重新发现".这与Me n d e l数豌豆的离散统计和数学建模方法不能为当时科学界接受是分不开的.在这之后,Mo r g a n 学派的重要贡献之一就是确定了基因在染色体上呈线性排列,其中的方法仍然是离散的统计方法.现代遗传学的发展完全肯定了生命的本质是离散的,其秘密就隐藏在核酸(D N A 与R N A )和蛋白质的序列之中.已经清楚,核酸与蛋白质都是一维有向不分岔的链式大分子.核酸由4种核苷酸聚合而成,而蛋白质则由20种氨基酸聚合而成.在这一个层次上它们都是一维序列,只是字母集S 不同.对D N A 序列和R N A 序列来说,字母集分别为{A ,C ,G ,T }和{A ,C ,G ,U}.对于蛋白质序列,字母集含20个符号,用氨基酸的单字母符号记法就是{A ,C ,D ,E ,F ,G ,H ,I ,K ,L ,M,N ,P ,Q ,R ,S ,T ,V ,W,Y }.人类基因组计划(H G P )以及其他许多测序工程就是要测定生物染色体中的D N A (或R N A )的全部序列,而基因就隐藏在这些序列之中.以下将D N A 序列、R N A 序列和蛋白质序列统称为生物序列(b i o l o g i c a l s e q u e n c e s ).它们是目前的生物学数据的主要部分.生物信息学(b i o i n f o r m a t i c s)就是在这样的背景下应运而生的前沿交叉学科[3],而数学与生物学将在这个新的框架中实现新的结合,其中离散数学工具无疑将会起重要作用.当然,这并不否定连续数学在生物学中的今后作用.以分析为中心的生物数学必然会继续发展.例如,以常微分方程为主要数学建模工具的代表作,Mu r r a y 的Ma t h e m a t i c a l B i o l o g y(2002,3r de d.)已经是两卷的巨著,其中所覆盖的生物学问题和分支已极其众多.下面列举生物序列的几个特点.首先可以看到,生物学研究有多种层次,它们所跨越的特征尺度极大.将生物序列作为符号序列来处理是一种粗粒化方法,它对于一定层次上的生物学问题有效.其次,真实的生物序列来自测序.这类序列是在几十亿年时间的生物进化中形成的,主要的动力是自然选择.这里不可能存在先验的数学模型.对生物序列来说,如何建模是一个极大的挑战.生物序列的非均匀性和测序过程中难以避免的误测使得问题更为复杂和困难.从复杂性角度看,生命现象无疑是所有已知科学中最为复杂的对象.由于在D N A 、R N A 和蛋白质序列中隐藏有生命的主要奥秘,因此生物序列很可能是最复杂的符号序列.这一点不断为生命科学中的新发现所证实.目前对生命现象的了解充其量还只是冰山一角而已.生物序列的数据量极大,这又是一个重要特征.蛋白质序列的长度不算太大,以最新的S WI S S -P R O T 数据库中文件p d b .s e q 的6807个序列为例,长度最短为9,最长为7073,其中94.55%不超过1000.在基因组测序中得到的完全基因组序列则要长得多.原核生物的全基因组典型长度为106个碱基对的数量级,人类的全基因组长度为3.2×109个碱基对.由于目前全球范围的多个测序工程的努力,生物序列的数据量正在以指数方式增长.在生物序列的研究中概率统计方法必然占有重要地位.Me n d e l的遗传学研究已经预示了这样的前景.经典遗传学规律本身就是通过大量的随机事件表现出来的统计规律.因此从方法论上应当尽早引入概率统计思想.对生物信息学有兴趣的读者可以从[3]中找到所需的文献和网页.对于从数学方面切入083高校应用数学学报A 辑第20卷第4期生物信息学的初学者来说,[4]是介绍生物序列研究中的概率模型的较好的入门书.&’子串的计数问题研究符号序列的一条合理途径是从对子串的计数开始.例如对于一个给定的()*序列,最基本的事情之一就是统计在这个序列中4个核苷酸*,+,,,-各占多少比例.这就是对于长度.的子串计数.在许多早期的研究中已经发现生物序列很像是随机序列.从自然选择来看这是容易理解的.但是从功能角度来看生物序列决不可能是随机序列.这可能表明在生物序列中的信号很弱,如何从很强的噪声背景中提取出有用的信息是生物信息学的重要任务.郝柏林等通过对子串计数提出了()*序列的可视化方法,并将它用于对原核生物的研究.对于每个原核生物的全基因组序列得到的二维直方图就成为这个生物的一种独一无二的标记.同时又发现,将该序列按随机方式重排/01233456后得到的二维直方图则完全不同,从而为区分生物序列和随机序列提供了一个直观而方便的手段[7,8].这项研究的另一个重要发现是9许多原核生物全基因组中有明显的缺少或稀少短串.例如,至少.:种细菌不喜欢+-*,连在一起,而其他细菌则回避另一些短串.在二维可视化研究中启发的数学问题可用组合学和语言学的方法解决[;,<].在[=]中进一步发展了全基因组的一维可视化方法,并从一维直方图的角度研究了与各种随机模型生成序列的差异.图.是大肠杆菌/>0?15@A ?1A B ?C 4A6的全基因组及其随机重排序列的两个直方图的轮廓曲线,其中分布较广的是从全基因组序列得到的直方图,另一条差不多集中在7:到.::之间的单峰曲线是其随机重排序列的直方图.两个序列具有完全相同的4种核苷酸比例.作图的过程是9计算所有长度D E<的子串在序列中出现的次数,然后统计出现次数相同的子串个数.用出现次数作为横坐标,用出现次数相同的子串个数作为纵坐标,就可得到所要的图像.对随机重排序列来说,由于大肠杆菌全基因组序列的长度为48F =’’.个碱基对,而长度<的子串一共有4<E877F 8种,因此每种子串出现的平均次数为48F =’’.G 877F 8H;..从图.可以看出,这差不多就是随机重排序列的直方图的最大值点.虽然随机重排序列在每次实验中并不相同,但其直方图的形状仍是非常稳定的.图.大肠杆菌的全基因组序列及其随机重排序列的直方图对比对比两个直方图的轮廓曲线,可以估计出在大肠杆菌的全基因组序列中,长度<的877F 8个子串中出现次数低于随机情况的至少有44I 4J/2K L 5@M @5N @505K O 5L <M O 2N 4506,而出现次数高于随机情况的至少有’7I 4J/C P 5@M @5N @505K O 5L <M O 2N 4506.以上做法体现了在()*序列分析中的一个基本思想.这就是以一定的随机模型为背景,去发现在()*序列中出现次数特别少和特别多的短串.有许多证据表明这两种现象都.<F 谢惠民9生物序列分析中的若干数学方法有强烈的生物学原因,因此这类短串很可能是读懂生物序列这部"天书"所需要的"基本词汇".这方面已经有许多研究,例如可以参考较新的一个综述[10].本节将对计数问题作一点介绍,其中的方法是利用形式级数工具,在某些方面比[10,11,12]中的方法可能更简单一些,而在思路上与[13]的形式语言方法较为接近.这个方法分两步:(1)将集合转换成形式级数,(2)对级数作投影,实现计数或概率计算.设A 是由字母集S 中的符号组成的符号序列集合.将其中的符号看成不定元,将符号之间的连结运算看成乘法,将集合的并看成加法,就可以将集合转换为形式级数.设将集合A 对应的形式级数记为A.(这样的转换当然需要满足一定的条件,参见[14]的1.4节.)在计算概率时必须确定生成符号序列用什么样的随机模型.这里主要有两类:(1)独立同分布模型,即i n d e p e n d e n t a n di d e n t i c a l l yd i s t r i b u t e dm o d e l ,简称为i i d 模型,其中还可细分为字母集中符号出现概率相等的e i i d 模型与不相等的n i i d 模型两种情况;(2)m 阶Ma r k o v 模型,简记为MMm ,m ≥1①,此外,还假定Ma r k o v 模型生成的序列具有平稳性,因此一个子串w 在序列中出现的概率P (w )与w 所占的位置无关.为了计算概率,可将形式级数中的项x "投影"为P (x )t |x |,其中既记录了x 的长度,又记录了x 在无限长符号序列中出现的概率P (x).对于从集合A 得到的形式级数A ,用p (A)表示投影所得的关于t 的形式幂级数.显然其中的tn 项的系数就是集合A 中长度n 的所有序列的概率之和.以上方法可以表示为A→A→p (A )(1)下面举一个例子.为此先引进下列记号,如前面一样,将字母集记为S ,设其中所含符号个数为N ,用S 中符号生成的所有有限长度的符号序列全体记为W =S *,其中包括不含符号的空串ε.对于一个特定的子串w ,定义两个集合:H w ={u |w =u v =v z ,u ,v ,z 均非空},T w ={z |w =u v =v z ,u ,v ,z 均非空}.例如对w =A A C A A ,就有H w ={A A C ,A A C A },T w ={C A A ,A C A A }.又用L 记不含子串w 的所有序列的集合,用L 1记L 中不以H w 中的子串为后部的序列集合.例1考虑在无限长符号序列中特定子串w 第一次出现的随机事件,其中将w 的最后一个符号的位置取为随机变量ξ.可以看出,这个问题与序列集合L 1w 有关.只要对这个集合中长度等于n 的所有序列计算它们的概率之和,就得到概率P (ξ=n ).因此可以按照方法(1)求出随机变量ξ的概率生成函数,以下记为X (t).从集合论等式Ww =L 1w ∪L 1w T w ∪L 1wWw 开始.其中右边第一项是Ww 中只含一个w 的序列集合,后两项是至少含有两个w 的序列集合,又根据序列中的第一个w 与最后一个w 是否交迭而分为两个集合.将上述等式转换为形式级数等式fg =h 1g i h 1g j g i h 1g fg,然后作投影得到p (fg )=p (h 1g )i p (h 1g j g )i p (h 1g fg ).(2)利用w 在序列中出现的概率P (w )与w 的位置无关的平稳性可求出左边的表达式为p (fg )=p (f)p (g )=P (w )t k (1l t ),2m 3高校应用数学学报A 辑第20卷第4期①文献[11]中将m 阶Ma r k o v 模型记为Mm ,而i i d 模型就记为M 0,并将e i i d 模型记为M 00.其中k =|w |,即子串w 的长度.等式(2)右边第一项就是随机变量ξ的概率生成函数X (t ).对于后两项的计算,则要区分随机模型为i i d 或Ma r k o v 模型两种情况.对于i i d 模型有p (L 1w T w )=X (t )p (T w ),p (L 1w <w )=X (t )p (<w ).经过计算得到=(w )t k 1>t =X(t )?1@A t =(w )t k B =(w )t k C D 1>t,最后结果是X(t )=11B (1>t )?1@At,(E )其中?(1F t)由子串w 的自交迭情况决定,见C 11D .对于MM 1模型的计算是类似的,从略.利用方法(1)还可解决符号序列的许多其他计算问题.例如G (i )将在无限长符号序列中接连出现两次w 之间的距离作为随机变量,求其概率分布H (i i)将特定子串w 在长度I 的符号序列中出现次数作为随机变量,求其概率分布.对问题(i)和例1,在C 11,1J D 中用C 1K D 的递归方法求出概率分布,然后再通过复杂的计算求出生成函数,对问题(i i)在C 12D 中得到了L i i d 模型的结果,在C 1M D 中得到了N i i d 模型的结果,所用的都是O o P Q d L N R S a T k U o N 方法C 1V D .(在这两项工作中的主要问题是如何对长序列作有效计算.)对这两个问题用方法(1)可以导出包括Ma r k o v 模型在内的一般结果,而且在思路上更为简单.WE 组分分析方法这里所说的组分(X Y Z [Y \]^]Y _)是指在给定的一个符号序列中,长度为某个确定值k 的所有子串出现的频数分布‘利用组分信息来研究序列的方法称为组分分析方法‘在文献中常将长度k 的k R 串称为k R a P b Q L ,k R c L r ,k R U a r i N d 等‘对于k =1,这就是符号序列中各个符号出现的频数‘在生物序列的研究中对于k =1,2已经发现了许多有生物学意义的现象,这可以看成是组分分析方法的前身‘下面是几个例子‘(1)在e f g 序列中g 和h 的比例,i 和O 的比例大致相等,这称为i j a r d a k k第二规则C E D ‘已经发现,在全基因组序列中的i B O l 与基因分布有密切关系‘i B O l 高的序列中的基因密度要比i B O l 低的序列中的基因密度高得多,例如高K 倍或1J 倍都是常见的现象‘因此寻找基因的软件需要根据i B O l 来选取不同的参数C 1m D ‘(2)多数真核c n f g 的E o 端有b o Q p (g )尾,往往有几百个g ,从而成为一个重要标志‘(E )i b O 岛是指双核苷酸i O 出现多的区域‘为区别于i 和O 的配对,因此常称双核苷酸i O 为i b O ‘由于i O 中的i 容易被甲基化而突变为h ,因此i O 一般较少出现‘但是在很多基因的起始区域中这种甲基化过程受到抑制,从而会出现很多i O ,其数量可以从几百到几千,因此这也成为寻找基因的一种参考指标‘现在简要地列举组分分析方法的一些特点‘对于e f g 用k=1J 就有q 1J =1J q mK V M 个不同的1J R 串,对于蛋白质用k =K 就有2J K =E2J JJ J J 个不同的K R串,可见组分分析方法具有很高的分辨率‘这就是在上一节提到的原核生物的二维可视化直方图和一维可视化直方图很容易将真实的生物序列与随机序列Em E 谢惠民G 生物序列分析中的若干数学方法分开的理由.由于组分信息具有很强的物种特异性,因此可用作为刻画生物序列的有力工具.组分信息具有很强的容错性也是它的一大优点.同时组分信息又与Ma r k o v 模型有密切关系.用k=6作组分分析就可以为建立5阶Ma r k o v 模型提供参数.另一方面,从R N A 和蛋白质的折叠可以看到在组分信息中还会包含远程相关性,这超出了Ma r k o v 模型的短程描述能力.还可以看到,虽然具有相同的组分信息的序列不是惟一的,但是随着k 的增加,组分分析中的随机性会减少,确定性会增加.这将由下面对蛋白质序列的一项研究而得到具体化.由于蛋白质的氨基酸序列较短,每个位置的符号又有20种可能性,因此进行统计分析的工作较少.下面是我们对于氨基酸序列的组分研究.这方面的内容还可以参看[19].设氨基酸序列s 的长度为n ,对于给定的k 值,对s 中所有的n -k +1个k -串进行统计,得到它们的频数表{w k j ,n j }m j =1,其中m 是在序列s 中出现的不同k -串的个数.一个基本问题是:具有相同频数表的氨基酸序列有多少?对于k =1这是经典的排列问题,k ≥2时问题可归结为图论中的H a m i l t o n 回路或E u l e r 回路问题.由于前者尚无有效的算法,因此以下用E u l e r图为工具进行讨论[20].这时可构造有向图D 如下.首先注意从k -串的频数表就可得到(k-1)-串的频数表.取所有实际出现的(k -1)-串作为图D 的结点.如果一个k -串s 1s 2…s k 在序列s中出现r 次,则规定从图D 的结点s 1…s k -1到结点s 2…s k 有r条有向弧,这就是图D 的边.将序列s 的第一个和最后一个(k -1)-串记为v b 和v f .序列s 就是图D 中从v b 到v f 的一条路径,且通过每条有向弧恰好一次.如果v b =v f,则这条路径成为回路.否则,总可以添加从v f 到v b 的辅助有向弧,从而也得到回路.这就是E u l e r 回路.在图论中将存在E u l e r 回路的图称为E u l e r 图.以后我们总假定上述图D 已经是E u l e r图.经过以上分析可以知道问题变为对于E u l e r 图中的E u l e r回路的计数问题.这方面有现成的B E S T 定理可用[20],但需要作一些修改以适合于我们的问题.设有向图D 有p 个结点,记为v 1,…,v p.若D 是E u l e r 图,则从图论知道,从每个结点v i 出发的有向弧个数必定等于到达此结点的有向弧个数,将这个数称为该结点的度(d e g r e e ),记为d i .定义对角阵M =d i a g {d 1,d 2,…,d p }和连结矩阵A =(a i j ),其中a i j 是从v i 到v j 的有向弧个数.当a i j >1时设从v i 到v j 之间的并行有向弧(i ≠j )或并行环(i =j )可不加区分进行替换.又定义K i r c h h o f f矩阵C=M -A .(4)可看出C 的每行每列元素之和均为0.又可证明:C 的每个元素的余因子(c o f a c t o r)均相等.定理2(修改后的B E S T 定理)E u l e r 有向图D 中的E u l e r回路个数为e (D )=Δ∏i (d i -1)!∏i j a i j !,(5)其中Δ是K i r c h h o f f矩阵C 的元素的余因子.在实际计算中,为了降低余因子Δ计算中的行列式阶数,可以在E u l e r图中只保留度大于1的结点而将其他结点去掉.这样得到的新图具有与原图相同的拓扑结构,从而具有相同个数的E u l e r回路.由于新图的结点可能比原图的结点少得多,从而会显著减少计算量.下483高校应用数学学报A 辑第20卷第4期面是一个例子.例3从蛋白质的氨基酸序列数据库S WI S S -P R O T [3]中取出蛋白质A N P A -P S E A M的氨基酸序列为MA L S L F T V G Q L I F L F WT MR IT E A S P D P A A K A A P A A A A A P A A A A P D T A S D A A A A A A L T A A N A K A A A E L T A A N A A A A A A A T A R G .这是长度为82个氨基酸的序列.求与此序列具有相同5-串频数的序列个数.从统计所得的5-串及其频数可确定在图D 中只需保留度大于1的以下9个结点{A KA A ,A A P A ,A P A A ,P A A A ,A A A A ,A A A P ,L T A A ,T A A N,A A NA }.(6)在图2中作出了这个图D 的拓扑结构,其中标以1~9的结点就是按照(6)中的顺序给出的9个4-串.为简明起见,在图2中对于结点之间的单条有向弧不加标号,而对于有多条并行有向弧(环)则在弧(环)旁标出其条数.此外,在从结点5到1的有向弧旁用标号a 表明这是一条人为添加的辅助有向弧.图2由一个蛋白质序列的5-串频数表产生的E u l e r图注1使用上述减少结点的方法也会带来新的问题.这就是必须注意此时结点间的多条并行有向弧(环)是否确实可不加区分进行替换.公式(5)中分母的因子a i j !只有当v i 到v j 的并行弧(i ≠j )或并行环(i=j )可不加区分进行替换时才是正确的.同样需要注意,如果有多条有向弧到达起始结点,则人为添加的辅助弧(参见图2中标以a 的弧)不可能与其他有向弧作替换.对于这些情况都需要修改因子a i j!.注2在公式(5)中计数的E u l e r回路是不固定起始结点的,而我们的问题中的起始(k -1)-串是固定的.因此从每一条E u l e r 回路求出符号序列时,如果有d 1>1的情况(图2即是如此),需要将人为添加的弧放在最后位置.这样得到的序列个数与公式(5)一致.从图2可以看出每个结点的度以及结点之间有向弧的个数,这些信息都总结在对角阵M =d i a g {2,2,2,2,10,2,2,2,2)和连结矩阵A 中.从K i r c h h o f f矩阵C =M -A 可以计算出Δ=192,再用M 与A 中大于1的元素与公式(5)就可计算出所求的回路个数为e (D )=192×9!6!×26=1512.(7)现用R (k )记具有相同k -串频数的序列个数,则不难证明R (k)随着k 的增加而单调减少到1.对于上述氨基酸序列,从(7)已经有R (5)=1512,还可以计算出R (6)=60,R (7)=2,R(8)=1.用公式(5)和C 语言程序对于S WI S S -P R O T 中的6790个序列进行的计算表明,有583谢惠民:生物序列分析中的若干数学方法93%的序列的R (6)=1.这表明对于绝大多数蛋白质序列来说,6-串频数表已经包含了它们的全部信息[21].通过对于组分分析的研究,郝柏林和他的学生们发展出一种组分矢量方法.这种方法利用最新得到的原核生物(细菌)的完全基因组序列构建它们的亲缘树,这与过去对同源蛋白质序列使用序列联配的构树方法完全不同.目前这种新方法所得到的结果已经可以同细菌分类学百年以来积累的知识直接对比,有可能成为从分子水平出发客观地解决原核生物分类问题的手段.由此得到的原核生物亲缘树上有123个真细菌、16个古细菌和6个作为参照的真核生物.它在门以下的层次与现行分类体系基本一致,同时提供了门以上相互关系的启示.这是分子亲缘关系研究在原核生物领域从未做到的事.此法用于细菌(基因组大小以百万计)、叶绿体(基因组大小以十万计)和包括S A R S 在内的冠状病毒(基因组大小以万计)都得到合理的结果.这项工作见他们在一系列重要的生物学杂志上的论文[22-26],此外还可以参看科普文集[27]中以"分子进化和细菌分类"为标题的一文.89隐马尔可夫模型与寻找基因在第2节中提到的::;和<=>?@A 模型都假设具有齐次和平稳的特征,从而难以用于一般的生物序列研究,因为生物序列是具有复杂结构的非齐次(非均匀)序列.为了描述生物序列的非齐次性已经发展出了多种数学模型.其中近1B 年来在生物序列的描述和预测方面较为成功的数学模型之一是隐马尔可夫模型(C D E E F GHI J K L MHL E F N ),以下记为O <<P 在这一节中将对O <<作简短的介绍,同时还要提到它在寻找基因问题中的具体应用PO <<是一个双重的随机过程,其中第一个过程服从<=>?@A 模型,它是不能直接观察的隐过程,但同时却控制(或影响)第二个过程,而后者则生成可观察到的符号序列P设Q 为隐过程的状态个数,R =S R 1,R 2,T,R Q U 为状态集合.又用V W 记时刻W 时的状态.设矩阵X =S Y Z [U ,其中Y Z [=\(V W ]1=R [^V W =R Z),即状态转移的概率分布.设_为可观察的符号个数,‘=S a 1,a 2,T,a _U 为所用符号的字母集.设b =S c [(d )U ,其中c [(d )=\(e W =a d ^V W=R [),即当隐过程于时刻W 的状态为R [时的可观察符号的概率分布.又设f =S f ZU ,其中f Z =\(V 1=R Z)(1g Z g Q )为初始状态分布.将这个O <<记为h =(X ,b ,f).设i 为观察到的符号序列的时间长度,由h 生成一个可观察的序列e =e 1e 2T e i 的步骤如下j1k 按照初始状态分布f 选择一个初始状态V 1=R Z,2k 令W =1,3k 按照状态为V W =R Z 时的符号概率分布c Z (d )选择符号e W =a d,9k 按照状态为R Z 的状态转移概率分布S Y Z [U 转移到下一个状态V W ]1=R [,l k 令W =W ]1,如果W g i 则回到第3步,否则结束.图3是上述过程的示意图.其中第一行是O <<的隐状态序列m =V 1T V i ,第二行是可观察6n 3高校应用数学学报A 辑第2B 卷第9期到的符号序列O =O 1…O T .注意从隐状态q t 生成可观察状态O t 的过程对于不同时刻t是独立的,这是这个H MM 的重要特征[28,29]①图3隐马尔可夫模型示意图关于H MM 的三个基本问题是[30,31]:问题1给定模型λ和观察序列7,如何计算概率897:λ;.问题<给定模型λ和观察序列O ,如何确定最为可能的隐状态序列==q 1q 2…q T .问题>如何调整模型λ=9?,@,A ;中的参数,使得概率89O :λ;最大.以下是对于三个问题的意义的解释.问题1是一个基本的概率计值问题.它既可以说明在模型给定后该观察序列出现的可能程度,又可以对生成同一个观察序列的不同模型比较它们的优劣,即对模型打分.分数高的就是生成该观察序列的较好模型.问题2是从观察序列来了解其背后的隐序列,即从已知求未知.从模型可知,符号序列O 是由状态序列=确定的9但不是决定性关系;.问题是从观察到的O 去推测最为可能的=.有可能从已知数据中提取出未知信息是H MM 得到广泛使用的主要原因.但由于对什么是B 最为可能C 的优化指标可以不同,因此所得到的最优的隐状态序列也会随之不同.问题3是建模问题,即如何从模型的可观察表现来确定模型本身,也可以说是模型的优化问题.在应用中常将用于建模的已知符号序列称为训练集,因此问题3也可称为训练问题.H MM 取得广泛成功的重要原因之一是对以上三个基本问题都已经建立了有效的算法D 对问题1有向前9E F G H I G J ;算法与向后9K I L M H I G J ;算法,对问题2有N O P Q G K O 算法D 它们在本质上都是动态规划算法D 由于动态规划算法是高效率的全局最优化算法,因此保证了H MM 的高效率实现D 对问题3有R I S T U VQ W L X 算法,它属于更广泛的Y M 9Y Z [Q L P I P O F \T I Z O T O ]I P O F \;算法的范畴D H MM 的早期应用主要是在语音识别领域[30,31]D 从20世纪80年代后期起开始探索H MM 在生物序列分析中的应用D目前H MM 在生物信息学的一系列问题中得到成功应用D 说明这种状况的一个佐证是在2002年于北京举行的国际数学家大会上有一个专门介绍H MM 在生物序列分析中的报告[32],其中肯定了H MM 是数学在生物信息学中的最成功应用之一D 近年来介绍H MM 的专著已有多种,例如[^,28,29,33]等D 下面只对于H MM 在寻找基因的软件开发中的应用作一点介绍D由于包括人类基因组计划9H _‘;在内的许多测序工程的突飞猛进,包括核酸序列和蛋白质序列在内的生物数据即将成为人类科学实践产生最大数据量的领域D 如何从海量数据的a b c 序列中提取出基因和调控基因表达的各种信号已是非常迫切的研究课题D为了使读者对于寻找基因工作有一个概念,在图^中给出了真核生物的一个多外显子d83谢惠民:生物序列分析中的若干数学方法①在更复杂的H MM 中可以加入O t 对于q t e 1,O t e 1等等的依赖性D。
生物信息学中的序列比对算法使用方法解析

生物信息学中的序列比对算法使用方法解析序列比对在生物信息学中是一项重要的技术,用于寻找DNA、RNA或蛋白质序列之间的相似性和差异性。
它是理解生物学结构和功能的基石之一。
在本文中,我们将解析生物信息学中常用的序列比对算法的使用方法。
序列比对算法主要分为全局比对和局部比对。
全局比对用于比较完整的序列,而局部比对则更适用于在序列中查找相似区域。
在这两个主要类别中,有几种经典的序列比对算法,包括Pairwise Sequence Alignment、BLAST、Smith-Waterman算法和Needleman-Wunsch算法等。
首先,我们来看Pairwise Sequence Alignment(两两序列比对)算法。
这个算法是基本的序列比对方法,通过比较两个序列中的每一个碱基、氨基酸或核苷酸,并根据其相似性和差异性对它们进行排列。
Pairwise Sequence Alignment算法使用动态规划的思想,通过计算匹配、替代和插入/删除的分数,来确定两个序列的最佳匹配方案。
在生物信息学中,常用的实现包括Needleman-Wunsch算法和Smith-Waterman算法。
Needleman-Wunsch算法是一种全局比对算法,用于比较两个序列的整个长度。
它是通过填充一个二维矩阵来计算最佳匹配路径的。
算法的核心思想是,通过评估每个格子的分数,根据路径选择的最佳分数进行全局比对。
这个算法不仅可以计算序列的相似性,还可以计算每个位置的分数,从而获得两个序列的对应二面的对应关系。
Smith-Waterman算法是一种局部比对算法,用于寻找两个序列中的最佳匹配片段(子序列)。
它与Needleman-Wunsch算法的计算思路相同,但不同之处在于允许负分数,这使得算法能够确定具有高分数的局部匹配片段。
通过动态规划计算,Smith-Waterman算法可以寻找到两个序列中的相似片段,并生成比对的结果。
另一种常用的序列比对算法是基本本地搜索工具(BLAST)。
生物信息学中的序列分析算法研究

生物信息学中的序列分析算法研究生物信息学是一门涵盖生物学、统计学、计算机科学和数学等多个学科的交叉领域。
生物信息学的目的是从生物序列数据中提取有用的信息,以便于进一步的研究和应用。
而序列分析算法,作为生物信息学领域的核心算法之一,是对生物序列数据进行分析和解释的重要手段。
本文将从序列比对、序列类别划分和序列结构预测三个方面介绍几种常用的序列分析算法,并结合实例进行解释。
一、序列比对算法序列比对是指将两个或多个生物序列进行比较并找出它们之间的相似性,是生物信息学领域的重要应用之一。
常见的序列比对方法有全局比对、局部比对和多重比对。
1.全局比对(Needleman-Wunsch算法)全局比对指的是将两个序列进行完整的比较,在此过程中需要对齐相似的区域和插入一些间隔符号,以便比对结果的可读性。
Needleman-Wunsch算法是一种基于动态规划的全局比对算法,其核心思想是对两个序列进行全局的比较,寻找相似的区域和插入合适的符号。
该算法的复杂度为O(N^2),其中N为序列的长度。
2.局部比对(Smith-Waterman算法)与全局比对相比,局部比对仅仅比较序列中的一部分。
Smith-Waterman算法也是一种基于动态规划的局部比对算法,它通过赋分矩阵计算每个个体序列与待比较序列中相似的区域的最高得分,进而寻找相似的区域。
该算法的复杂度也为O(N^2),其中N为序列的长度。
3.多重比对(CLUSTALW)多重比对可以将多个生物序列进行比对,进而分析序列之间的相似性和进化关系。
CLUSTALW是一种常用的多重序列比对软件,其核心思想是将多个序列在一定程度上对齐以匹配共性区域,再根据比对结果进行序列相似性分析和进化分析。
该方法的主要优势在于其可扩展性和对新序列的处理能力。
二、序列类别划分算法序列类别划分指的是将多个生物序列按照一定的类别进行划分,以便于分类分析和应用。
常见的序列类别划分方法有聚类分析、支持向量机和神经网络。
生物信息学中的序列比对与序列分析研究

生物信息学中的序列比对与序列分析研究序列比对与序列分析是生物信息学领域中非常重要的研究内容之一。
在基因组学和蛋白质组学的快速发展下,对生物序列的比对和分析需求不断增长。
本文将介绍序列比对和序列分析的概念、方法和应用,并探讨其在生物学研究中的重要性。
一、序列比对的概念与方法:1. 序列比对的概念:序列比对是将两个或多个生物序列进行对比,确定它们之间的相似性和差异性的过程。
在生物信息学中,序列通常是DNA、RNA或蛋白质的一连串碱基或氨基酸。
序列比对可以用来寻找相似性,例如发现新的基因家族、识别保守的结构域或区分不同的物种。
2. 序列比对的方法:序列比对的方法可以分为两大类:全局比对和局部比对。
全局比对将整个序列进行比对,用于高度相似的序列。
而局部比对则将两个序列的某个片段进行比对,用于相对较低的相似性。
最常用的序列比对算法是Smith-Waterman算法和Needleman-Wunsch算法。
Smith-Waterman算法是一种动态规划算法,它在考虑不同区域的匹配得分时,考虑到了负分数,适用于寻找局部相似性。
而Needleman-Wunsch算法是一种全局比对算法,通过动态规划计算最佳匹配得分和最佳比对方式。
二、序列比对在生物学研究中的应用:1. 基因组比对:序列比对在基因组学中具有广泛的应用。
它可以帮助研究人员对特定基因进行鉴定,发现重要的调控元件以及揭示物种间的基因结构和功能差异。
此外,基因组比对还可以用于揭示突变引起的遗传疾病和肿瘤等疾病的发病机制。
2. 蛋白质结构预测:序列比对在蛋白质结构预测中也起着重要的作用。
通过将待预测蛋白质序列与已知结构的蛋白质序列进行比对,可以预测其二级和三级结构以及可能的功能区域。
这些预测结果对于理解蛋白质的功能和相互作用至关重要。
3. 分子进化分析:序列比对在分子进化研究中也扮演着重要的角色。
通过将源自不同物种的基因或蛋白质序列进行比对,可以构建进化树,研究物种的亲缘关系和演化历史。
生物序列比较的几种数学方法及其应用

生物序列比较的几种数学方法及其应用李玲;南旭莹;姚玉华【摘要】在生物信息学中,传统的序列比对算法在理论基础和计算上都具有局限性,因此近二十年人们提出和发展了很多序列比较的数学方法.本文综述了较有代表性的几种:图形表示及其矩阵不变量方法;研究生物大分子二级结构的拓扑图论方法;基于字出现频率的统计学方法;Kolmogorov及Lempel-Ziv复杂度方法.%In the bioinformatics, sequence alignment algorithms still have the limitations of theoretic foundation , and the computational load escalates as a power function of the length of the sequences. Therefore, in recent twenty years, many mathematic categories of sequence comparison are outlined and developed. Four main mathematic categories of sequence comparison are reviewed: graphical representation and matrix invariant methods ; topologic methods that applies to biological macromolecular secondary structure; statistics methods based on the word frequency and its distribution; kolmogorov complexity and L - Z Complexity methods.【期刊名称】《渤海大学学报(自然科学版)》【年(卷),期】2013(034)001【总页数】8页(P1-7,70)【关键词】DNA;RNA二级结构;图形表示;L-Z复杂度;序列比较【作者】李玲;南旭莹;姚玉华【作者单位】浙江树人大学基础部,浙江杭州310015;浙江理工大学生命科学学院,浙江杭州310018;浙江理工大学生命科学学院,浙江杭州310018【正文语种】中文【中图分类】Q710 引言二十世纪九十年代以来,伴随着各种基因组测序计划的展开和分子结构测定技术的突破,以及各种生物的基因和蛋白序列的研究,海量的生物序列数据如雨后春笋般迅速出现.如何处理、存储和分析这些数据?这已不是生物学家本身可以解决的问题,需要其他学科的介入,由此催生了一门新的学科——生物信息学,它是多种学科交叉、渗透的产物,涉及生物学、数学、统计学、物理学、化学、信息以及计算机科学等诸多学科的知识.生物信息学不仅具有重大的科学意义,而且具有巨大的经济效益.它既属于基础研究,以探索生物学自然学自然规律为己任;又属于应用研究,它的许多研究成果可以较快或立即产业化,成为价值很高的产品.生物信息学的这一特点在现有的许多学科中几乎是独一无二的.普遍认为,生物信息学和计算分子生物学是当前生命科学和自然科学领域中最关键的、最重要的部分,是21 世纪自然科学的核心领域之一〔1-3〕.在生物信息学中,传统的序列比对(Alignment)方法是通过将两个或多个核酸序列或蛋白质序列进行比对,通常用打分矩阵描述序列两两比对,序列比对问题变成在矩阵里寻找最佳对比路径.序列比对算法是一个动态规划算法,最早是Needleman-Wunsch 动态规划算法,在此基础上又改良产生了Smith-Waterman 算法和SIM 算法,其后又有许多算法被提出.所有这些比较相似性算法都是建立在字符串的比对上,它们的共同特点是给出插入、删除、替换的距离函数,通过计算结构之间的距离来比较相似性,最后用一个回溯技术来确定最优比对.在进行序列两两比对时,有两方面问题直接影响相似性分值:替代矩阵和空位罚分.粗糙的比对方法仅仅用相同或不同来描述两个残基的关系,显然这种方法无法描述残基取代对结构和功能的不同影响效果.空位罚分是为了补偿插入和缺失对序列相似性的影响,一般的处理方法是用两个罚分值,一个对插入的第一个空位罚分,另一个对空位的延伸罚分.对于具体的比对问题,采用不同的罚分方法会取得不同的效果.但是这些方法缺乏合适的理论模型而更多带有主观色彩,存在选取罚分函数的随意性,而选取罚分函数的好坏直接影响相似性分值;比对算法的时间和空间复杂度一直没有达到令人满意的效果,特别是多重序列比对,目前尚缺乏快速而又十分有效的算法.另外这些方法都忽略了组成基的化学性质和化学结构,而且难以在统计学上估计其置信区间〔4〕.鉴于上述序列比对方法的局限性,依据分子生物学的知识,各种数学工具已被广泛地应用于生物序列的数学建模和分析,并取得了一系列重要结果,有力地推动了生命科学的发展.数学的思想与方法已在物理学中得到广泛应用并获得成功,可以相信,二十一世纪其在分子生物学中的应用将会对整个生物学科产生极其深远的影响〔5〕.本文综述了几种应用于生物序列比较的数学方法.1 生物大分子的图形表示及其数值刻画的矩阵不变量方法生物大分子的图表示是生物学数据可视化的一条重要途径,是定性地分析生物学数据的一种强有力的工具.序列的数值刻画是对海量生物学数据进行定量分析的一种常见方法,它在本质上就是构造生物序列的特征/模式向量.DNA 序列的传统表示是由A,C,G,T 四个字母来表示的,这种字母形式具有最高的解像力,即序列的每个细节都排列得清清楚楚.但是它的解像力却不可降低,因而人们通过观察一段较长的DNA 序列时,往往不能留下总体印象.1983 年Hamori 和Ruskin 提出了DNA 序列图形表示的思想:将DNA 序列表示为一条平面或空间中的曲线〔6〕.国内外不少学者提出了众多的图形表示〔7-23〕,M.Randi c'等人基于他们的图形表示,将DNA 序列转化为矩阵等数学表示,进一步用矩阵不变量来研究DNA 序列,取得了很好的结果,图1 画出了这种应用于生物序列比较分析的图形表示方法的步骤.下面介绍几种比较有影响的图形表示方法.图1 应用于生物序列比较分析的图形方法示意图Hamori 于1983 年首先提出表示DNA 序列的图形方法——G-曲线和H-曲线.G-曲线是一种5 维空间表示,其中4 个坐标方向分别为四种核苷酸,另一个方向说明DNA 序列核苷酸的位置特征,当然这一方法不能实现可视化.当用两个坐标轴的四个方向表示四种基,另一个方向表示DNA 序列核苷酸的位置时,曲线就变成3 维空间的曲线,这样的曲线被称为H-曲线.但这种方法要实现最佳可视化效果就需要2 维投影.Hamori 和Ruskin 用H- 曲线发现,bacteriophage M13、human immunodeficiency virus(HIV)以及Epstein Barr virus (EBV)等几种病毒基含量有剧烈变化的区域〔6〕.之后,各种图形表示被提出:1)1986 年Gates 构造出最早的二维表示〔7〕,规定+x 轴单位方向为C,-x 轴方向为G,+y 轴方向为T,-y 轴方向为A;2)1994 年Nandy〔8〕将x 轴的正方向赋予G,负方向赋予A,y 轴的正负方向分别赋予C 和T;3)1995 年Leong 和Morgenthaler 提出另一种表示〔9〕:+x 轴单位方向为C,-x 轴方向为A,+y轴方向为G,-y 轴方向为T.此三种表示是由于四个核苷酸基的任意选择性产生的,可以根据后来的关于化学上核苷酸基的分类来解释,即:(1)按照弱、强氢键分类:W={A,T},S={C,G};(2)按照酮基、氨基分类:M={A,C},K={G,T};(3)按照嘌呤、嘧啶分类:R={A,G},Y={C,T}.这三种图形表示的曲线上点的坐标分别为:图2 以Nandy 的方法为例,画出了图形的坐标系统设定以及一条单链DNA 序列ATGGTGCACCTGACT 的平面图形.图2 (a)Nandy 的坐标轴系统;(b)DNA 序列ATGGTGCACCTGACT 的二维图形表示我国著名理论物理专家张春霆院士也提出了一种DNA 几何图形表示——Z 曲线,Z 曲线是表示DNA序列的一个等价的三维空间曲线.通过对Z 曲线的研究来对基因组序列进行研究是一种几何学的途径.他们还利用Z 曲线研究了真核和原核基因组中若干重要问题,证明这样的思路是切实可行的.例如,在基因识别问题中,传统的方法是分别计算编码和非编码序列中大量的概率和条件概率,通过对这些概率的比较来区别它们.而他们则通过对编码与非编码序列的Z 曲线的比较来区别它们,方法既简单,效果又好.原则上说,基因组中的许多问题都可以通过这种途径加以解决,这种独树一帜别开生面的研究思路已经得到国内外学术界的普遍好评和认可,越来越多的同行(主要是国外同行)加入到对Z 曲线研究的行列中来.可以预期,用几何学方法研究基因组将会有一个广阔的发展空间〔24-26〕.M.Randi c'等人富有开创性的工作提出将图形表示转换成数学的矩阵表示,包括:(1)E 矩阵.其(i,j)元由曲线上两个基对应点的欧氏距离得到.(2)M/M 矩阵.其(i,j)元由曲线上两个基对应点的欧氏距离与|j-i|(非退化情形为它们之间存在的单位线段数)之比得到.(3)L/L 矩阵.其主对角线元为零,所有元素都小于或等于1.这种矩阵来源于DNA 原始序列的二维几何图形表示.假设一个DNA 原始序列的长度为n,即它有n 个基构成.我们构造一个n×n 阶对称矩阵如下,它的(i,j)项为Eij/Gij,这里Eij是几何图形中第i 个点和第j 个点之间的Euclidean 距离,Gij是曲线上第i 个点和第j 个点之间的线段长的和.利用这种矩阵的最大特征值可以给出DNA 原始序列的几何图形的折叠度的一种结构性解释〔10〕.利用DNA 序列的矩阵不变量,可以对DNA 原始序列进行相似性比较.其做法是:对所要比较的几个DNA 基本序列先进行处理,即先求出它们的矩阵和相应的矩阵不变量,如矩阵的特征值、行列式值、矩阵所有项的平均值、最大(小)行和、矩阵的迹等等.把某种不变量作为一个指标,对相应的序列进行相似性比较.如同一序列的图形表示中,必须由几个图形才能完全表示出所有的序列信息.每一种图形表示提取一个矩阵,对应一个矩阵不变量,得到的k 个矩阵不变量构成一个k 维向量. 设分别是两个序列a、b 所对应的k 维向量.通常地说,两个向量之间的相似性可以通过计算它们的端点之间的欧氏距离来度量,另外如果两个向量所指向的方向越相似则我们就认为这两个向量越相似.对应的,我们有两种方法可以计算:(1)d (U1,U2),即两个向量终点的欧氏距离,d 越小,就认为这两个序列越相似;(2)θ (U1,U2),即两个向量的相关角,如果两个向量所成相关角越小,就认为这两个序列越相似.上述图形表示方法目前已经在应用于很多计算生物学领域:(1)鉴定整体同源和保守模式;(2)内含子、外显子差异与识别;(3)进化分歧和分子系统发育;(4)长程关联和不规则片段分析;(5)重复序列分析等等.不过已有的几何图形表示都还有各自的缺陷,主要表现在以下两点:首先有退化现象;其次是对完整序列而言,使用的数学变量计算太复杂,有的甚至还没有算法解决.另外,目前这个领域的发展方向在于:一是拓展生物信息学的应用领域,二是由DNA 转向蛋白质的研究.〔27-31〕2 研究生物大分子二级结构的拓扑图论方法研究DNA 的二级和三级结构双螺旋及轴线的立体形状行为以及其生物功能是非常重要的问题.拓扑学与几何学特别是纽结理论是分析此问题的有力武器.DNA 中的碱基序列决定蛋白质的一级结构即氨基酸序列,在合成后蛋白质便自发折叠成一精确的三级结构然后才能执行催化调控化学输运流动和结构支持等功能.人们把DNA 序列决定氨基酸序列称为生命的第1 密码而把蛋白质氨基酸序列决定其自然结构称为第2 密码.破译第2 密码的意义十分重大,其中必将用到几何学与拓扑学. Shapiro 等人〔32,33〕基于树结构的拓扑不变量提出和发展了RNA 二级结构的结构比较,方法是将这些二级结构的子结构抽象为点和线组成的树状结构.RNA 二级结构的子结构包括:由连续的基对组成的螺旋区(stems),环(loops:端环、内环和凸包环),连接(junctions).其中螺旋区做成线,其它结构都看作点,在图3 显示的是一个tRNA (NDB:TRNA12)的二级结构及其树图表示.基于上述RNA 二级结构的树图表示,可以利用光谱图理论来分析其拓扑性质.他们提取树结构不变量——拉普拉斯矩阵的第二个小的特征值λ2表达了树图的连通性的度量,可以用来分析不同二级结构的相似性.首先对二级结构的树图顶点标号,然后提取邻接矩阵矩阵A,如果i 和j 两个点右边相连,则矩阵元素(i,j)为1,否则为0;对角矩阵D 的对角线元素表达的是这个顶点的连通度,即该顶点连结的边的个数,其它元素为0.拉帕拉斯矩阵L=D-A.NDB:TRNA12 二级结构树图的上述矩阵如下:图3 TRNA (NDB: TRNA12)二级结构及其树图表示拉普拉斯矩阵的特征值:λ1=0,λ2=1,λ3=1,λ4=1,λ5=5,其中第二个特征值表达了树图的连通性的度量.3 基于字出现频率的统计学方法记X=X1X2…Xn为n 个字符组成的序列,其中的字符取自长度为r 的特定的字母表H,即Xi∈H,i=1,…n.从序列X 中抽取一长度为L 的子串(L≤n),定义为L-元组或长度为L 的字.所有可能的L-元组构成集合WL={wL,1,wL,2,…wL,K},显然有K=rL.取一尺寸为L 的滑动窗口,从序列X 的位置1 滑动到n-L+1,得到n-L+1 个L-元组,点数WL中各wL,i的个数,组成向量.通过计算各字的相对含量还可得到字的出现率,其中,i=1,…K.对于生物序列,都是一条有限字符序列.对于DNA,核苷酸有四种,四个基构成的字母表H={A,C,G,T },而蛋白质则是20 个氨基酸构成的字母表,即r 分别为4 和20.例如:对于一个简单的DNA序列X=AATATAC,取L=3,则W3={AAT,ATA,TAT,TAC,…},长度为K=43=64.取三字符的窗口滑动n- L+ 1 次得到5 个字AAT、ATA、TAT、ATA、TAC,W3中各字在这5 个字中出现的次数矢量为=(1,2,1,1,0,…),因此字的出现率矢量=(0.2,0.4,0.2,0.2,0,…).这一类方法通过计算每一个序列的L-元组,将字符序列转换成向量,接着使用现成的线性代数和统计理论分析这些向量之间的相似性(或差异),从而实现序列的比较.设分别是两条序列X,Y 的K 个L-元组出现的次数向量,目前主要有以下几种距离方法来表示序列间差异〔34〕:另外,美国数学家C.E.Shannon 从不确定性(即随机性)和概率测度的角度定义了熵的概念.应用在生物序列比较及分析中,p 和q 是两个生物序列中字出现的频率向量,则它们之间的差异可用相关熵来表示,Kullback- Leibler 偏差是其一种表示方法〔34〕:4 Kolmogorov 复杂性及Lempel-Ziv 复杂度方法复杂性是所有序列所具有的根本属性之一.20 世纪60 年代,Kolmogorov 最先从算法意义上给复杂性做出了理论描述,定义一个(0,1)序列的复杂度为能够产生这一序列的最短程序的bit 数,他描述的复杂性被称为Kolmogorov 复杂性.Li 等人则最早将Kolmogorov 复杂性用于DNA 序列间的距离测度.因Kolmogorov 复杂性是不可计算的,1976 年,Lempel 和Ziv 将数据压缩率作为Kolmogorov 复杂性的一种近似,他们将序列复杂性应用到有限序列,并给出了数学讨论及算法描述,简称为L-Z 复杂性.序列的L-Z 复杂性反映了给定序列随其序列长度的增长出现新的序列模式的速率,是序列复杂性的一个可计算的有效度量〔35,36〕.Lempel 和Ziv 定义一个非空有限序列S 的L-Z 复杂度c(S)为S 对应的最小生成过程中生成单元的个数,最小生成过程本质上只有两个步骤是被允许的:添加一个新的字符,确保每个生成部分的序列子串都有唯一性或者从已合成的序列中拷贝最长的子串.例如,序列S=0001101001000101 可以按下面步骤生成〔27〕:(a)从空串出发开始添加0:→0;(b)最长复制+额外添加一个字符1:→0 · 001;(c)最长复制+额外添加一个字符0:→0 · 001 · 10;(d)最长复制+额外添加一个字符0:→0 · 001 · 10 · 100;(e)最长复制+额外添加一个字符0:→0 · 001 · 10 · 100 · 1000;(f)最长复制:→0 · 001 · 10 · 100 · 1000 · 101.从而序列S=0001101001000101 的L-Z 复杂度为c(S)=6.给定序列S 和Q,SQ 是将序列Q 放到序列S 后连接起来得到的序列,由L-Z 复杂度的定义,则在序列S(Q)含有Q (S)的子序列越长或者越多,那么或者c(SQ)-c(S)的值就越小.Otu 等人由此推定〔103〕:c (QS)-c(Q)的值越小,则序列S 和序列Q 越相似.在此假设下,他们给出了下面几个基于L-Z 复杂度的序列相似性的公式〔37〕:不难看出,其中公式(2)和(4)分别是公式(1)和(3)的正则化形式,它们对序列的长度做出了正则化.Out 等人将上述复杂度方法应用于34 个物种线粒体基因组的进化树构建,李斌等在此基础上提出了条件复杂性的概念,并将之应用于DNA 序列的相似性和物种的系统发育分析〔26〕,李春等人扩展到对称(Symmetric)、反向互补(Inverted complementary)和正向互补(direct Complementary)等操作,并将这些应用于11 个物种的β-球蛋白基因序列的相似性研究,可以看作为广义的L-Z 复杂度方法〔38〕.总的来说,序列比较是生物信息学中最基本、最重要的操作,通过序列比较可以发现生物序列中的功能、结构和进化的信息.在分子生物学中,DNA 或蛋白质的相似性是多方面的,可能是核酸或氨基酸序列的相似,可能是结构的相似,也可能是功能的相似.目前的研究多集中于序列本身的相似性分析,而对结构和功能的相似性研究较少.可以预计,上述几种数学方法的无比对序列比较作为可靠的预测方法,将被广泛用于序列同源性搜寻、多重比对和亲缘树的构建、蛋白质结构预测、基因组序列分析和基因发现等生物序列分析的主要方面.参考文献:【相关文献】〔1〕陈润生.生物信息学〔J〕.生物物理学报,1999,15 (11):5-12.〔2〕张新生,王梓坤.生命信息遗传中的若干数学问题〔J〕.科学通报,2000,45 (2):l13-119. 〔3〕余波.生物信息学的现状与前景〔J〕.生物学教学,2003,28 (10):1-3.〔4〕Vinga S,Almeida1 J.Alignment-free sequence comparison-a review〔J〕.J Bioinformatics,2003,19 (4):513-523.〔5〕杜世平.隐马尔可夫模型在生物信息学中的应用〔J〕.大学数学,2004,20 (5):24-29. 〔6〕Hamori E,Ruskin J.H curves,a novel method of representation of nucleotide series especially suited for long DNA sequences〔J〕.J Bio Chem,1983,258(2):1318-1327. 〔7〕Gates M A.A simple way to look at DNA〔J〕.J Theor Biol,1986,119(3):319-328. 〔8〕Nandy A.A new graphical representation and analysis of DNA sequence structure:I.Methodology and Application to Globin Genes〔J〕.Curr Sci,1994,66:309-314.〔9〕Leong P M,Morgenthaler S.Random walk and gap plots of DNA sequences 〔J〕.Comput Applic Biosci,1995,11(5):503-511.〔10〕RandiM,Vrako M,LerN,et al.Novel 2-D graphical representation of DNA sequences and their numerical characterization〔J〕.Chem Phys Lett,2003,368(1):1-6. 〔11〕Guo X F,RandiM,Basak S C.A novel 2-D graphical representation of DNA sequences of low degeneracy〔J〕.Chem Phys Lett,2000,350(1):106-112.〔12〕Yao Y H,Wang T M.A class of new 2-D graphical representation of DNA sequences and their application〔J〕.Chem Phys Lett,2004,398(4):318-323.〔13〕Yao Y H,Nan X Y,Wang T M.Analysis of similarity/dissimilarity of DNA sequences based on a 3-D graphical representation〔J〕.Chem Phys Lett,2004,388(1):195-200. 〔14〕Yao Y H,Nan X Y,Wang T M.A new 2D graphical representation-classification curve and the analysis of similarity/dissimilarity of DNA sequences〔J〕.J MolStr:THEOCHEM,2006,764(1):101-108.〔15〕Liao B,Li R F,Zhu W,et al.On the similarity of dNA primary sequences based on 5-D representation〔J〕.J Math Chem,2007,42 (1):47-57.〔16〕Dai Q,Liu X Q,Wang T M.A novel 2D graphical representation of DNA sequences and its application.J Mol Graph Mode,2006,25(3):340-344.〔17〕Dai Q,Liu X Q,Xiu Z L,et al.PNN-curve:a new 2D graphical representation of DNA sequences and its application〔J〕.J The Bio,2006,243(4):555-561.〔18〕BielinskaWaz D.Four-component spectral representation of DNA sequences〔J〕.J Math Chem,2010,47(1):41-51.〔19〕Jayalakshmi R,Natarajan R,Vivekanandan M.Extension of molecular similarity analysis approach to classification of DNA sequences using DNA descriptors〔J〕.SAR QSAR Environ Res 2011,22(1-2):21-34.〔20〕Yao Y H,Dai Q,Nan X Y,et al.Analysis of similarity/dissimilarity of DNA sequences based on a class of 2D graphical representation〔J〕.J Comput Chem 2008,29(2):1632-1639.〔21〕Yu C L,Deng M,S.Yau S T.DNA sequence comparison by a novel probabilistic method〔J〕.Inform Sciences,2011,181(8):1484-1492.〔22〕Yu J F,Wang J H,Sun X.Analysis of similarities/dissimilarities of DNA sequences based on a novel graphical representation〔J〕.MATCH Commun Math Comput Chem,2010,63(2):493-512.〔23〕Yu H J,Huang D S.Novel 20-D descriptors of protein sequences and it's applications in similarity analysis〔J〕.Chem Phys Lett,2012,531(2):261-266.〔24〕Zhang C T,Zhang R.An intuitive tool for visualizing and analyzing the DNA sequences〔J〕.J Biomol str Dyn,1994,11(4):767-782.〔25〕张春霆.用几何学方法分析DNA 序列〔J〕.中国科学基金,1999,3:152-153.〔26〕张春霆.人与其他生物基因组若干重要问题的生物信息学研究〔J〕.自然科学进展,2004,14 (12):1367-1374.〔27〕Liao B,Liao B Y,Lu X G,et al.A novel graphical representation of protein sequences and its application.J Comput Chem,2011,32(12):2539-2544.〔28〕Li C,Xing L L,Wang X.2-D graphical representation of protein sequences and its application to coronavirus phylogeny〔J〕.Bmb Reports,2008,41(3):217-222.〔29〕He P A.A new graphical representation of similarity/dissimilarity studies of protein sequences〔J〕.SAR QSAR Environ Res,2010,21(5-6):571-580.〔30〕Randic M,Novic M,Vracko M,Plavsic D.Study of proteome maps using partial ordering〔J〕.J Theor Biol,2010,266(1):21-28.〔31〕Yao Y H,Dai Q,Li L,et al.Similarity/dissimilarity studies of protein sequences based on a new 2D graphical representation〔J〕.J Comput Chem,2010,31(15):1045-1052.〔32〕Shapiro B.An algorithm for comparing multiple RNA secondary structures〔J〕.Comput Appl Biosci,1988,4 (3):387- 393.〔33〕Shapiro B,Zhang paring multiple RNA secondary structures using tree comparisons〔J〕.Comput Appl Biosci,1990,6 (4):309-318.〔34〕符维娟,汪源源,卢大儒.无比对的生物分子序列比较方法〔J〕.生物医学工程学杂志,2005,22 (3):598-601.〔35〕李斌,何红波,李义兵.基于DNA 序列LZ 复杂性距离的系统进化树重构〔J〕.高技术通讯,2006,16 (5):506-510.〔36〕李春.生物大分子的数学描述及其应用〔D〕.博士学位论文.大连:大连理工大学,2006. 〔37〕Otu H H,Sayood,K.A new sequence distance measure for phylogenetic tree construction〔J〕.Bioinformatics,2003,19(2):32122-32130.〔38〕Li C,Wang J.Similarity analysis of DNA sequences based on the generalized LZ complexity of (0,1)-sequences〔J〕.J Math Chem,2008,43(1):26-31.。
生物信息学中多重序列比对算法研究

生物信息学中多重序列比对算法研究多重序列比对是生物信息学领域中的一个重要任务,它用于对多个生物序列进行比较和分析,从而揭示它们之间的共同点和差异。
多重序列比对广泛应用于基因组学、进化生物学和药物研发等领域,对于理解基因和蛋白质序列的功能和结构起着关键作用。
本文将介绍一些常见的多重序列比对算法及其应用。
1. 概述多重序列比对是通过将多个生物序列进行配对,找出相同和相似的区域以及揭示序列差异的一种方法。
它可以帮助研究人员理解进化相关的序列保守性、功能域、结构域和突变位点等信息。
多重序列比对算法的主要挑战在于在保证准确性和效率的前提下,应对序列长度和数量的增加所引起的计算复杂性增加。
2. 算法分类目前,多重序列比对算法可以分为两大类:多序列动态规划方法和高效启发式方法。
2.1 多序列动态规划方法多序列动态规划方法将多重序列比对问题转化为在一个多维矩阵中求解最优路径。
其中最著名的算法是Progressive MSA(渐进性多重序列比对算法)。
该算法以两两序列比对为基础,在不同的聚类层次上逐步合并序列,直到得到最终的多重序列比对结果。
另外一种常见的算法是POA(Partial Order Alignment),它通过构建序列树和部分序列的插入来进行多重序列比对。
2.2 高效启发式方法高效启发式方法通过使用一些策略和技巧来减少计算复杂性和提高算法效率。
其中最著名的算法是MUSCLE(Multiple Sequence Comparison by Log-Expectation),它使用迭代聚类和改进的目标函数来进行多重序列比对。
在实践中,MUSCLE通常比Progressive MSA更快并能够得到同样准确的结果。
另外一种常见的算法是MAFFT(Multiple Alignment using Fast Fourier Transform),它利用傅立叶变换的思想将多重序列比对问题转化为一个大规模矩阵相乘的问题,从而提高算法效率。
生物信息学中的序列比对算法技巧

生物信息学中的序列比对算法技巧序列比对是生物信息学中最重要的任务之一,它对于理解生物序列的功能,关系到生物学、医学和农业等领域的许多研究。
序列比对的目的是确定两个或多个生物序列之间的相似性和差异性,揭示它们之间的结构和功能关系。
在生物信息学的研究中,序列比对被广泛应用于基因组学、蛋白质学、进化生物学等领域。
虽然序列比对是一个复杂的任务,但是许多算法和技巧被发展用于解决这个问题。
下面将介绍一些在生物信息学中常用的序列比对算法技巧。
1. 精确匹配算法精确匹配算法是最简单的序列比对算法之一。
它通过遍历目标序列中的每一个位置,以及参考序列中的相同长度的子序列,进行比较。
当两个子序列完全相同时,算法会判定它们匹配。
常见的精确匹配算法有贪婪算法、Boyer-Moore算法和Knuth-Morris-Pratt算法。
它们通过不同的方式优化了序列比对的速度和效率。
2. 近似匹配算法近似匹配算法用于比对在序列中具有一些差异的区域。
这些差异可能是由于突变、插入或缺失等引起的。
近似匹配算法可以通过引入一些容错性来允许在序列比对中出现一定的误差。
最常用的近似匹配算法是Smith-Waterman算法和Needleman-Wunsch算法。
它们可以找到两个序列之间的最佳匹配,即使在存在一定差异的情况下也能准确地比对。
3. 多序列比对算法多序列比对是将多个序列进行比对以寻找它们之间的相似性和差异性。
这种比对常用于进化生物学中,用于研究不同物种或个体间的共同点与差异。
多序列比对算法的目标是寻找最佳的共同序列,并对其进行比较。
其中一种常见的算法是ClustalW,它使用了多种优化技术来提高比对的准确性和效率。
4. 基于碱基质量的序列比对在一些生物信息学研究中,需要考虑序列中碱基的质量。
质量分数描述了测量序列中每个碱基的准确程度,特别是在测序中。
基于碱基质量的序列比对算法可以根据质量分数调整比对过程中的权重,更准确地确定序列的相似性。
生物信息学中的基因序列比对的使用技巧

生物信息学中的基因序列比对的使用技巧在生物信息学领域,基因序列比对是一项重要的技术,用于研究、理解和解释基因组中的遗传信息。
基因序列比对是将一个基因序列与一个或多个已知的基因组序列进行比较,以确定它们之间的相似性和差异性。
通过比对两个或多个基因序列,我们可以获取关于基因结构、功能和进化的重要信息。
基因序列比对技术可以应用于许多生物学研究领域,例如基因组学、转录组学、蛋白质组学和系统发育学等。
本文将介绍几种常见的基因序列比对方法及其使用技巧。
1. Smith-Waterman算法:Smith-Waterman算法是一种常用的局部比对方法,适用于较长的基因序列比对。
该算法采用动态规划策略,通过计算得分矩阵来找到最优的比对序列。
为了减少计算量,可以设置一个阈值来过滤得分较低的比对。
要注意的是,Smith-Waterman算法的计算复杂度较高,对于较长的基因序列比对可能需要较长的时间。
2. BLAST算法:BLAST(Basic Local Alignment Search Tool)是一种常见的快速比对算法,适用于大规模的基因序列比对。
BLAST算法通过构建索引来加速比对过程,使用一种启发式算法来快速找到可能的相似区域。
BLAST算法可以设置多个参数来控制比对的灵敏度和准确性,例如匹配分值、不匹配分值和查询序列长度等。
使用BLAST算法进行基因序列比对时,可以根据具体的研究目的和需求来选择最适合的参数设置。
3. Needleman-Wunsch算法:Needleman-Wunsch算法是一种常见的全局比对方法,适用于两个序列间的全局相似性比较。
该算法通过在两个序列中插入空白以保持序列的长度一致,并计算得分矩阵找到最优的比对方案。
与Smith-Waterman算法不同的是,Needleman-Wunsch 算法比对的范围更广,可以比对整个序列。
在使用基因序列比对技巧时,还需注意以下几点:1. 选择适当的参考基因组:比对的结果将取决于所选择的参考基因组。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生物序列分析中几个典型算法介绍生物信息学研究背景与方向序列家族的序列谱隐马尔可夫模型(Profile HMMs for sequence families )模体识别(Motif Discovery )刘立芳计算机学院西安电子科技大学生物秀-专心做生物!www.bbioo.com背景知识DNA脱氧核糖核酸1、DNA的分子组成核甘(nucleotides)•磷酸盐(phosphate)•糖(sugar)•一种碱基9腺嘌呤(A denine)9鸟嘌呤(G uanine)9胞嘧啶(C ytosine)9胸腺嘧啶(T hymine) 2、碱基的配对原则•A(腺嘌呤)—T(胸腺嘧啶)•C(鸟嘌呤)—G(胞嘧啶)3、一个嘌呤基与一个嘧啶基通过氢键联结成一个碱基对。
4、DNA分子的方向性5’→3’5、DNA的双螺旋结构RNA、转录和翻译1、RNA(核糖核酸):单链结构、尿嘧啶U代替胸腺嘧啶T、位于细胞核和细胞质中。
2、转录: DNA链→RNA链信使RNA(mRNA),启动子。
3、翻译: mRNA上携带遗传信息在核糖体中合成蛋白质的过程。
变异1、进化过程中由于不正确的复制,使DNA内容发生局部的改变。
2、变异的种类主要有以下三种:9替代(substitution)9插入或删除(insertion or deletion)9重排(rearrangement)基因intronexon基因组任何一条染色体上都带有许多基因,一条高等生物的染色体上可能带有成千上万个基因,一个细胞中的全部基因序列及其间隔序列统称为genomes(基因组)。
人类基因组计划(Human Genome Project)基因的编码1、基因编码是一个逻辑的映射,表明存储在DNA和mRNA中的基因信息决定什么样的蛋白质序列。
2、每个碱基三元组称为一个密码子(codon)3、碱基组成的三元组的排列共有43=64种,而氨基酸共有20种类型,所以不同的密码子可能表示同一种氨基酸。
分子生物学中心法则带来的问题1、序列排列问题2、基因组的重排问题3、蛋白质结构和功能的预测4、基因(外显子、内含子)查找问题5、序列装配(Sequence Assembly)问题……基因组序列装配 基因识别基因功能预报基因多态性分析 基因进化mRNA结构预测基因芯片设计基因芯片数据分析 疾病相关基因分析 蛋白质序列分析蛋白质家族分类蛋白质结构预测蛋白质折叠研究代谢途径分析转录调控机制蛋白质芯片设计蛋白质芯片数据分析 药物设计生物信息学–研究方向BioinformaticsBioinformatics is now part of Oxford Open and your work can be made available free online immediately uponpublication.GENOME ANALYSISSEQUENCE ANALYSISSTRUCTURAL BIOINFORMATICSGENE EXPRESSIONGENETICS AND POPULATION ANALYSISSYSTEMS BIOLOGYDATA AND TEXT MININGDATABASES AND ONTOLOGIES多序列比对序列分析—生物信息学的首要任务 多序列比对和模体识别—序列分析的两个主要方法多序列比对问题优化模型1)SP 记分函数(weighted sums-of-pairs with affine gap penalties )n 条序列S 的一个多序列比对A 的SP 记分函数定义如下:∑∑=−==n i i j j i ij s s COST w A COST 211),()(其中(,)i j COST s s 为序列i s 和j s 的比对分值,ij w 为两序列的权重。
如果S 的一个比对'A 满足:'()max (())A COST A COST A =,则称'A 是一个最优比对。
2)COFFEE 记分函数 (consistency based objective function for alignment evaluation)一个多序列比对A 的COFFEE 记分函数定义如下:112121()()/()n i n i ij ij ij ij i j i j COST A w SCORE A w LEN A −−====⎡⎤⎡⎤=⎢⎥⎢⎥⎣⎦⎣⎦∑∑∑∑ (2.6)其中,ij A 为序列i s 和j s 在A 中的双序列比对,)(ij A LEN 是其比对长度,)(ij A SCORE 是ij A 与库中i s 和j s 最优比对的一致性,其值等于ij A 和库中双序列比对残基对的一致性数目。
ij w 为两序列的相似度,即两序列i s 和j s 的最优比对中,残基完全相同且对齐的数目与两序列的最小长度min{,}i j l l 之比。
如果S 的一个比对'A 满足:))((max )('A COST A COST A =,则称'A 是一个最优比对。
3)序列谱隐Markov 模型(Profile HMMs )Profile HMMsAligned SequencesBuild a Profile HMM (Training)Database searchMultiplealignments(Viterbi) Query against ProfileHMM database(Forward)Including BEGIN and END statesTwo new states can be added to the Markov model description. These are treated as SILENT STATES.The addition of the E state (END) essentially means that we now define a probability distribution over all possible sequences of ANY length.Prediction of fair/loaded dieHMM Formal definitionObjective is to distinguish the sequence of states from the sequence of symbols –call the state sequence the path1The ith state in the path is called the chain is defined by :(|)define emission probabilities ():()(|)so the joint probability of an observed sequence x and a state i kl kl i i k k i i a P l k e b e b P x b k παπππ−======1101 sequence :(,)()i i i Li i P x a e x a ππππππ+==∏However to use this we must already know the path估值问题 假设有一个HM M ,其转移概率ij a 和()k i e x 均已知。
计算这个模型产生某一个特定观测序列12L x x x x ="的概率()P x 。
解码问题 假设已经有了一个HM M 和它所产生的一个观测序列12L x x x x =",决定最有可能产生这个观测序列的状态序列,即其路径1...L πππ=。
学习问题 假设只知道一个HM M 的大致结构(比如状态数量和每一状态的可见符号数量),但ij a 和()k i e x 均未知。
如何从一组可见符号的训练序列中决定这些参数。
隐马尔可夫模型的3个核心问题A HMM model for a DNA motif alignments, The transitions are shown with arrows whose thickness indicate their probability. In each state, the histogram shows the probabilities of the four bases.ACA C --AGC AGA ---ATCACC G --ATC Transition probabilitiesOutput ProbabilitiesinsertionBuilding –Final TopologyDeletion states Matching statesInsertion statesNo of matching states= average sequence length in the family PFAM Database-of Protein families()The Viterbi AlgorithmGiven an observation sequence x = x1x2….x L and an HMM, we would like to know the most probable state path that led to the generation of the observed sequencei.e., the state sequence that is optimal in somemeaningful senseFormal techniques exist e.g., VITERBI algorithmThe VITERBI algorithm is a dynamic programming algorithm which finds the best path (state sequence)with the highest probability.Viterbi algorithm –finding the pathThe most probable path can be found recursively*arg m ax (,)P x πππ=1πWe want to choose the path with the highest probability –like we did in the dynamic programming examples1suppose the probability () of the most prob. path ending in state with observation is known for all states ,(1)()max (())k l l i k kl kv i k i k v i e x v i a ++=O(C L L )Viterbi Algorithm00All sequences have the same start state,so 1.By keeping pointers backwards, the actual path can be found by backtracking. The full algorithm:Init (i 0): (0)1,(0)0 for 0Recur k v v v k ====>00sion(i 1..L): ()max ((1)) ()arg max ((1))Termination: P(x, *)max (()) *arg max (())Tra l l i k k kl i k k kl k k k L k k k v e x v i a ptr l v i a v L a v L a ππ==−=−==1ceback(i L..1): *()i i ptr l π−==1πThe Forward algorithmWe also are interested in calculating the probability of a sequence P(x) given a model of the systembehaviorThe number of possible paths increases exponentially with length so it is not possible to enumerate all of them This can be calculate by a dynamic programming algorithm, like the Viterbi algorithm, replacingmaximization with a sum.∑=ππ),()(x P x P ),...()(1k x x P i f i i k ==πklk k i l l a i f x e i f ∑+=+)()()1(1Backward algorithm or posterior state probabilities )|...(),...( ),...|...(),...(),(11111k x x P k x x P k x x x x P k x x P k x P i L i i i i i L i ii i =======++πππππ)|...(P )(1k x x i b i L i k ==+πFirst calculate the probability of producing the entire observed Sequence with ith symbol produced by state k:),...()(1k x x P i f i i k ==πFrom forward alg.Backward Algorithm(1))b (x e P(x) :n Terminatio1).(i )b (x e )(b :1,...,1)-L i Recursion(k.)(b :)(tion Initialisa l 1l 0l 1i l k 0k ∑∑=+====+ll lkl k a a i all for a L L i Calculation of backward term is similar to calculation of forward term –except that it starts from the end of the sequencePosterior probability of a fair dieParameter estimation for HMMsl n l n 1 l(x ,...,x |)log (x ,...,x |)log (|)where represents all of the transition and emission probsnjj P P x θθθθ===∑Most difficult problem is specifying the model9what are the states?9how are they connected?9what are the transition and emission probabilities?Start with estimating the probabilities….From training sequences (x 1to x n ) –the log likelihood of the model is:More occasionally dishonest casinoReal model Estimated model (300 rolls)30,000 rolls。