本文聚焦于序列比对的相关知识,部分内容来源于我的课堂笔记,希望能对你有所帮助 😊
1. 序列比对的基本概念
1.1 什么是序列比对?
序列比对是通过排列两条或多条生物序列(DNA、RNA 或蛋白质),找到它们之间相似区域的过程。
目的:
- 识别相似性:揭示不同序列间的共同特征或进化关系。
- 功能预测:通过比对未知序列与已知序列,推测基因或蛋白质的功能。
- 进化分析:研究物种间的进化关系。
1.2 序列比对的分类
-
全局比对(Global Alignment):
- 比对两条序列的全部内容。
- 适合长度相近的序列。
- 例子:Needleman-Wunsch 算法。
-
局部比对(Local Alignment):
- 比对序列中最相似的部分。
- 适合长度差异较大的序列或部分相似的序列。
- 例子:Smith-Waterman 算法。
-
多序列比对(Multiple Sequence Alignment, MSA):
- 同时比对三条或更多序列。
- 常用于蛋白质家族分析和进化树构建。
2. 序列比对的核心原理
2.1 序列相似性的衡量
-
匹配(Match):
- 两个字符(碱基或氨基酸)相同。
-
错配(Mismatch):
- 两个字符不同。
-
空位(Gap):
- 插入或缺失(indel)造成的空位。
2.2 打分系统(Scoring System)
序列比对的核心是设计合理的打分系统来评估比对质量。
- 匹配得分:如 +1。
- 错配扣分:如 -1。
- 空位罚分:如 -2。
打分示例(DNA 序列):
A-TCG
AATCG
匹配得分:3(A, T, C 匹配)
错配得分:-1(A vs T)
空位罚分:-2(插入 T)
总分 = 3 - 1 - 2 = 0
2.3 动态规划
动态规划(Dynamic Programming, DP)是实现序列比对的核心算法。
基本思想:
- 将复杂问题分解为简单的子问题,逐步求解最优解。
- 通过矩阵填表的方式找到比对得分最高的路径。
步骤:
- 构建矩阵:行和列分别代表两个序列。
- 填写矩阵:按照匹配、错配、空位规则计算每个位置的得分。
- 回溯路径:找到得分最高的路径,输出比对结果。
2.4 常用算法
- Needleman-Wunsch 算法(全局比对)
找到两条序列的全局最佳比对。
- Smith-Waterman 算法(局部比对)
找到最相似的局部区域。
- BLAST(快速局部比对)
- 通过查找短片段(种子)的匹配,快速比对大规模序列。
- 应用广泛,是序列比对的实际标准工具。
3. 序列比对工具和流程
3.1 常用工具
-
BLAST:
- 全称:Basic Local Alignment Search Tool。
- 用途:在数据库中快速查找与目标序列相似的序列。
- 输入:FASTA 格式的查询序列。
- 输出:比对得分、E 值(显著性概率)。
-
Clustal Omega:
- 用于多序列比对,生成序列对齐结果和进化树。
-
MUSCLE:
- 高效的多序列比对工具。
-
MAFFT:
- 精确而快速的多序列比对工具。
4. 序列比对的应用
基因功能预测
比对未知基因序列与数据库中已知基因,推测其功能。
进化关系研究
比对多个物种的基因序列,构建进化树,研究物种间的进化距离。
突变检测
比对基因组序列,识别 SNP(单核苷酸多态性)和 indel(插入/缺失)。
蛋白质结构预测
比对蛋白质序列,推测其结构和功能。
本文参考
《生物信息学》 樊笼江主编