Скрипт на Python для сравнительного анализа двух выравниваний написан был написан Георгием Малаховым, мной (Тюкаевым Артёмом), Яковом Коробицыным, Матвеем Киселевым. Я участвовал в разработке идеи алгоритма, и в его тестировании.
Скрипт на GitHubПрограмма предназначена для запуска из командной строки и принимает три обязательных аргумента:
[путь до папки с программой]alignment_comparison.py [MA1] [MA2] [OUT] - для командной строки Windows,
python [путь до папки с программой]alignment_comparison.py [MA1] [MA2] [OUT] - для командной строки Linux,
где [MA1] и [MA2] - пути до первого и второго выравниваний в формате FASTA соответственно, [OUT] - путь до файла вывода.
Файл вывода представляет собой tsv файл вида
F1-L1 F2-L2 - (шапка таблицы)
X1-Y1 X2-Y2
K1-M1 K2-M2
..... .....
где X1, K1 > 0 - координаты начал двух соседних блоков в первом выравнивании, X2, K2 > 0 - координаты начал двух соседних блоков во втором выравнивании, Y1, L1 > 0 - координаты концов двух соседних блоков в первом выравнивании, Y2, L2 > 0 - координаты концов двух соседних блоков во втором выравнивании.
При запуске программы из командной строки Windows будьте внимательны: аргументы не должны быть в кавычках, а путь к Python должен быть одной из переменных среды.
Инструкции по поводу опций программы могут быть получены при вызове с опцией -h:
alignment_comparison.py -h - для командной строки Windows,
python alignment_comparison.py -h - для командной строки Linux.
В качестве примера я выбрал субъединицу 6B1 цитохром-с-оксидазы (Cytochrome c oxidase subunit 6B1), так как данный белок имеет небольшой размер для наглядности и достаточно консервативен. Программой BLAST я нашел несколько гомологичных белков. Затем я скачал их последовательности в формате FASTA и выровнял их в программе JalView алгоритмом Muscle и алгоритмом TCoffee.
Затем была запущена программа на этих выравниваниях. Файл вывода:
F1-L1 F2-L2
6-88 6-88
Первая колонка — MUSCLE, вторая — TCoffee.
Действительно, как видно из самих выравниваний (fig. 1), их совпадающий участок расположен на 6-88 аминокислоте.