На главную страницу второго семестра.
Занятие 6. Построение схемы переходов глобального и локального выравнивания.
Создана Excel-книга "matrix.xls", в которой построены схемы переходов глобального и локального выравниваний для следующих 2-х последовательностей:
- Последовательность первых 4-х остатков ARGB_ECOLI.
- Последовательность из 5 букв, полученная следующим образом: внесено в последовательность первых 4-х остатков моего белка две замены: второй Met замещен Lys'ом, Pro замещен Arg'ом и, наконец, введена вставка - Met между Asn и Lys.
- Глобальное выравнивание.
В книге "matrix.xls" на странице global построено глобальное выравнивание с помощью алгоритма Нидельмана-Вунша. Оптимальный путь глобального выравнивания выделен цветом. Оптимальное глобальное выравнивание выглядит так:
Вес выравнивания (с учетом того, что за совпадение дается 2 очка, за несовпадение -1, и за гэп -2 очка) получился равным 3.
Наблюдения: выполняя задание, убеждаешься в одном: насколько нужно быть гениальным, чтобы придумать настолько лаконичный и с другой стороны простой механизм получения выравнивания!! Из конструктивных замечаний, на мой взгляд, можно отметить следующее:
- Выравнивание всегда начинается с левого верхнего угла карты (таблицы) и оканчивается в правом нижнем;
- В карте выравнивания у определенных аминокислот одной последовательности, которым сопоставляется гэп в другой, число, вносимое этой парочкой, может оказаться отрицательным (так как гэп вычитает из предыдущего максимального числа два очка штрафа);
- Обязательное выравнивание концевых аминокислот, которым либо сопоставляется гэп, либо несовпадающая аминокислота, либо идентичная;
- Возможность выбора нескольких разных способов выравнивания с одинаковым весом. Я думаю, что это хороший фактор, так как не каждое выравнивание с максимальным весом может оказаться биологически осмысленным, поэтому всегда есть некоторая доля вероятности ошибочности выравнивания, если получается один результат, но когда есть несколько выравниваний, то из них можно выбрать более разумное;
- Обязательное условие алгоритма: поиск выравнивания с максимальным весом. На мой взгляд, это не очень хорошое условие, потому что, как показали эксперименты по проверки алгоритма, в редких случаях, но все же для совершенно негомологичных белков результат показывал высокое сходство. Отчего, если вес выравнивания окажется высоким, но с биологической точки зрения выравнивание никудышное (например, сигнальный пептид одной последовательности вдруг окажется выравненным с доменными аминокислотами другой, или , что более вероятно, совершенно разные белки в структурном плане и принадлежащие к разным семействам, вдруг, согласно выравниванию, показывают отличную гомологию), то всегда лучше руководствоваться знаниями, сердцем и тем самым биологическим смыслом;
- Необходимость в алгоритме заполнять все поля карты: иначе динамического программирования не получится.
- Локальное выравнивание.
Лучшее локальное выравнивание построено и выделено красным цветом в книге "matrix.xls" на странице local. Используемый алгоритм: алгоритм Смита-Ватермана. Лучшее локальное выравнивание выглядит так:
Вес выравнивания с теми же параметрами, которые использовались при построении глобального выравнивания, равен 3.
Наблюдения: сейчас я бы хотел освятить некоторые особенности алгоритма локального выравнивания, которые я сумел углядеть, и затем попробовать сравнить глобальное и локальное выравнивания между собой и дать окончательный вердикт: в каком случае лучше использовать глобальное, а в каком - локальное выравнивание.
Особенности алгоритма локального выравнивания:
- В карте выравнивания вообще нет отрицательных чисел, так как если в ходе вычисления такие числа получаются, на их место всегда ставится нуль.
- Выравнивание можно начинать с любой позиции на карте (таблицы), главное, чтобы отсчет веса выравнивания начинался с нуля;
- Алгоритм заканчивается, если вес выравнивания оказывается равным нулю, и тогда нужно искать новый участок локального сходства с весом, отличным от нуля; либо заканчивается количество сравниваемых остатков в обоих последовательностях, и последнее число в карте (таблице) выравнивания является "самым правым" или "самым нижним";
- В более сложном варианте алгоритма (и тем не менее классическом) используется прогрессивная система штрафов: за совпадение полагается положительное очко (часто 1), за несовпадение: отрицательное очко (например -0,33), а штрафы за гэп дифференцированы: различают штраф за открытие гэпа, и отрицательный инкремент, добавляемый к предыдущему числу в случае продолжения гэпа. Таким образом получается, что теперь гэп - одна черточка, в случае единичного гэпа, и множество последовательных черточек, в случае длинного гэпа. В одном варианте я видел, что общая формула для расчета штрафа за гэп выглядела так: -(1 + k/3), где k - длина гэпа.
Сравнение локального и глобального выравниваний показало следующее:
- Локальное выравнивание охватывает более короткие последовательности, в отличие от глобального, которое охватывает всю последовательность;
- Вес локального выравнивания больше или равен весу глобального выравнивания: этот факт закономерен, так как в локальном выравнивании нет лишних гэпов, занижающих вес выравнивания. Поэтому локальное выравнивание позволяет более точно определить, родственны последовательности или нет, найти консервативные участки, которые есть в обоих белках, и др. В случае моих последовательностей локальное выравнивание выявило наиболее похожий участок с наибольшим весом - MN.
Таким образом, я бы использовал эти подходы к анализу биологического текста в следующих случаях:
- Глобальное выравнивание, возможно, стоит применять в том случае, если мы работаем с неаннотированной последовательностью, только что установленной секвенизатором, и мы не знаем, что за функцию несет в себе этот белок (или ген какого-либо белка). Тогда глобальное выравнивание позволяет нам подобрать для этого белка возможных гомологов, а по возможности и ортологов, и затем аппроксимировать их функцию на искомый белок;
- Локальное выравнивание, наверно, можно применять тогда, когда мы знаем последовательности функциональных доменов в разных белках, и ,например, хотим определить, есть ли в новой последовательности нового белка какой-нибудь из этих доменов. Тогда, строя локальные выравнивания последовательностей этих доменов с последовательностью белка, мы сможем (или не сможем - во многом вывод зависит, будет ли с нами удача!!) сказать, какую функциональную нагрузку несет в себе интересующий нас белок.
©Володя Рудько