1. DNA sequences alignment
两个DNA序列如下:
sequence_A = "AGGCTATCACCTGACCTCCAGGCCGATGCCC"
sequence_B = "TAGCTATCACGACCGCGGTCGATTTGCCCGAC"
2. 对齐代码
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams
from collections import namedtuple
rcParams['font.family'] = 'serif'
rcParams['font.size'] = 5
match = 8
mismatch = -5
gap = -3
score_tuple = namedtuple('score_tuple', ('score', 'point_position'))
def init_array(x, y):
array = [[0] * y for _ in range(x)]
array[0][0] = score_tuple(0, None)
for j in range(1, y):
array[0][j] = score_tuple(gap * j, [0, j - 1])
for i in range(1, x):
array[i][0] = score_tuple(gap * i, [i - 1, 0])
return array
def compute(array, seq1, seq2):
row, col = len(