1. 生成PairwiseAligner对象
from Bio import Align
aligner = Align.PairwiseAligner()
print(aligner.__repr__())#了解该对象的基本信息
print(aligner)#打印参数
#设置比对参数
...
输出结果:
Pairwise aligner, implementing the Needleman-Wunsch, Smith-Waterman, Gotoh, and Waterman-Smith-Beyer global and local alignment algorithms
Pairwise sequence aligner with parameters
wildcard: None
match_score: 1.000000
mismatch_score: 0.000000
target_internal_open_gap_score: 0.000000
target_internal_extend_gap_score: 0.000000
target_left_open_gap_score: 0.000000
target_left_extend_gap_score: 0.000000
target_right_open_gap_score: 0.000000
target_right_extend_gap_score: 0.000000
query_internal_open_gap_score: 0.000000
query_internal_extend_gap_score: 0.000000
query_left_open_gap_score: 0.000000
query_left_extend_gap_score: 0.000000
query_right_open_gap_score: 0.000000
query_right_extend_gap_score: 0.000000
mode: global
可以通过aligner.参数的方式设置比对参数。其中比对算法align.algorith根据参数设置,由程序自动选择,不能手动更改。
2.生成Alignments对象
Alignments对象是一个迭代器对象,其中储存了所有可能的最佳比对结果,可以通过alignments[n]这种方式查看,这些比对结果都具有相同的比对分数alignments.score。
Alignments对象可以被重复遍历
from Bio import Align
seq_1 = "GAACT"
seq_2 = "GAT"
aligner = Align.PairwiseAligner()
#setting parameters
#
alignments = aligner.align(seq_1,seq_2)
print(alignments)
print(alignments.__dict__)
print(len(alignments))
print(alignments[0],alignments[1])
输出结果:
<Bio.Align.PairwiseAlignments object at 0x000001D2AA949DA0>#<对象名 object at 内存地址>
{'seqA': 'GAACT', 'seqB': 'GAT', 'score': 3.0, 'paths': <Path generator object at 0x000001D2AC004D68>, 'index': -1}
2
GAACT
||--|
GA--T
GAACT
|-|-|
G-A-T