← Назад ко 2 семестру

Практикум 9. Выравнивание последовательностей

Задание 1. Подсчёт инделей

В этом задании нужно было написать программу на Python, которая принимает имя файла с выравниванием (результат работы needle или water) и считает количество инделей в каждой из двух последовательностей, а также их общее число.

Важно, что под инделем понимается не каждый отдельный символ -, а один непрерывный участок пропусков. Например, --- считается как один индель. Именно это определяет логику решения.

Решение состоит из нескольких шагов. Сначала программа получает имя файла из аргументов командной строки с помощью argv. Это сделано в соответствии с условием задания, где сказано, что программа не должна использовать input().

Далее файл открывается и считывается построчно. Поскольку формат вывода EMBOSS содержит служебные строки и разбитые на блоки фрагменты последовательностей, данные нельзя обрабатывать напрямую — сначала их нужно разобрать.

На первом проходе по файлу извлекаются имена последовательностей. Они находятся в строках, которые начинаются с # 1: и # 2:. С помощью метода split() берётся часть строки после двоеточия — это и есть нужное имя.

После этого выполняется второй проход по файлу. На этом этапе собираются сами последовательности. Строки, начинающиеся с #, пропускаются, так как они являются служебными. Остальные строки разбиваются на части, и если формат строки подходит, из неё извлекается фрагмент последовательности.

Поскольку выравнивание записано блоками, последовательность собирается постепенно: все фрагменты с одинаковым именем объединяются в одну строку.

Подсчёт инделей

Для подсчёта инделей используется отдельная функция count_indels. Она проходит по последовательности посимвольно и отслеживает, находимся ли мы внутри участка пропусков.

Если встречается символ - и до этого не было пропуска, значит начинается новый индель, и счётчик увеличивается. Если дефисы идут подряд, они считаются как один индель, потому что программа запоминает, что уже находится внутри разрыва.

Когда встречается обычный символ, это означает конец текущего инделя, и программа «сбрасывает» состояние. Благодаря этому корректно считаются именно непрерывные участки, а не отдельные дефисы.

Код программы

from sys import argv

def count_indels(seq):
    count = 0
    in_gap = False
    for ch in seq:
        if ch == '-':
            if not in_gap:
                count += 1
                in_gap = True
        else:
            in_gap = False
    return count

def main():
    filename = argv[1]
    f = open(filename)
    lines = f.readlines()
    f.close()

    name1 = ""
    name2 = ""

    for line in lines:
        if line.startswith("# 1:"):
            name1 = line.split(": ", 1)[1].strip()
        if line.startswith("# 2:"):
            name2 = line.split(": ", 1)[1].strip()

    seq1 = ""
    seq2 = ""

    for line in lines:
        if line.startswith("#"):
            continue
        parts = line.split()
        if len(parts) < 4:
            continue
        if parts[0] == name1:
            seq1 += parts[2]
        elif parts[0] == name2:
            seq2 += parts[2]

    indels1 = count_indels(seq1)
    indels2 = count_indels(seq2)

    print(name1, indels1)
    print(name2, indels2)
    print("Total", indels1 + indels2)

main()

Финальный этап

После того как обе последовательности собраны, для каждой из них вызывается функция подсчёта инделей. Затем результаты выводятся в нужном формате: сначала имя и число инделей для первой последовательности, потом для второй, и в конце — их сумма.

Задание 2. Глобальное парное выравнивание гомологичных белков

В рамках данного задания было проведено глобальное парное выравнивание трёх пар гомологичных белков из организмов Escherichia coli и Bacillus subtilis с использованием программы needle (алгоритм Нидлмана–Вунша). Выравнивание выполнялось с параметрами по умолчанию.

Для анализа были выбраны следующие белки:

  • 6-phosphogluconate dehydrogenase (6PGD)
  • 6-phosphogluconolactonase (6PGL)
  • Acetyl-CoA carboxylase CT alpha subunit (ACCA)

Таблица 1. Характеристики глобального выравнивания

Protein Name ID 1 ID 2 Score % Identity % Similarity Gaps Indels
6-phosphogluconate dehydrogenase 6PGD_ECOLI 6PGD_BACSU 1718.0 70.0% 83.4% 3 3
6-phosphogluconolactonase 6PGL_ECOLI 6PGL_BACSU 304.5 25.3% 42.0% 62 12
Acetyl-CoA carboxylase CT alpha ACCA_ECOLI ACCA_BACSU 814.5 51.1% 66.0% 14 4

Глобальное выравнивание показало существенные различия в степени сходства между выбранными белками. Для 6PGD наблюдается высокая степень консервативности, тогда как для 6PGL сходство значительно ниже. Белок ACCA занимает промежуточное положение.


Задание 3. Локальное парное выравнивание гомологичных белков

На данном этапе было выполнено локальное выравнивание тех же пар белков с использованием программы water (алгоритм Смита–Ватермана). В отличие от глобального подхода, локальное выравнивание выделяет наиболее консервативные участки последовательностей.

