Была написана программа, которая принимает в командной строке имя файла, содержащего результат работы программ needle или water, и печатает результат на stdout
#!/usr/bin/python import sys file = sys.argv[-1] d = dict() l = list() f = open(file, 'r') a = f.readlines() for i in a: if i[0] != '#' and i[0] != ' ' and len(i) > 1: l.append(i[:-1]) for j in l: list = j.split() if not list[0] in d: d[list[0]] = list[2] else: a = d.get(list[0]) + list[2] d[list[0]] = a total_q = 0 for key, value in d.items(): q = 0 for e in range(0, len(value)-1): if value[e] == '-' and value[e+1] != '-': q += 1 if value[-1] == '-': q += 1 print(key, q) total_q +=q print('Total', total_q) f.close()
Программа вызывается командой python indels.py file.needle(.water)
Получение списков ID
Получение мнемоники из ID
Отбор одинаковых мнемоник.
Глобальное парное выравнивание (пример)
Protein Name | ID1 | ID2 | Score | %Identity | %Similarity | Gaps | Indels |
---|---|---|---|---|---|---|---|
D-alanyl-D-alanine carboxypeptidase DacB | DACB_ECOLI | DACB_BACSU | 26.5 | 13.1 | 23.7 | 313 | 25 |
N-acetylmuramic acid 6-phosphate etherase | MURQ_ECOLI | MURQ_BACSU | 736 | 46.4 | 65.1 | 6 | 2 |
Chaperone protein HtpG | HTPG_ECOLI | HTPG_BACSU | 1152 | 38.5 | 60.6 | 34 | 14 |
Подсчет покрытия (coverage) проводился вручную с использованием команды infoseq для получения полной длины белка и с учетом того, что длина последовательности, для которой указан первый и последний элемент, считается как:
Protein Name | ID1 | ID2 | Score | %Identity | %Similarity | Gaps | Indels | Coverage1% | Coverage2% |
---|---|---|---|---|---|---|---|---|---|
D-alanyl-D-alanine carboxypeptidase DacB | DACB_ECOLI | DACB_BACSU | 53 | 23.7 | 35.6 | 55 | 11 | 39.0 | 51.6 |
N-acetylmuramic acid 6-phosphate etherase | MURQ_ECOLI | MURQ_BACSU | 739 | 47.6 | 66.9 | 0 | 0 | 99.3 | 97.4 |
Chaperone protein HtpG | HTPG_ECOLI | HTPG_BACSU | 1154 | 39.0 | 61.3 | 30 | 12 | 98.6 | 99.2 |
В Табл. 2 приведены результаты локального выравнивания с помощью программы water трех гомологичных белков(DACB, MURQ и HTPG), полученных из Escherichia coli (strain K12) и Bacillus subtilis (strain 168).
По сравнению с глобальным выравниванием, вес и процент идентичности локального выравнивания оказался больше для всех трех последовательностей.
Последовательности с мнемоникой DACB я не могу назвать гомологичными, если оценивать результаты глобального. В презентации к уроку говорится о том, что признаком гомологии белков обычно считается процент идентичности более 20-25% на достаточно длинном участке. Если рассматривать глобальное выравнивание, то процент индентичности низкий - 13,1. Само выравнивание характеризуется обилием гэпов, причем встречаются очень длинные индели. Самый длинный консервативный участок содержит лишь три ак (G,A,S). Разница между весом глобального и локального выравнивания весома(26,5). Процент идентичности тоже значительно поднялся, можно уже говорить о том, что белки могут быть гомологичны. Число инделей упало, в самом начале встречаются 4 совдающих ак, два раза по три (самый конец и 260-263/11-13). Участок из глобального выравнивания не попал в локальное, так как у DACB_ECOLI для второго был выбран участок ближе к концу. Локальное выравнивание в данном случае более 'точно' и информативно. Последовательности содержат как родственные (гомологичные), так и неродственные участки. В локальном выравнивании выравниваются наиболее похожие подстроки внутри двух последовательностей. Глобальное же выравнивание обрабатывает всю длину последовательностей, что может привести к более низким значениям идентичности, если во многих участках наблюдаются различия. Также разные параметры для алгоритмов выравнивания (например, штрафы за пропуски и несоответствия) могут привести к различным результатам.
Разница между весом и процентом идентичности глобального и локального выравнивания для MURQ и HTPG несущественна. У первой мнемоники есть довольно большой сходный участок (62-77/66-81), но есть замена неполярного алифатического лизина на полярный незаряженный треонин (68/72). Думаю можно считать это не слишком значимым, ибо ак не имеют + или - заряда. В локальом выравнивании это совпадение учтено. Для второй имеем самый длинный участок (28-38/25-35), который присутствует в обоих выравниваниях.
Algorithm | ID1 | ID2 | Score | %Identity | %Similarity | Gaps | Indels | Coverage1 | Coverage2 |
---|---|---|---|---|---|---|---|---|---|
needle | MURQ_ECOLI | DACB_BACSU | 42.5 | 15.9 | 26.2 | 228 | 23 | - | - |
water | MURQ_ECOLI | DACB_BACSU | 60 | 29 | 41.9 | 28 | 6 | 35.9 | 29.6 |
MURQ_ECOLI: N-acetylmuramic acid 6-phosphate etherase, 298 aa
DACB_BACSU: D-alanyl-D-alanine carboxypeptidase DacB, 382 aa
В Табл. 3 приведены результаты глобального и локального выравнивания негомологичных белков DACB и MURQ, полученных из Escherichia coli (strain K12) и Bacillus subtilis (strain 168). Процент идентичности, рассчитанный с помощью локального выравнивание, укладывается в диапозон 25-30%, что, на удивление, позволяет сделать вывод о наличии гомологичного участка в последовательности белков. Можно выдвинуть две гипотезы, объясняющие это:
Выбранная мнемоника - htpg. По запросу htpg AND (reviewed:true) нашлось 306 записей в Swiss-Prot. Для множественного выравнивания были выбраны следующие белки: HTPG_ECOLI, HTPG_WIGBR, HTPG_ALBFT, HTPG_BORGP, HTPG_CUPPJ,HTPG_AGGAC, HTPG_BACSU.
Файл и команды для построения множественного выравнивания
seqret @htpg.txt htpg.fasta
muscle -in htpg.fasta -out htpg_alignment.fasta
Затем готовое выравнивание было импортировано в Jalview и окрашено в соответствии с процентом идентичности
Проект на Jalview: pr10seq7.jvp
Все семь белков являются гомологичными, поскольку выравнивание имеет большое количество небольших по длине консервативных участков, таких как 24, 29-36, 38-39, 41-43, 45-46, 71, 81, 83, 85-86, 95-96, 98-99, 101-102, 106, 122-123, 125-130, 133, 141, 156, 158, 160, 203, 206-208, 211, 213-214, 254, 272, 286, 287, 291, 296, 300, 307, 314, 322, 325, 332, 349, 355-356, 358-359, 361-363, 365-366, 380, 386, 432-433, 457, 459, 469-470, 474, 477-478, 482, 487, 489, 500, 508, 513, 520-521, 572, 582, 626, 628, 655, 661. На некоторых участках есть вставки 187-191,219-220, 228-241, 392-420. Наиболее длинная вставка расположена не совсем в конце, поэтому вряд ли стоит говорить о неконсервативности С-конца данного белка. Больше информации можно получить, если окрасить выравнивание по физико-химическому сходству аминокислот(Clustal). Так, например, есть довольно много позиций, где аминокислоты хоть и разные, но одинаковые по физико-химическим свойствам.