我正在编写代码来查找两个序列之间的局部比对。这是我一直在研究的一个最小的工作示例:
from Bio import pairwise2
from Bio.pairwise2 import format_alignment
seq1 = "GTGGTCCTAGGC"
seq2 = "GCCTAGGACCAC"
# scores for the alignment
match =1
mismatch = -2
gapopen = -2
gapext = 0
# see: http://biopython.org/DIST/docs/api/Bio.pairwise2-module.html
# 'localms' takes <seq1,seq2, match,mismatch,open,extend>
for a in pairwise2.align.localms(seq1,seq2,match,mismatch,gapopen,gapext):
print(format_alignment(*a))
以下代码与输出一起运行
GTGGTCCTAGGC----
|||||
----GCCTAGGACCAC
Score=5
但是应该可以得到 '6' 的分数,找到 5 个对齐旁边的 'CC',如下所示:
GTGGTCCTAGGC----
||||||
----GCCTAGGACCAC
Score=6
关于发生了什么的任何想法?