Задание 1. Программа подсчёта инделей
Назначение программы
Программа indels.py предназначена для анализа результатов глобального (needle) или локального (water) выравнивания двух последовательностей. Она подсчитывает количество инделей — непрерывных блоков гэпов (-) — в каждой из двух выровненных последовательностей и выводит суммарный результат.
Использование
python indels.py <файл с выравниванием>
Программа не требует дополнительного ввода от пользователя.
Исходный код
import sys
def count_indels(seq):
count = 0
in_gap = False
for c in seq:
if c == '-':
if not in_gap:
count += 1
in_gap = True
else:
in_gap = False
return count
with open(sys.argv[1]) as f:
lines = [line.strip() for line in f if line.strip()]
name1, seq1 = lines[0], lines[1]
name2, seq2 = lines[2], lines[3]
i1 = count_indels(seq1)
i2 = count_indels(seq2)
print(f"{name1} {i1}")
print(f"{name2} {i2}")
print(f"Total {i1 + i2}")
Алгоритм работы
- Чтение файла: Программа открывает файл, переданный в командной строке, и считывает все непустые строки.
- Извлечение данных: Предполагается, что в файле строки расположены в строгом порядке:
- Строка 0 — название первой последовательности
- Строка 1 — выровненная последовательность 1
- Строка 2 — название второй последовательности
- Строка 3 — выровненная последовательность 2
- Подсчёт инделей: Функция
count_indelsпроходит по символам последовательности:- При встрече символа
-(гэп) и если это начало блока гэпов, счётчик увеличивается на 1 - При встрече не-гэпа флаг "внутри гэпа" сбрасывается
- Таким образом, каждый непрерывный блок гэпов считается как один индель
- При встрече символа
- Вывод результатов: Программа печатает три строки:
- Название первой последовательности и число инделей в ней
- Название второй последовательности и число инделей в ней
- Слово
Totalи суммарное число инделей
Задание 2. Глобальное и локальное выравнивание гомологичных белков
Глобальное выравнивание (needle)
| Protein Name | ID 1 | ID 2 | Score | % Identity | % Similarity | Gaps | Indels |
|---|---|---|---|---|---|---|---|
| Chaperone protein DnaK | DNAK_ECOLI | DNAK_BACSU | 1767.0 | 55.4% | 72.9% | 33 | 3 |
| DNA gyrase subunit A | GYRA_ECOLI | GYRA_BACSU | 2227.0 | 50.7% | 68.6% | 72 | 5 |
| DNA-directed RNA polymerase subunit beta | RPOB_ECOLI | RPOB_BACSU | 3034.0 | 42.5% | 55.5% | 433 | 7 |
Локальное выравнивание (water)
| Protein Name | ID 1 | ID 2 | Score | % Identity | % Similarity | Gaps | Indels | Coverage 1 | Coverage 2 |
|---|---|---|---|---|---|---|---|---|---|
| Chaperone protein DnaK | DNAK_ECOLI | DNAK_BACSU | 1767.0 | 55.8% | 73.3% | 30 | 2 | 99.7% | 99.2% |
| DNA gyrase subunit A | GYRA_ECOLI | GYRA_BACSU | 2228.0 | 52.6% | 71.3% | 38 | 2 | 96.1% | 98.9% |
| DNA-directed RNA polymerase subunit beta | RPOB_ECOLI | RPOB_BACSU | 3039.0 | 43.7% | 57.0% | 396 | 6 | 99.5% | 96.5% |
Задание 4. Комментарии к выравниваниям
Введение
В рамках выполнения задания были проведены глобальное (программа needle) и локальное (программа water) выравнивания трёх пар гомологичных белков: DNAK, GYRA и RPOB из Escherichia coli (штамм K12) и Bacillus subtilis (штамм 168).
1. Пара DNAK (шаперон DnaK)
Гомологичны ли белки по всей длине? Да, белки демонстрируют высокую степень гомологии по всей длине. Глобальное выравнивание покрывает 100% обеих последовательностей, локальное — 99.7% и 99.2% соответственно. Идентичность последовательностей составляет около 55%, что характерно для консервативных белков теплового шока.
Информативно ли локальное выравнивание? Локальное выравнивание даёт практически идентичные результаты глобальному. Различия минимальны: идентичность выше на 0.4%, количество гэпов меньше на 3. Оба метода одинаково информативны.
2. Пара GYRA (ДНК-гираза, субъединица A)
Гомологичны ли белки по всей длине? Не полностью. Глобальное выравнивание показывает наличие 72 гэпов (8.1% от длины выравнивания). Локальное выравнивание покрывает только 96.1% белка E. coli, около 4% последовательности не участвует в выравнивании.
Информативно ли локальное выравнивание? Да, локальное выравнивание значительно информативнее. Оно позволяет отбросить плохо выравнивающиеся концевые участки и сфокусироваться на консервативных доменах.
3. Пара RPOB (РНК-полимераза, субъединица beta)
Гомологичны ли белки по всей длине? Частично. Это самый большой и наименее консервативный белок из трёх. Глобальное выравнивание показывает огромное количество гэпов — 433 (29.2% от длины выравнивания).
Информативно ли локальное выравнивание? Крайне информативно. Разница в количестве гэпов составляет 37, что является существенным сокращением.
Общие выводы
Все три пары белков являются гомологичными. Локальное выравнивание наиболее информативно для белков с выраженной доменной структурой (GYRA, RPOB). Глобальное выравнивание предпочтительно для оценки общей гомологии и эволюционных расстояний. Чем больше белок и чем выше его вариабельность, тем больше разница между двумя методами.
Задание 5. Результат применения программ выравнивания к неродственным белкам
Выбор пары: DNAK_ECOLI (шаперон DnaK) и GYRA_BACSU (ДНК-гираза). Эти белки выполняют разные функции и не имеют эволюционного родства.
Результаты глобального выравнивания (needle)
| Score | % Identity | % Similarity | Gaps |
|---|---|---|---|
| 93.5 | 15.5% | 28.5% | 419/939 (44.6%) |
Результаты локального выравнивания (water)
| Score | % Identity | % Similarity | Gaps |
|---|---|---|---|
| 108.0 | 18.6% | 34.9% | 206/565 (36.5%) |
Сравнение с гомологичными парами
| Параметр | Гомологичная пара (DNAK) | Неродственная пара (DNAK vs GYRA) |
|---|---|---|
| Score (needle) | 1767.0 | 93.5 |
| % Identity (needle) | 55.4% | 15.5% |
| Gaps (needle) | 33 (5.1%) | 419 (44.6%) |
Выводы
- Глобальное выравнивание хорошо отличает родственные белки от неродственных: у родственных белков Score ~1700, идентичность ~55%, гэпы ~5%; у неродственных Score ~90, идентичность ~15%, гэпы ~45%.
- Положительный score не означает гомологию: у неродственных белков score тоже положительный, но на порядок ниже.
- Простые критерии: Score > 500, идентичность > 25%, гэпы < 15% — вероятно родственны.
- Локальное выравнивание может обманывать: water показал для неродственных белков результаты лучше, чем needle, так как ищет только лучший кусок.
Задание 6. Множественное выравнивание
(а) Мнемоника и информация о белках
Мнемоника: DNAK
Рекомендованное полное имя белка из ECOLI: Chaperone protein DnaK (Heat shock protein 70)
Количество найденных белков: по запросу id:DNAK* AND reviewed:true найдена 801 запись (включая изоформы и фрагменты). Уникальных белков с разными суффиксами организмов – около 25.
Выбранные 5 белков (помимо DNAK_ECOLI и DNAK_BACSU):
| № | ID | Организм |
|---|---|---|
| 1 | DNAK_MYCTU | Mycobacterium tuberculosis |
| 2 | DNAK_AQUAE | Aquifex aeolicus |
| 3 | DNAK_BORBU | Borrelia burgdorferi |
| 4 | DNAK_HELPY | Helicobacter pylori |
| 5 | DNAK_STAA8 | Staphylococcus aureus |
(б) Как делалось выравнивание
Семь последовательностей в формате FASTA были объединены в один файл. Множественное выравнивание выполнено с помощью программы Muscle из командной строки:
muscle -align dnaK_7.fasta -output alignment_pr9.fa
Полученное выравнивание в формате FASTA загружено в программу Jalview через File → Input Alignment → From File. В Jalview закрыты все лишние окна, применена раскраска колонок по проценту идентичности (Colour → Percentage Identity).
(в) Гиперссылка на файл с проектом Jalview
Ссылка на файл выравнивания alignment_pr9.fa (Google Диск)
(г) Комментарии к выравниванию
Все ли белки хорошо выровнялись? Да, все 7 последовательностей выровнялись хорошо. Белок DnaK (Hsp70) является высококонсервативным, поэтому даже эволюционно далёкие представители имеют чёткую структуру выравнивания.
Все ли они гомологичны? Да, все представленные белки являются гомологичными. Они принадлежат к одному семейству белков теплового шока 70 кДа.
Выраженная структура выравнивания:
- Наиболее консервативные участки (столбцы 180–220 и 350–380) — ATP-связывающий и субстрат-связывающий домены (тёмно-синий цвет, идентичность >80%)
- Умеренно консервативные участки (столбцы 221–349) — голубой и зелёный цвет
- Наименее консервативные участки (столбцы 1–30 — N-конец, и 600–638 — C-конец) — красный и оранжевый цвет
Практикум 9. Выравнивание последовательностей | Мисюрёва Анастасия | 2026