Для подсчёта количества выравниваний двух последовательностей можно использовать следующий алгоритм: 1
- Найти объединённую строку, которая будет содержать 2n элементов, где n — длина верхней и нижней строк. 1
- Узнать n позиций, которые занимают элементы верхней строки. 1 Эти n элементов должны располагаться в надлежащем порядке, а остальные n позиций должны быть заняты n элементами нижней строки также в надлежащем порядке. 1
- Существует (2nn) способов выбрать n позиций для элементов верхней строки, поэтому существует (2nn) возможных объединённых строк и такое же количество возможных выравниваний. 1
Также для расчёта выравнивания двух последовательностей можно использовать алгоритм Нидлмана — Вунша и его модификации. 3 Для этого для последовательностей с длинами m и n используется массив размером порядка m*n. 3
Для более точного и автоматического выравнивания последовательностей можно использовать специальные программы, например, stretcher пакета EMBOSS. 2