Таблица 2. Характеристики локального выравнивания

Protein Name ID 1 ID 2 Score % Identity % Similarity Gaps Indels Coverage 1 Coverage 2
6-phosphogluconate dehydrogenase 6PGD_ECOLI 6PGD_BACSU 1719.0 70.1% 83.6% 0.6% 3 99.8% 99.8%
6-phosphogluconolactonase 6PGL_ECOLI 6PGL_BACSU 317.0 30.6% 48.7% 6.0% 6 79.8% 71.6%
Acetyl-CoA carboxylase CT alpha ACCA_ECOLI ACCA_BACSU 823.5 53.8% 69.6% 1.0% 2 97.8% 95.1%

Дополнительно были рассчитаны значения покрытия (coverage), отражающие долю последовательности, вовлечённую в выравнивание. Например, для белка 6PGL:

  • Длина выравнивания: 265
  • Длина последовательности E. coli: 331 → (265−1)/331 ≈ 79.8%
  • Длина последовательности B. subtilis: 349 → (265−15)/349 ≈ 71.6%

Локальное выравнивание позволяет более точно выявить консервативные регионы, исключая участки с низким сходством.


Задание 4. Комментарии к выравниваниям

Было проведено сравнительное исследование результатов глобального (needle) и локального (water) выравнивания для трёх пар белков. Анализ включал оценку идентичности, сходства, числа разрывов, indels и покрытия.

1. 6PGD (6PGD_ECOLI vs 6PGD_BACSU)

Для данной пары наблюдается высокая степень сходства по всей длине последовательностей. Идентичность составляет около 70%, сходство превышает 83%. Покрытие практически полное (≈99.8%), а количество разрывов минимально.

Это свидетельствует о том, что белки являются гомологичными по всей длине и выполняют одну и ту же функцию. Локальное выравнивание практически не отличается от глобального, поскольку вся последовательность уже хорошо согласуется.

Вывод: глобальное выравнивание полностью достаточно для анализа высококонсервативных белков.

2. 6PGL (6PGL_ECOLI vs 6PGL_BACSU)

В данном случае наблюдается значительно более низкая степень сходства: идентичность составляет 25–30%, сходство — около 42–49%. Покрытие неполное, а количество gaps и indels существенно выше.

Это указывает на наличие лишь частичной гомологии. Белки содержат отдельные консервативные участки, но не совпадают по всей длине.

Локальное выравнивание оказывается более информативным, поскольку позволяет выделить функционально значимые регионы. В глобальном выравнивании такие участки «размываются» из-за необходимости выравнивать всю последовательность.

Также наблюдается ситуация, когда некоторые совпадающие позиции в локальном выравнивании отсутствуют в глобальном. Это связано с различиями в алгоритмах: глобальный метод стремится оптимизировать выравнивание по всей длине, а локальный — только в пределах наиболее схожих областей.

Вывод: для белков с частичной гомологией локальное выравнивание значительно более информативно.

3. ACCA (ACCA_ECOLI vs ACCA_BACSU)

Для этой пары характерен средний уровень сходства: идентичность составляет около 51–54%, сходство — 66–70%. Покрытие остаётся высоким (>95%), а количество разрывов невелико.

Это позволяет говорить о гомологии по всей длине, но с меньшей степенью консервативности, чем в случае 6PGD.

Локальное выравнивание немного улучшает показатели, исключая слабосходные участки, однако принципиально новой информации не даёт.

Вывод: при умеренной гомологии оба метода дают сопоставимые результаты.


Общий вывод

Проведённый анализ показал, что выбор метода выравнивания зависит от степени сходства последовательностей:

  • Высокая гомология (6PGD) → достаточно глобального выравнивания
  • Частичная гомология (6PGL) → предпочтительно локальное выравнивание
  • Средняя гомология (ACCA) → оба метода дают схожие результаты

Таким образом, локальное и глобальное выравнивания являются взаимодополняющими инструментами, и их выбор должен определяться конкретной биологической задачей.

Задание 5. Применение программ выравнивания к неродственным белкам

1. Постановка задачи

Целью данного задания является исследование поведения алгоритмов глобального и локального выравнивания на примере неродственных белков. Для этого была выбрана пара белков из Escherichia coli:

  • RPOA_ECOLI — субъединица альфа ДНК-зависимой РНК-полимеразы
  • THIO_ECOLI — тиоредоксин 1

Данные белки имеют различные мнемоники функций (RPOA и THIO), что указывает на их принадлежность к разным функциональным классам и позволяет рассматривать их как неродственные последовательности.

Длины последовательностей:

  • RPOA_ECOLI — 329 аминокислот
  • THIO_ECOLI — 109 аминокислот

2. Глобальное выравнивание (needle)

