2022年第十一届数学建模国际赛小美赛
B题 序列的遗传过程
原题再现:
序列同源性是指DNA、RNA或蛋白质序列之间的生物同源性,根据生命进化史中的共同祖先定义[1]。DNA、RNA或蛋白质之间的同源性通常根据它们的核苷酸或氨基酸序列相似性来推断。显著的相似性是两个序列通过共同祖先序列的进化变化而相互关联的有力证据[2]。
考虑RNA序列的遗传过程,其中核苷酸碱基的突变是偶然发生的。为简单起见,我们假设序列突变是由于单个碱基的改变(转换或转换)、插入和删除引起的。因此,我们可以通过突变点的数量来度量两个序列之间的距离。多个碱基序列紧密结合可以形成一个家族,它们被认为是同源的。
您的团队被要求开发一个合理的数学模型来完成以下问题。
1、请设计一种算法,快速测量两个足够长(>103个碱基)的碱基序列之间的距离。
2、请可靠地评估算法的复杂度和准确性,并设计合适的例子加以说明。
3、如果一个家族中的多个碱基序列是由一个共同的祖先序列进化而来,设计一个高效的算法来确定祖先序列,并映射系谱树。
整体求解过程概述(摘要)
随着现代基因组学的发展,越来越多的基因序列被破译出来。基于如此庞大的基因数据库,高效地实现基因序列比对具有重要意义。碱基序列间的相似性不仅可用于基因性状分析,还可用于确定基因同源性和进化过程。
为了量化基因同源性,我们提供了基因距离和相似性的明确定义。两个碱基序列之间的基因距离可以用将序列Sm转换为另一个序列Sn的代价来表示,在转换过程中,只允许使用一系列合格的编辑手段,如插入和替换字符。相似性是指两个序列之间相等的碱基数目。在遗传距离和相似性的计算中,基因比对是一个整体。
基因比对的关键是找出碱基序列之间如何合理匹配,以减少单个碱基变异对整体比对的影响。将基因序列视为一个由a、G、T、C四个字符组成的字符串,其两两匹配问题等价于经典的LCS(最长公共子序列)问题,即通过增加空格使两个字符串对应位置的相等字符数最大化。
由于单个字符的编辑操作受到限制,因此可以列出每个匹配的状态转移方程,然后使用动态规划算法:Needleman-Wunsch(NW)算法找到最佳匹配。经过结构分析,该算法的时间复杂度和空间复杂度均为O(mn)。通过和现有序列匹配工具的比较,表明该算法具有高效性、准确性和适用性,匹配度为86.71%。
根据基因距离,我们可以在一组同源基因中反转共同的祖先序列,并绘制家谱树。对于系谱树,我们参考系统发育树的生成,并应用两种算法来重建一组基因之间的进化过程。邻域连接法(NJ)和算术平均无权对群法(UPGMA)采用不同的聚类原则,可以构造两个不同的系谱树。将系统发育树与序列比对算法相结合,有效地得到了原始序列。
为了验证系谱树的准确性,我们还设计了一个自顶向下的生成程序来模拟基因进化过程。结果表明,回溯得到的祖先序列与生成序列的起始点具有很高的相似性,证明了该算法的准确性和实用性。
模型假设:
•1.有限的基因突变
我们假设序列突变只发生在单个碱基发生改变、插入和缺失的情况下。
•2.所研究的序列对一般都具有全局最优比对,基因序列比对大致可分为全局比对和局部比对两类。为了简化情况,
•3.尽管正、副同系物是同系物的两个重要概念,但它们之间的区别是可以忽略的,难以量化和区分。因此,我们忽略了这两个亚类之间的差异,只关注同源基因的遗传距离。
•4.模拟的基因变异率高于实际的基因变异率,实际的基因变异率很低,约为50%。然而,在模拟程序中,我们假设每个变异率都略高于实际值,以使比较更加显著。
问题重述:
为了更有效地解决问题,我们将课题的要求归纳为以下具体问题,并对如何回答这些问题进行了深入分析。