本文聚焦于序列比对的相关知识,部分内容来源于我的课堂笔记,希望能对你有所帮助 😊

1. 序列比对的基本概念

1.1 什么是序列比对?
序列比对是通过排列两条或多条生物序列(DNA、RNA 或蛋白质),找到它们之间相似区域的过程。

目的:

1.2 序列比对的分类

  1. 全局比对(Global Alignment)

    • 比对两条序列的全部内容。
    • 适合长度相近的序列。
    • 例子:Needleman-Wunsch 算法。
  2. 局部比对(Local Alignment)

    • 比对序列中最相似的部分。
    • 适合长度差异较大的序列或部分相似的序列。
    • 例子:Smith-Waterman 算法。
  3. 多序列比对(Multiple Sequence Alignment, MSA)

    • 同时比对三条或更多序列。
    • 常用于蛋白质家族分析和进化树构建。

2. 序列比对的核心原理

2.1 序列相似性的衡量

  1. 匹配(Match)

    • 两个字符(碱基或氨基酸)相同。
  2. 错配(Mismatch)

    • 两个字符不同。
  3. 空位(Gap)

    • 插入或缺失(indel)造成的空位。

2.2 打分系统(Scoring System)
序列比对的核心是设计合理的打分系统来评估比对质量。

  1. 匹配得分:如 +1。
  2. 错配扣分:如 -1。
  3. 空位罚分:如 -2。

打分示例(DNA 序列):

A-TCG
AATCG
匹配得分:3(A, T, C 匹配)
错配得分:-1(A vs T)
空位罚分:-2(插入 T)
总分 = 3 - 1 - 2 = 0

2.3 动态规划
动态规划(Dynamic Programming, DP)是实现序列比对的核心算法。

基本思想:

步骤:

  1. 构建矩阵:行和列分别代表两个序列。
  2. 填写矩阵:按照匹配、错配、空位规则计算每个位置的得分。
  3. 回溯路径:找到得分最高的路径,输出比对结果。

2.4 常用算法

  1. Needleman-Wunsch 算法(全局比对)
    找到两条序列的全局最佳比对。

  1. Smith-Waterman 算法(局部比对)
    找到最相似的局部区域。

  1. BLAST(快速局部比对)
    • 通过查找短片段(种子)的匹配,快速比对大规模序列。
    • 应用广泛,是序列比对的实际标准工具。

3. 序列比对工具和流程

3.1 常用工具

  1. BLAST

    • 全称:Basic Local Alignment Search Tool。
    • 用途:在数据库中快速查找与目标序列相似的序列。
    • 输入:FASTA 格式的查询序列。
    • 输出:比对得分、E 值(显著性概率)。
  2. Clustal Omega

    • 用于多序列比对,生成序列对齐结果和进化树。
  3. MUSCLE

    • 高效的多序列比对工具。
  4. MAFFT

    • 精确而快速的多序列比对工具。

4. 序列比对的应用

基因功能预测
比对未知基因序列与数据库中已知基因,推测其功能。

进化关系研究
比对多个物种的基因序列,构建进化树,研究物种间的进化距离。

突变检测
比对基因组序列,识别 SNP(单核苷酸多态性)和 indel(插入/缺失)。

蛋白质结构预测
比对蛋白质序列,推测其结构和功能。

本文参考

《生物信息学》 樊笼江主编