Глобальное выравнивание было выполнено с использованием программы needle, которая реализует алгоритм Нидлмана–Вунша. Данный алгоритм стремится выровнять последовательности по всей длине, даже если между ними наблюдается слабое сходство.

Таблица 1. Характеристики глобального выравнивания

Protein 1 Protein 2 Score % Identity % Similarity Gaps Indels
RPOA_ECOLI THIO_ECOLI 32.0 7.4% 12.0% 74.5% 7

Дополнительные данные

  • Length = 349
  • Identity = 26/349 (7.4%)
  • Similarity = 42/349 (12.0%)
  • Gaps = 260/349 (74.5%)
  • Score = 32.0
  • Indels: RPOA_ECOLI = 2, THIO_ECOLI = 5, Total = 7

Анализ результатов

Полученные значения демонстрируют крайне низкий уровень сходства между последовательностями. Процент идентичности составляет всего 7.4%, что значительно ниже пороговых значений, обычно используемых для выявления гомологии (как правило, выше 25–30%).

Особое внимание следует обратить на долю гэпов — 74.5%. Это означает, что почти три четверти выровненной последовательности составляют пропуски. Такой результат является характерным признаком попытки искусственного выравнивания неродственных белков. Алгоритм вынужден вставлять большое количество разрывов, чтобы «растянуть» короткий белок THIO_ECOLI и сопоставить его с более длинной последовательностью RPOA_ECOLI.

Низкое значение score (32.0) дополнительно подтверждает слабое качество выравнивания. В совокупности эти показатели свидетельствуют о том, что глобальное выравнивание в данном случае не отражает биологически значимого сходства, а является скорее формальным результатом работы алгоритма.

3. Локальное выравнивание (water)

Локальное выравнивание было выполнено с помощью программы water, реализующей алгоритм Смита–Ватермана. В отличие от глобального подхода, данный алгоритм ищет наиболее похожие фрагменты последовательностей, не пытаясь выровнять их целиком.

Таблица 2. Характеристики локального выравнивания

Protein 1 Protein 2 Score % Identity % Similarity Gaps Indels Coverage 1 Coverage 2
RPOA_ECOLI THIO_ECOLI 42.0 21.0% 33.9% 34.7% 5 31.6% 70.6%

Дополнительные данные

  • Length = 124
  • Identity = 26/124 (21.0%)
  • Similarity = 42/124 (33.9%)
  • Gaps = 43/124 (34.7%)
  • Score = 42.0
  • Indels: RPOA_ECOLI = 2, THIO_ECOLI = 3, Total = 5

4. Расчет покрытия

Из результатов локального выравнивания:

  • RPOA_ECOLI: участок 130–233
  • THIO_ECOLI: участок 5–81

Расчет длины покрытых участков:

  • RPOA_ECOLI: 233 − 130 + 1 = 104
  • THIO_ECOLI: 81 − 5 + 1 = 77

Покрытие:

  • Coverage 1 = 104 / 329 × 100% = 31.6%
  • Coverage 2 = 77 / 109 × 100% = 70.6%

5. Интерпретация результатов локального выравнивания

По сравнению с глобальным выравниванием, локальное выравнивание демонстрирует заметно более высокие значения идентичности (21.0%) и сходства (33.9%). Также значительно уменьшается доля гэпов (до 34.7%).

Это объясняется тем, что алгоритм Смита–Ватермана выбирает только наиболее консервативный участок, игнорируя несоответствующие регионы. В результате выравнивание становится более «плотным» и биологически осмысленным.

Тем не менее, даже эти значения остаются недостаточными для уверенного утверждения о гомологии белков. Процент идентичности находится на границе случайного сходства, а длина выровненного фрагмента относительно невелика.

Интересно отметить различие в покрытии: у короткого белка THIO_ECOLI покрывается большая часть последовательности (70.6%), тогда как у длинного RPOA_ECOLI — лишь около трети (31.6%). Это типичная ситуация при сравнении белков существенно разной длины.

6. Сравнительный анализ методов

Сопоставление результатов глобального и локального выравнивания позволяет сделать несколько важных выводов:

  • Глобальное выравнивание неэффективно для неродственных белков, так как создает искусственное соответствие.
  • Высокая доля гэпов является индикатором отсутствия реального сходства.
  • Локальное выравнивание более информативно, так как выделяет наиболее похожий участок.
  • Даже при наличии локального сходства нельзя автоматически делать вывод о родстве белков.

Таким образом, выбор метода выравнивания должен зависеть от задачи исследования: глобальное выравнивание подходит для сравнения родственных белков, тогда как локальное — для поиска консервативных доменов или мотивов.

7. Заключение

В ходе выполнения задания было показано, что для неродственных белков глобальное выравнивание дает слабые и трудно интерпретируемые результаты, сопровождающиеся большим количеством гэпов и низким уровнем сходства.

Локальное выравнивание позволяет выявить ограниченные участки частичного сходства, однако такие совпадения могут быть случайными и не обязательно свидетельствуют о гомологии.

