生物序列的机器学习模型:从基础到应用
1. 生物信息学与机器学习概述
生物信息学在 20 世纪 80 年代和 90 年代得到了发展,主要聚焦于对新获取的 DNA 和蛋白质序列集合进行计算分析。在这个背景下,为了理解这些序列的进化历史和分子生物学功能,人们开发了各种各样的机器学习分析方法。
1.1 生物序列基础定义
遗传信息以脱氧核糖核酸(DNA)生物聚合物的形式存储在每个活细胞的细胞核中。DNA 编码了所有已知生命形式的蓝图,其序列可以表示为字母表 {A, C, G, T} 上的有限字符串,对应四种 DNA 碱基。人类基因组大约由 30 亿个碱基组成,分布在 23 条染色体上。
在细胞的生命过程中,会对 DNA 的短片段进行临时复制,这些短寿命的副本由核糖核酸(RNA)组成。每个 3 联体的 RNA 可以通过通用遗传密码翻译成 20 种氨基酸中的一种。由此产生的氨基酸序列称为蛋白质,编码该蛋白质的 DNA 序列称为基因。
1.2 构建生物序列模型的动机
构建生物序列模型的根本动机是理解细胞的分子机制以及人类疾病的分子基础。不同类型的模型试图捕捉潜在生物学的不同方面,最终目标是揭示序列之间的进化或功能关系。
虽然早在 20 世纪 50 年代就有少量的 DNA 和蛋白质序列,但直到 80 年代才获得了大量的序列。大多数模型开发的进展始于 90 年代,不过系统发育模型在 70 年代就已经开始发展。
2. 学习系统的结构
2.1 基序(Motifs)
在生物序列的背景下,“基序”是一个短的(通常为 6 - 20 个字母)子序列,具有重要的功能意义。基序可能对应于特定蛋白质与 DNA 链结合的位置,或者蛋白质与 DNA 结合的位置。基序可以通过趋同进化(当两个序列进化得彼此相似时)或进化保守(如果缺乏基序的序列可能通过自然选择被淘汰)产生。
基序发现是在给定的序列集合中识别先前未知基序的问题,通过寻找比随机预期更频繁出现的模式来实现。这个问题具有挑战性,因为同一基序的两次出现可能并不完全相似。
基序发现的工作可以分为两个阵营,这取决于基序本身的表示方式:
-
位置特异性评分矩阵(PSSMs)
:宽度为 w 的基序在大小为 A 的字母表上表示为一个 w×A 的概率矩阵。矩阵中的每个条目表示给定字母在给定位点出现的概率。早期的工作使用期望最大化算法来识别蛋白质基序,后来的 MEME 算法对其进行了显著扩展,至今仍被广泛使用。此外,吉布斯采样方法也被用于基序发现,它具有避免局部最小值和能够同时采样多个基序的优点。
-
离散基序表示
:每个基序表示为一个共识序列加上指定的最大错配数。在这种形式下,枚举方法可以保证最优地解决给定问题。对于实际问题规模,这种方法最适用于 DNA,因为其字母表大小要小得多。Weeder 是这种方法的一个流行示例,在基序发现算法的比较中表现良好。
近年来,大规模体外 DNA 结合蛋白结合数据集的生成,例如使用蛋白质结合微阵列实验,重新激发了对学习转录因子结合基序算法的兴趣。这些基序可以表示为 PSSMs 或基于 k 长度子序列(“k - 聚体”)的更通用模型。同时,基于染色质免疫沉淀测序(ChIP - seq)的转录因子体内基因组结合实验数据也使用基于 k - 聚体的学习方法进行建模。
2.2 蛋白质
计算生物学中的一个核心问题是根据蛋白质的氨基酸序列将其分类到功能和结构类别中。蛋白质折叠后所呈现的三维结构在很大程度上决定了其在细胞中的功能。然而,直接获得蛋白质的三维结构需要诸如 X 射线晶体学或核磁共振等困难的实验技术,而确定蛋白质序列则相对容易。通过进化,结构比序列更保守,因此检测非常细微的序列相似性或远程同源性对于预测功能很重要。
自 20 世纪 80 年代初以来,研究人员开发了一系列越来越强大的方法来检测蛋白质序列的相似性,这一发展可以分为三个主要阶段:
-
早期方法
:专注于成对比较问题,基于成对比对评估两个蛋白质之间相似性的统计显著性。这些方法只能识别相对接近的同源性。基于启发式比对的 BLAST 算法及相关工具是目前最广泛用于成对序列比较和数据库搜索的方法。
-
基于家族的模型
:通过收集一组相似序列的聚合统计信息,并将结果统计信息与感兴趣的单个未标记蛋白质进行比较,进一步提高了准确性。基于家族的模型的一个重要例子是轮廓隐马尔可夫模型(HMMs),它是从蛋白质家族的多个序列比对中估计的概率生成模型。轮廓 HMMs 通过允许相对于比对的核心残基进行插入和删除来生成可变长度的序列。
-
判别式算法
:引入了基于支持向量机等分类器的判别式算法,用于蛋白质分类和远程同源性检测。这些方法不仅在属于蛋白质家族的正序列上进行训练,还在与该家族无关的负例序列上进行训练。它们需要使用显式特征映射或核函数来表示蛋白质序列,以便训练分类器。第一个判别式蛋白质分类算法是 SVM - Fisher 方法,它使用轮廓 HMM 为每个输入序列提取 Fisher 分数的特征向量。另一种使用的特征表示是经验核映射,还可以直接构建有用的核而不依赖于生成模型,例如错配核。
然而,使用 k - 聚体表示时,使用这种特征映射计算序列相似性可能会很快变得计算上难以处理。为了解决这个问题,Kuksa 等人引入了具有字母表无关复杂度的线性时间算法,这些方法后来从汉明距离扩展到了任意相似性度量。
2.3 基因
在对基因组(或基因组的一部分)进行测序后,生物学家的第一个问题通常是“基因在哪里?”在简单生物中,大部分基因组被翻译成蛋白质,因此基因发现问题本质上归结为识别基因之间的边界。在更复杂的生物中,大部分基因组由非蛋白质编码 DNA 组成,例如人类基因组约 98% 是非编码 DNA,这些非编码 DNA 散布在编码区域之间,甚至在单个编码区域中间。基因发现问题通常是识别给定 DNA 序列中编码蛋白质的区域。
基因发现的方法发展如下:
-
早期方法
:结合不同类型检测器产生的分数。信号检测器试图识别局部、固定长度的特征,如单个基因中编码和非编码区域之间的边界特征。内容检测器试图根据组成统计识别更大的模式。早期的基因发现算法以临时的方式组合这些各种分数来识别类似基因的区域。
-
HMM 方法
:20 世纪 90 年代中期,一些研究小组开始使用 HMMs 进行基因发现。HMMs 提供了一种连贯的、完全概率的方法,能够捕捉真实基因的许多复杂性。早期广泛使用的方法是 Genscan,它使用五阶马尔可夫统计以及可变持续时间 HMMs。
-
下一代方法
:使用条件随机场模型和大间隔结构化输出技术。
最近,基因发现问题的一种无监督变体是半自动基因组注释。在这种情况下,输入不是 DNA 序列本身,而是沿着基因组排列的一系列基于序列的测量值,代表局部 DNA 构象以及与 DNA 结合的蛋白质的特性。任务是同时对基因组进行分区,并为每个片段分配一个整数标签,使得具有相同标签的片段具有相似的数据。这个过程是半自动的,因为标签的语义(对应于基因、调控元件等)必须在后期处理步骤中手动推断。
2.4 RNA
大多数 RNA 分子是所谓的信使 RNA,用于生产相应的蛋白质分子。然而,一些 RNA 不编码蛋白质,而是独立发挥功能。这些 RNA 属于不同的功能类别,但由于它们本身通常非常短,并且功能性 RNA 通常以确定性方式折叠,因此在 RNA 序列上表现出非局部依赖性,HMMs 不容易识别它们。
有用的 RNA 建模通过协方差模型实现,协方差模型是随机上下文无关文法的一个子类。这一领域的基础工作由 Eddy 和 Durbin 完成,他们解决了结构推断问题以及在给定结构的情况下推断转移和发射概率的问题。他们将这些算法应用于转运 RNA(tRNAs),这种方法是 Rfam 等广泛使用工具的基础。
在 RNA 协方差模型方面,许多努力致力于提高与协方差模型相关算法的时间和空间效率。例如,Eddy 引入了一种内存高效的动态规划算法变体,用于将协方差模型与 RNA 序列进行比对,这一改进将长度为 N 的 RNA 序列的空间要求从 O(N³) 降低。其他工作则专注于加速使用建模家族进行数据库搜索。
最近的努力集中在全基因组筛选算法上,以发现功能性非编码 RNA 以及微小调节 RNA 如 microRNAs。解决这个问题的各种方法结合了保守性和 RNA 结构预测,使用协方差模型和其他方法。RNAz 是这样一种算法,它在支持向量机方法中结合了热力学稳定性度量和结构保守性度量,用于在多个序列比对中检测功能性 RNA。
2.5 系统发育模型
系统发育模型试图推断导致观察到的 DNA 或蛋白质序列集合的一系列进化事件(突变、插入、缺失等)。在大多数情况下,这些模型忽略了个体或物种之间复制 DNA 的可能性,因此将历史表示为系统发育树,其中叶节点表示观察到的序列,内部节点表示未观察到的祖先序列。主要兴趣在于推断该树的拓扑结构和分支长度。
系统发育树推断方法可以分为三类:
-
简约法
:寻找在其分支上需要最少突变、插入或删除的树。由于可能的树拓扑结构的搜索空间非常大,这种方法仅适用于相对较小的序列集合(数十个而不是数百个)。此外,由于简约模型不允许所谓的反向突变(一个字母突变为不同字母然后再变回来)和其他类似事件,因此对于远缘相关的序列,简约模型被证明是次优的。
-
距离法
:用广义的距离概念取代简约性,该距离概念可能包括反向突变。在这个领域已经开发了一系列越来越复杂的距离度量,从单参数 Jukes - Cantor 模型和双参数 Kimura 模型开始。给定一个全对全的距离矩阵,可以使用各种树推断算法,包括邻接法和凝聚层次聚类(在系统发育学中称为 UPGMA)。
-
似然法
:使用完全概率方法,试图在给定观察到的序列的情况下推断具有最大似然的树。这种方法在 1973 年首次提出,但直到最近才在计算上适用于大型序列集合。当前的方法采用马尔可夫链蒙特卡罗方法进行搜索。
最近,所谓的无比对方法在 DNA 条形码的物种识别问题中得到了考虑。DNA 条形码是一种使用标准基因区域的 DNA 序列片段(如线粒体 DNA)来表征物种的分类学工具。这些无比对方法与用于蛋白质分类的判别式核方法类似,它们避免了显式构建系统发育树的昂贵过程,而是专注于更可扩展的少数物种家族的识别。
3. 常用程序和数据资源
以下是一些用于进行生物序列分析的比较流行的网站:
| 名称 | 网址 | 功能 |
| ---- | ---- | ---- |
| BLAST 和 PSI - BLAST | http://www.ncbi.nlm.nih.gov/BLAST | 用给定的查询序列搜索蛋白质或 DNA 序列,并返回同源物的排名列表 |
| MEME | http://meme.sdsc.edu | 在给定的 DNA 或蛋白质序列集合中搜索一个或多个重复的基序模式 |
| HMMER | http://hmmer.janelia.org | 用于训练和使用蛋白质轮廓隐马尔可夫模型进行搜索的工具包 |
| Pfam | http://pfam.janelia.org | 一个可搜索的轮廓隐马尔可夫模型库,对应于经过整理的同源蛋白质结构域集合 |
| Rfam | http://rfam.janelia.org | 一个类似的数据库,包含多个序列比对和涵盖许多常见非编码 RNA 家族的协方差模型 |
| PHYLIP | http://evolution.genetics.washington.edu/phylip.html | 一个免费的软件工具包,包含许多常见的系统发育推断算法 |
3.1 生物序列分析流程
graph LR
A[获取生物序列] --> B[选择分析类型]
B --> C{基序发现}
B --> D{蛋白质分类}
B --> E{基因发现}
B --> F{RNA 建模}
B --> G{系统发育分析}
C --> C1[PSSM 方法]
C --> C2[离散基序表示方法]
D --> D1[BLAST 等成对比较]
D --> D2[家族 - 基于模型]
D --> D3[判别式算法]
E --> E1[早期组合方法]
E --> E2[HMM 方法]
E --> E3[下一代方法]
F --> F1[协方差模型]
F --> F2[全基因组筛选算法]
G --> G1[简约法]
G --> G2[距离法]
G --> G3[似然法]
G --> G4[无比对方法]
通过这些工具和方法,研究人员可以更深入地了解生物序列的奥秘,为生物学和医学研究提供有力支持。生物序列的机器学习模型不断发展,未来有望在更多领域取得突破。
4. 各模型方法的总结与对比
4.1 不同模型的特点总结
| 模型类型 | 特点 | 适用场景 | 局限性 |
|---|---|---|---|
| 基序发现模型 |
- 分为 PSSMs 和离散基序表示两种方式
- 能识别序列中具有功能意义的短子序列 |
- 寻找转录因子结合位点
- 分析基因调控机制 |
- 同一基序两次出现可能不完全相似,增加识别难度
- 离散基序表示法对大规模数据计算复杂 |
| 蛋白质分类模型 |
- 经历了从成对比较到家族模型再到判别式算法的发展
- 可基于氨基酸序列进行分类 |
- 预测蛋白质功能和结构
- 检测远程同源性 | - k - 聚体表示计算序列相似性时计算量可能过大 |
| 基因发现模型 |
- 从早期组合方法发展到 HMM 方法和下一代方法
- 用于识别 DNA 序列中编码蛋白质的区域 | - 基因组测序后的基因定位 | - 复杂生物基因组中非编码 DNA 增加了识别难度 |
| RNA 建模模型 |
- 采用协方差模型,考虑 RNA 折叠的非局部依赖性
- 用于功能性非编码 RNA 和 microRNAs 的发现 | - 研究 RNA 独立功能 | - 对短 RNA 建模仍有挑战 |
| 系统发育模型 |
- 包括简约法、距离法和似然法
- 推断进化历史和序列关系 | - 分析物种进化关系 |
- 简约法不适用于远缘相关序列
- 似然法对大规模数据计算要求高 |
4.2 模型发展趋势
随着技术的不断进步,生物序列模型呈现出以下发展趋势:
-
多模型融合
:不同类型的模型相互结合,综合利用各种信息,提高分析的准确性和可靠性。例如,将蛋白质分类的判别式算法与基因发现的 HMM 方法结合,更全面地研究生物分子的功能和结构。
-
大数据驱动
:大规模生物序列数据的积累为模型的训练和优化提供了丰富的资源。利用深度学习等技术处理海量数据,挖掘更复杂的模式和关系。
-
算法优化
:不断改进现有算法,提高计算效率和准确性。如在 RNA 建模中,优化协方差模型的算法,降低时间和空间复杂度。
5. 操作步骤与实际应用
5.1 生物序列分析的操作步骤
以下是一个通用的生物序列分析操作步骤:
1.
数据获取
:从公共数据库或实验中获取生物序列数据,如 DNA、蛋白质序列等。
2.
数据预处理
:对序列进行清洗、去除噪声、格式化等操作,确保数据的质量和一致性。
3.
选择分析方法
:根据研究目的选择合适的分析方法,如基序发现、蛋白质分类等。
4.
模型训练与参数调整
:使用训练数据对所选模型进行训练,并调整模型参数以达到最佳性能。
5.
结果分析与验证
:对模型的输出结果进行分析和解释,通过实验或其他方法验证结果的可靠性。
5.2 实际应用案例
- 疾病诊断 :通过分析患者的基因序列,利用基因发现模型识别与疾病相关的基因变异,为疾病的早期诊断和个性化治疗提供依据。
- 药物研发 :利用蛋白质分类模型预测蛋白质的功能和结构,筛选潜在的药物靶点,加速药物研发过程。
- 物种鉴定 :使用系统发育模型分析 DNA 条形码,准确鉴定物种,为生物多样性研究和生态保护提供支持。
6. 未来展望
6.1 技术挑战与机遇
生物序列分析领域面临着一些技术挑战,如处理大规模数据的计算资源需求、复杂生物系统中的模型解释性等。然而,这些挑战也带来了机遇,促使研究人员开发更高效的算法和模型,推动该领域的不断发展。
6.2 潜在应用领域拓展
除了现有的应用领域,生物序列模型还有望在以下领域发挥重要作用:
-
合成生物学
:设计和构建人工生物系统,利用生物序列模型优化基因电路和代谢途径。
-
农业生物技术
:通过分析农作物的基因序列,改良品种,提高产量和抗逆性。
-
环境科学
:研究环境微生物群落的基因序列,了解生态系统的功能和稳定性。
6.3 研究方向预测
未来的研究可能会集中在以下几个方向:
-
跨学科研究
:结合生物学、计算机科学、数学等多学科知识,开发更先进的生物序列分析方法。
-
实时监测与动态建模
:实现对生物序列的实时监测和动态建模,更好地理解生物系统的变化过程。
-
个性化医疗的深入应用
:根据个体的生物序列信息,提供更加精准的医疗诊断和治疗方案。
graph LR
A[生物序列分析未来发展] --> B[技术创新]
A --> C[应用拓展]
A --> D[研究方向]
B --> B1[多模型融合算法]
B --> B2[大数据处理技术]
C --> C1[合成生物学]
C --> C2[农业生物技术]
C --> C3[环境科学]
D --> D1[跨学科研究]
D --> D2[实时监测与动态建模]
D --> D3[个性化医疗深入应用]
生物序列的机器学习模型在生物信息学领域已经取得了显著的成果,为生物学和医学研究提供了强大的工具。随着技术的不断进步和研究的深入,这些模型将在更多领域发挥重要作用,为解决复杂的生物问题带来新的突破。研究人员需要不断探索和创新,以应对日益增长的数据和复杂的生物系统,推动生物序列分析技术的发展。
441



被折叠的 条评论
为什么被折叠?



