2 つのシーケンス間のローカル アラインメントを見つけるコードを書いています。これは、私が取り組んできた最小限の実用的な例です。
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
しかし、次のように、5 つのアラインメントの横にある「CC」を見つけて、「6」のスコアが可能であるはずです。
GTGGTCCTAGGC----
||||||
----GCCTAGGACCAC
Score=6
何が起こっているかについてのアイデアはありますか?