Полученные результаты полностью соответствуют теоретическим ожиданиям и демонстрируют различия в поведении алгоритмов выравнивания при работе с неродственными последовательностями.

6. Множественное выравнивание белков и импорт в Jalview

1. Выбор мнемоники и характеристика белка

Для выполнения данного задания была выбрана мнемоника функции 6PGD. Согласно базе данных UniProt/Swiss-Prot, для белка 6PGD_ECOLI рекомендуемое полное имя — 6-phosphogluconate dehydrogenase, decarboxylating.

Данный белок является ферментом, участвующим в окислительной фазе пентозофосфатного пути — важного метаболического процесса, обеспечивающего клетки восстановительным эквивалентом (NADPH) и предшественниками для синтеза нуклеотидов. Функциональная значимость этого фермента предполагает наличие консервативных участков, связанных с каталитической активностью.

Поиск в базе Swiss-Prot показал, что для данной мнемоники было найдено 53 белка, что указывает на широкую представленность данной функции в различных организмах.

2. Выбор последовательностей

Для проведения множественного выравнивания было выбрано 7 белков, включающих обязательные последовательности из организмов ECOLI и BACSU, а также дополнительные белки с той же мнемоникой функции:

  • 6PGD_ECOLI
  • 6PGD_BACSU
  • 6PGD_STAAC
  • 6PGD_SCHPO
  • 6PGD_RAOTE
  • 6PGD_HAEIN
  • 6PGD_BACLI

Таким образом, были выполнены требования задания: использованы две обязательные последовательности и добавлены пять дополнительных гомологичных белков.

3. Методика проведения множественного выравнивания

Работа была выполнена в несколько последовательных этапов:

  • Сформирован список идентификаторов белков Swiss-Prot;
  • Получен FASTA-файл с аминокислотными последовательностями;
  • Проведено множественное выравнивание с помощью программы muscle;
  • Результат сохранён в формате FASTA;
  • Файл импортирован в программу Jalview для визуального анализа.

В Jalview была применена раскраска по percent identity, что позволило визуально выделить консервативные и вариабельные области.

Гиперссылка на файл проекта Jalview:

Скачать файл

4. Анализ качества выравнивания

Полученное множественное выравнивание демонстрирует высокую степень согласованности между последовательностями. Все 7 белков выровнялись почти по всей длине, что свидетельствует о корректной работе алгоритма и наличии значительного сходства между ними.

Структура выравнивания выглядит плотной и непрерывной. Длинные несогласованные участки отсутствуют, а гэпы встречаются редко и имеют локальный характер. Это говорит о том, что различия между последовательностями носят точечный характер.

Гомология белков

Можно сделать вывод, что все выбранные белки являются гомологичными. Этот вывод подтверждается следующими наблюдениями:

  • Все белки имеют одинаковую мнемонику функции;
  • Наблюдается высокая доля идентичных и сходных аминокислот;
  • Центральные участки выравнивания особенно хорошо совпадают;
  • Отсутствуют крупные структурные различия.

С биологической точки зрения это логично, так как данные белки выполняют одну и ту же функцию в различных организмах.

Структура выравнивания

Анализ выравнивания позволяет выделить несколько характерных областей:

  • Начальный участок (1–35 позиции): низкая консервативность, больше вариаций между последовательностями.
  • Участок 40–120: появляется выраженная консервативность, наблюдаются совпадающие аминокислоты.
  • Центральный регион (120–240): наиболее консервативная часть, максимальное число идентичных позиций.
  • Участок 240–300: умеренная консервативность, появляются замены.
  • Концевая часть (>300): увеличение вариабельности, встречаются гэпы.

Таким образом, выравнивание имеет выраженную неоднородную структуру.

5. Биологическая интерпретация

Высокая консервативность центральных областей, вероятно, связана с тем, что именно эти участки участвуют в каталитической активности фермента или формируют его активный центр.

Слабоконсервативные участки, напротив, могут соответствовать поверхностным или гибким регионам белка, которые менее критичны для функции и допускают эволюционные изменения.

Поскольку 6PGD является ферментом пентозофосфатного пути, можно ожидать сохранения ключевых структурных элементов, что и подтверждается результатами выравнивания.

Наличие как консервативных, так и вариабельных областей отражает баланс между функциональной необходимостью и эволюционной изменчивостью.

6. Итоговый вывод

Проведённое множественное выравнивание можно оценить как биологически корректное и информативное.

  • Все белки хорошо выровнялись;
  • Последовательности демонстрируют гомологию;
  • Чётко выделяются консервативные и вариабельные области;
  • Результаты согласуются с биологической функцией белков.

Таким образом, полученное выравнивание подтверждает, что выбранные белки принадлежат к одной функциональной группе и имеют общую эволюционную основу.

7. Параметры программ needle и water

Цель работы

