pairwise2

BioPython の pairwise2 ライブラリーのメソッドを利用すると、2 つの配列をアラインメントすることができる。アラインメントは、グローバルおよびローカルの両方が行える。

グローバルアラインメント

2 つの配列からグローバルアラインメントを求めるとき、globalms メソッドを利用する。例えば、マッチは +2、ミスマッチは -1、ギャップ開始 -0.5、ギャップ身長 -0.1 とした場合は、次のようになる。

from Bio import pairwise2
from Bio.pairwise2 import format_alignment

for a in pairwise2.align.globalms("ACCGT", "ACG", 2, -1, -0.5, -0.1):
    print(format_alignment(*a))
## ACCGT
## |||||
## A-CG-
##   Score=5
## 
## ACCGT
## |||||
## AC-G-
##   Score=5

ローカルアラインメント

2 つの配列からローカルアラインメントを求めるとき、localms メソッドを利用する。例えば、マッチは +2、ミスマッチは -1、ギャップ開始 -0.5、ギャップ身長 -0.1 とした場合は、次のようになる。

from Bio import pairwise2
from Bio.pairwise2 import format_alignment

for a in pairwise2.align.globalms("ACCGTCC", "ACG", 2, -1, -0.5, -0.1):
    print(format_alignment(*a))
## ACCGTCC
## ||||
## A-CG---
##   Score=5.5
## 
## ACCGTCC
## ||||
## AC-G---
##   Score=5.5

アミノ酸置換行列を利用したアラインメント

アミノ酸配列をアラインメントするときに、BLOSUM<62 などのアミノ酸置換行列を利用することもできる。

from Bio import pairwise2
from Bio.pairwise2 import format_alignment
from Bio.SubsMat import MatrixInfo as matlist

matrix = matlist.blosum62
for a in pairwise2.align.globaldx("KEVLA", "EVL", matrix):
    print(format_alignment(*a))
## KEVLA
## |||||
## -EVL-
##   Score=13