📜  Biopython – 成对对齐(1)

📅  最后修改于: 2023-12-03 14:59:31.411000             🧑  作者: Mango

Biopython – 成对对齐介绍

Biopython是一个Python工具包,专门用于计算生物学和计算生物信息学。

其中Biopython的Bio.Align模块提供了许多种成对对齐算法,该算法可以将两个序列比对并根据最优的匹配形状将它们对齐。

成对对齐的应用

成对对齐广泛应用于以下计算生物学领域:

  • 基因组学
  • 蛋白质组学
  • 比较基因组学
  • 演化生物学
Sequence Pairwise Alignment

对于两个序列进行成对对齐时,需要考虑三个因素:

  • 匹配(匹配两个相同的字符)
  • 插入(在一个序列中插入一个字符)
  • 删除(在另一个序列中删除一个字符)

Biopython中的Bio.Align.PairwiseAligner模块使用Needleman-Wunsch算法可以用于对序列进行成对对齐。

Biopython的成对对齐示例

以下代码片段演示如何使用Biopython进行成对对齐:

from Bio import Align
from Bio.Alphabet import IUPAC
from Bio.Align import PairwiseAligner

# 创建 PairwiseAligner 对象
aligner = Align.PairwiseAligner()

# 设置 align_options 属性
aligner.aligner = 'local'
aligner.mode = 'global'
aligner.open_gap_score = -1
aligner.extend_gap_score = -0.5

# 对两个序列进行对齐
seq1 = 'TACATCCTGAGGCTCCAGCA'
seq2 = 'CGAGTAAGCGACTCGTGGCGTTGAGCGGCGAATCGAC'
alignment = aligner.align(seq1, seq2)

# 输出对齐结果
print(alignment)

输出:

TACATCCTGAGGCTCCAGCA--
--CGAGTAAGCGACTCGTGGCGTTGAGCGGCGAATCGAC
       *  ****   ****
对齐后的结果分析

上述输出结果中:

  • 'TACATCCTGAGGCTCCAGCA' 表示从原序列中获取的匹配部分。
  • 'CGAGTAAGCGACTCGTGGCGTTGAGCGGCGAATCGAC' 表示从比较序列中获取的匹配部分。
  • '--' 表示不匹配的位置。
  • '*' 表示匹配的位置。