Целью данной работы было выяснить, какие параметры запрашивают программы needle и water при запуске без опции -auto, понять биологический и алгоритмический смысл этих параметров, а также проверить на конкретных примерах, как изменение настроек влияет на итоговое выравнивание последовательностей.

Особенно важным условием задания было показать, что изменение параметров может приводить не просто к изменению численного значения score, а именно к перестройке самого выравнивания, то есть к изменению того, какие аминокислотные остатки сопоставляются друг другу, где появляются гэпы и какие участки последовательностей считаются оптимально выровненными.

Исходные данные и выбор белковых пар

Для выполнения задания были использованы две пары белков, различающиеся по степени родства и поэтому позволяющие проследить влияние параметров в разных ситуациях.

1. Гомологичная пара для исследования программы needle

В качестве гомологичной пары была выбрана пара 6PGL_ECOLI — 6PGL_BACSU. Эта пара использовалась ранее в заданиях 2–3 и оказалась удобной для анализа, поскольку для неё были получены не максимально высокие показатели сходства и покрытия:

  • % identity = 30.6%
  • % similarity = 48.7%
  • coverage 1 = 79.8%
  • coverage 2 = 71.6%
  • indels = 6

Такие характеристики показывают, что белки, с одной стороны, действительно являются гомологичными, но, с другой стороны, их выравнивание не является полностью тривиальным и однозначным. Это делает пару особенно подходящей для изучения влияния штрафов за гэпы и параметров, связанных с концевыми разрывами. Если бы белки были практически идентичны по всей длине, изменение параметров могло бы не привести к заметной перестройке выравнивания. В данном случае предполагалось, что эффект будет выражен заметнее.

2. Неродственная пара для исследования программы water

В качестве неродственной пары была выбрана пара RPOA_ECOLI — THIO_ECOLI:

  • RPOA_ECOLI — DNA-directed RNA polymerase subunit alpha
  • THIO_ECOLI — Thioredoxin 1

Данные белки различаются по функции, а также по общей организации последовательностей, поэтому они хорошо подходят для исследования поведения программы water, выполняющей локальное выравнивание. Для неродственных белков особенно важно то, что алгоритм ищет не сходство по всей длине, а лишь лучший локальный участок. Поэтому в такой задаче изменение параметров способно заметно повлиять на то, какой именно участок последовательностей будет выбран как оптимальный.

Какие параметры запрашивают программы needle и water без -auto

При запуске программ needle и water без опции -auto они переходят в интерактивный режим и последовательно запрашивают у пользователя те параметры, которые необходимы для построения выравнивания, если они заранее не были указаны в командной строке.

В ходе выполнения работы было установлено, что в базовом случае обе программы запрашивают следующие параметры:

  • Gap opening penalty — штраф за открытие гэпа;
  • Gap extension penalty — штраф за продление уже открытого гэпа;
  • Output alignment — имя файла, в который будет записан результат выравнивания.

Таким образом, уже при обычном интерактивном запуске становится видно, какие характеристики алгоритм считает принципиально важными для своей работы: стоимость появления разрывов и способ сохранения результата.

Смысл исследуемых параметров

1. Параметр gapopen

Параметр gapopen задаёт штраф за открытие нового гэпа, то есть за появление нового разрыва в одной из выравниваемых последовательностей. Биологически это можно интерпретировать как цену события вставки или делеции. С алгоритмической точки зрения этот параметр определяет, насколько охотно программа будет начинать новый гэп.

Если значение gapopen небольшое, алгоритм легче вводит новые гэпы. В этом случае выравнивание становится более гибким: программа чаще допускает вставки и удаления ради того, чтобы лучше сопоставить совпадающие или сходные аминокислоты в соседних участках. Если же значение gapopen велико, открытие каждого нового гэпа становится дорогим, и алгоритм начинает предпочитать несовпадения или менее выгодные сопоставления вместо создания дополнительных разрывов.

2. Параметр gapextend

Параметр gapextend задаёт штраф за продление уже открытого гэпа на один символ. Иными словами, после того как программа решила открыть гэп, она должна “платить” дополнительную цену за каждый следующий символ этого разрыва.

Небольшое значение gapextend делает длинные гэпы относительно выгодными: если разрыв уже открыт, его можно продолжать без очень больших дополнительных потерь. Напротив, высокое значение gapextend препятствует образованию длинных гэпов и делает алгоритм менее склонным к протяжённым вставкам и делециям.

Следовательно, параметры gapopen и gapextend работают совместно. Первый отвечает за вероятность появления новых гэпов, а второй — за их длину. Именно поэтому изменение этих параметров может менять не только общий балл выравнивания, но и его внутреннюю структуру.

3. Параметр outfile

Параметр outfile задаёт имя выходного файла, в который записывается результат выравнивания. Хотя он не влияет на сам алгоритм сопоставления последовательностей, этот параметр обязателен с практической точки зрения, поскольку без него невозможно сохранить результат и затем сравнить разные варианты выравнивания между собой.

4. Дополнительные параметры, исследованные в работе

Помимо параметров, непосредственно запрашиваемых в интерактивном режиме, в работе были исследованы и дополнительные настройки:

  • для программы needle: -endweight, -endopen, -endextend;
  • для программы water: -datafile, то есть выбор матрицы замен.

Эти параметры не случайны. Для глобального выравнивания принципиально важно, штрафуются ли концевые гэпы, а для локального выравнивания большое значение имеет система оценок замен аминокислот, поскольку именно она определяет, какие пары остатков алгоритм считает выгодными для сопоставления.

Краткое различие между программами needle и water

Программа needle реализует алгоритм глобального выравнивания. Это означает, что она стремится сопоставить последовательности по всей длине, от начала до конца, даже если отдельные участки совпадают слабо. Поэтому для needle особенно существенны штрафы за гэпы, включая концевые разрывы, поскольку такие штрафы напрямую влияют на то, как будут выровнены начало и конец последовательностей.

Программа water, напротив, выполняет локальное выравнивание. Она ищет не лучшее сопоставление по всей длине, а лучший локальный участок сходства. Поэтому для water изменение параметров может приводить к тому, что оптимальным окажется вообще другой фрагмент последовательностей. Это особенно важно при работе с неродственными или слабо сходными белками, где существует несколько возможных коротких участков умеренного сходства, и итоговый выбор сильно зависит от настроек алгоритма.

Ход работы и результаты

Эксперимент 1. Влияние gapopen и gapextend на результат needle для пары 6PGL_ECOLI / 6PGL_BACSU

В первом эксперименте исследовалось, как изменение штрафов за открытие и продление гэпов влияет на глобальное выравнивание гомологичной пары белков. Для этого были выполнены три запуска программы needle с разными значениями параметров:

needle sw:6pgl_ecoli sw:6pgl_bacsu 6pgl_needle_lowgap.fasta  -auto -aformat fasta -gapopen 3  -gapextend 0.1
needle sw:6pgl_ecoli sw:6pgl_bacsu 6pgl_needle_base.fasta    -auto -aformat fasta -gapopen 10 -gapextend 0.5
needle sw:6pgl_ecoli sw:6pgl_bacsu 6pgl_needle_highgap.fasta -auto -aformat fasta -gapopen 20 -gapextend 2.0

После получения результатов из файлов были удалены FASTA-заголовки, чтобы сравнивать только сами выровненные последовательности:

grep -v '^>' 6pgl_needle_base.fasta > a.txt
grep -v '^>' 6pgl_needle_lowgap.fasta > b.txt
grep -v '^>' 6pgl_needle_highgap.fasta > c.txt

diff -u a.txt b.txt
diff -u a.txt c.txt
Наблюдения

Сравнение показало, что изменение параметров gapopen и gapextend приводит к изменению самого выравнивания, а не только его итоговой численной оценки. Это означает, что при разных штрафах программа выбирает разные способы сопоставления аминокислотных позиций.

По результатам сравнения можно сделать несколько содержательных наблюдений. Во-первых, изменяется количество и расположение гэпов. Во-вторых, в некоторых участках один вариант выравнивания содержит более длинные разрывы, тогда как другой — несколько более коротких. В-третьих, происходят смещения в сопоставлении отдельных позиций, то есть аминокислоты, которые в одном варианте считались соответствующими друг другу, в другом варианте уже оказываются выровненными иначе.

Наиболее заметны такие различия в участках, где исходное сходство между белками не очень велико. Это закономерно: чем менее однозначен фрагмент, тем сильнее выбор оптимального решения зависит от параметров оценки. В хорошо консервативных участках выравнивание обычно остаётся стабильным, а в слабо сходных сегментах может заметно перестраиваться.

При низких штрафах (gapopen = 3, gapextend = 0.1) выравнивание становится более гибким. Программа легче вставляет гэпы и может активнее “подстраивать” одну последовательность под другую, чтобы добиться лучшего сопоставления локально похожих участков. Такой режим делает алгоритм более чувствительным к слабому локальному сходству, но одновременно может приводить к менее строгой и более “разреженной” структуре выравнивания.

При высоких штрафах (gapopen = 20, gapextend = 2.0) выравнивание становится более жёстким. Алгоритм старается избегать гэпов и поэтому чаще сохраняет несовпадения вместо того, чтобы открывать новые разрывы. В результате некоторые локально похожие участки оказываются сопоставлены менее точно, зато общая схема выравнивания становится более консервативной.

Вывод по эксперименту 1

Для пары 6PGL_ECOLI / 6PGL_BACSU параметры gapopen и gapextend существенно влияют на структуру глобального выравнивания. Следовательно, выбор штрафов за гэпы является не формальной технической деталью, а важной частью настройки алгоритма, определяющей, какие аминокислотные позиции будут считаться соответствующими друг другу.

Эксперимент 2. Влияние штрафов за концевые гэпы в needle

Во втором эксперименте для той же пары белков исследовалось влияние учёта концевых гэпов. Были выполнены два запуска программы needle:

needle sw:6pgl_ecoli sw:6pgl_bacsu 6pgl_needle_noend.fasta -auto -aformat fasta -gapopen 10 -gapextend 0.5
needle sw:6pgl_ecoli sw:6pgl_bacsu 6pgl_needle_end.fasta   -auto -aformat fasta -gapopen 10 -gapextend 0.5 -endweight Y -endopen 10 -endextend 0.5

Сравнение результатов проводилось следующим образом:

diff -u 6pgl_needle_noend.fasta 6pgl_needle_end.fasta
Наблюдения

Сравнение показало, что включение учёта концевых гэпов действительно влияет на структуру выравнивания. Изменения были заметны прежде всего в концевых областях последовательностей, а также в соседних с ними участках. Это означает, что алгоритм по-разному распределяет разрывы и несовпадения в зависимости от того, включаются ли концевые гэпы в итоговый штраф.

Такой результат является вполне ожидаемым с теоретической точки зрения. В глобальном выравнивании начало и конец последовательностей входят в общую задачу оптимизации. Если концевые гэпы не штрафуются, программа может относительно свободно “оставить” часть последовательности вне плотного сопоставления, не теряя за это баллы. Если же концевые гэпы начинают штрафоваться, алгоритм вынужден искать другое компромиссное решение, поскольку теперь такие свободные концы становятся менее выгодными.

Именно поэтому изменение параметров -endweight, -endopen и -endextend способно влиять не только на крайние позиции, но и на внутреннюю структуру выравнивания. В некоторых случаях перестройка в конце последовательности приводит к смещению сопоставления и в соседних участках, поскольку глобальное выравнивание оптимизируется как единая система.

Для выбранной пары этот эффект оказался хорошо заметным, что согласуется с ранее полученными значениями покрытия. Поскольку покрытие обеих последовательностей не является полным, концевые области не были полностью однозначны, и поэтому решение алгоритма оказалось чувствительным к тому, штрафуются ли такие участки.

Вывод по эксперименту 2

Параметры -endweight, -endopen и -endextend оказывают заметное влияние на результат работы программы needle. Для глобального выравнивания это принципиально важно, поскольку учёт или неучёт концевых гэпов способен менять не только общий балл, но и само сопоставление аминокислотных позиций.

Эксперимент 3. Влияние gapopen и gapextend на результат water для пары RPOA_ECOLI / THIO_ECOLI

В третьем эксперименте исследовалось влияние штрафов за гэпы на локальное выравнивание неродственных белков. Были выполнены следующие команды:

water sw:rpoa_ecoli sw:thio_ecoli rpoa_thio_water_base.fasta    -auto -aformat fasta -gapopen 10 -gapextend 0.5
water sw:rpoa_ecoli sw:thio_ecoli rpoa_thio_water_lowgap.fasta  -auto -aformat fasta -gapopen 2  -gapextend 0.1
water sw:rpoa_ecoli sw:thio_ecoli rpoa_thio_water_highgap.fasta -auto -aformat fasta -gapopen 20 -gapextend 2.0

Для сравнения был использован следующий вызов:

diff -u rpoa_thio_water_base.fasta rpoa_thio_water_lowgap.fasta
Наблюдения

Сравнение показало, что между базовым вариантом и вариантом с низкими штрафами за гэпы имеются выраженные различия. При уменьшении значений gapopen и gapextend изменяется не только общий характер выравнивания, но и сам локальный участок, который программа считает наилучшим.

По результатам сравнения можно сделать вывод, что меняется длина локально выровненного сегмента, расположение гэпов и набор аминокислотных фрагментов, включённых в выравнивание. Иначе говоря, алгоритм находит другое решение задачи. Это особенно важно для локального выравнивания, поскольку его цель состоит в поиске одного наилучшего сходного участка, а не в сопоставлении последовательностей по всей длине.

В базовом варианте локальное выравнивание соответствует одному набору фрагментов, тогда как при более низких штрафах программа может позволить себе более свободно вводить гэпы и тем самым соединять сходные позиции в более протяжённый, но менее жёсткий по структуре участок. Для неродственных белков такая ситуация особенно показательна, поскольку здесь нет длинного устойчивого гомологичного фрагмента, который оставался бы неизменным при любых настройках.

Иными словами, если для близких белков изменение параметров может лишь слегка уточнять уже существующее выравнивание, то для неродственных белков оно способно буквально менять ответ на вопрос о том, какой участок вообще следует считать наиболее сходным.

Вывод по эксперименту 3

Для пары RPOA_ECOLI / THIO_ECOLI изменение параметров gapopen и gapextend приводит к изменению самого локального выравнивания. Следовательно, для программы water штрафы за гэпы влияют не только на численную оценку, но и на выбор конкретного фрагмента последовательностей, который будет признан оптимальным.

Эксперимент 4. Влияние матрицы замен на результат water

В четвёртом эксперименте для той же пары неродственных белков исследовалось влияние матрицы замен. Были выполнены локальные выравнивания с разными матрицами:

water sw:rpoa_ecoli sw:thio_ecoli rpoa_thio_b62.fasta -auto -aformat fasta -datafile EBLOSUM62 -gapopen 10 -gapextend 0.5
water sw:rpoa_ecoli sw:thio_ecoli rpoa_thio_b45.fasta -auto -aformat fasta -datafile EBLOSUM45 -gapopen 10 -gapextend 0.5
water sw:rpoa_ecoli sw:thio_ecoli rpoa_thio_b80.fasta -auto -aformat fasta -datafile EBLOSUM80 -gapopen 10 -gapextend 0.5

Сравнение проводилось так:

diff -u rpoa_thio_b62.fasta rpoa_thio_b45.fasta
diff -u rpoa_thio_b62.fasta rpoa_thio_b80.fasta
Наблюдения

Сравнение показало, что замена матрицы EBLOSUM62 на EBLOSUM45 и EBLOSUM80 приводит к изменению локального выравнивания. Различия касаются длины выровненного фрагмента, положения гэпов и состава тех аминокислотных позиций, которые алгоритм считает выгодным сопоставить.

Причина такого эффекта заключается в том, что матрица замен задаёт систему оценок совпадений и замен аминокислот. Разные матрицы по-разному “оценивают” одни и те же пары остатков. Следовательно, при изменении матрицы меняется и функция качества выравнивания, а значит, изменяется и расположение оптимума.

Для неродственной пары этот эффект проявляется особенно наглядно. Поскольку локальное сходство между такими белками само по себе слабое и неоднозначное, даже небольшое изменение системы оценок может сместить оптимальное решение и привести к выбору другого участка. Именно поэтому выбор матрицы замен нельзя считать второстепенной технической настройкой: он непосредственно определяет биологическую интерпретацию результата.

Вывод по эксперименту 4

Матрица замен является одним из ключевых параметров локального выравнивания. Для пары RPOA_ECOLI / THIO_ECOLI изменение матрицы приводит к изменению самого выровненного участка, а не только итогового score. Это подтверждает, что при анализе слабого или сомнительного сходства выбор матрицы имеет принципиальное значение.

Обсуждение результатов

Проведённые эксперименты показали, что параметры программ needle и water действительно влияют на результат выравнивания, причём это влияние не сводится к формальному изменению численного балла. Во всех исследованных случаях было показано, что изменение параметров может менять саму структуру выравнивания.

Что показали эксперименты с needle

На гомологичной паре 6PGL_ECOLI / 6PGL_BACSU было установлено, что:

  • изменение штрафов за открытие и продление гэпа меняет структуру глобального выравнивания;
  • учёт концевых гэпов также способен заметно повлиять на итоговое сопоставление позиций;
  • наиболее чувствительными к изменениям параметров оказываются участки с неполным покрытием и умеренным сходством.

Это особенно важно для практической биоинформатики, потому что глобальное выравнивание нередко воспринимается как нечто однозначное. На самом деле даже для гомологичных белков итоговый результат зависит от выбранной модели штрафов, особенно если белки совпадают не по всей длине и содержат вставки, делеции или слабо консервативные области.

Что показали эксперименты с water

На неродственной паре RPOA_ECOLI / THIO_ECOLI было установлено, что:

  • изменение gapopen и gapextend меняет найденный локальный участок;
  • изменение матрицы замен также приводит к перестройке локального выравнивания;
  • для неродственных белков локальное выравнивание особенно чувствительно к настройкам, поскольку устойчивого длинного гомологичного участка у них нет.

Таким образом, для локального выравнивания параметры оказываются в некотором смысле даже более критичными, чем для глобального. Они влияют не только на степень “красоты” выравнивания, но и на сам выбор того фрагмента, который будет интерпретирован как наиболее сходный.

Методический комментарий к способу сравнения результатов

Для сравнения результатов использовалась выдача в формате FASTA (-aformat fasta), после чего выравнивания сравнивались напрямую с помощью программы diff. Такой способ оказался удобным и методически оправданным, поскольку позволял оценивать не только численные характеристики, но и структуру самих выравниваний.

Это особенно важно в контексте данного задания. Если бы анализ ограничивался только сравнением score, нельзя было бы с уверенностью утверждать, что параметры действительно меняют биологически значимый результат. Использование diff позволило показать, что в разных вариантах изменяется расположение гэпов, длина выровненных участков и сопоставление конкретных аминокислотных позиций. Следовательно, главное условие задания было выполнено: различие результатов подтверждалось различием самих выравниваний.