Левин И., 2-й семестр, практикум 10

Алгоритмы выравнивания белковых последовательностей, Jalview

0. Установка Jalview

Jalview успешно установлен! Пришлось повозиться, но дело сделано!

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

Для начала нам надо получить 2 списка, первый из которых содержит все аннотированные записи, чей ID заканчивается на "_ECOLI" (штамма К12 кишечной палочки), а второй - на "_BACSU" (штамма 168 сенной палочки). Я решил пойти по простому пути и воспользовался командами:

$ infoseq 'sw:*_ECOLI' -only -name -out ecoli.txt

$ infoseq 'sw:*_BACSU' -only -name -out bacsu.txt

Вот результаты: ecoli.txt, bacsu.txt.

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

Отобрать из найденных пар функциально совпадающих белков 2-х организмов 3 пары я также решил с помощью скрипта, так как мне было слишком лень выбирать самому. Вот скрипт и результат его работы:

SYGB_ECOLI SYGB_BACSU
RL27_ECOLI RL27_BACSU
RS18_ECOLI RS18_BACSU

Дабы найти рекомендованные названия для всех 3-х белков, я воспользовался командой entret из пакета EMBOSS:

$ entret 'sw:SYGB_ECOLI' -filter | grep 'DE   '
DE   RecName: Full=Glycine--tRNA ligase beta subunit;
DE            EC=6.1.1.14;
DE   AltName: Full=Glycyl-tRNA synthetase beta subunit;
DE            Short=GlyRS;
lewis@kodomo:~/term2/pr5$ entret 'sw:SYGB_BACSU' -filter | grep 'DE   '
DE   RecName: Full=Glycine--tRNA ligase beta subunit;
DE            EC=6.1.1.14;
DE   AltName: Full=Glycyl-tRNA synthetase beta subunit;
DE            Short=GlyRS;

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

Для того, чтобы построить глобальное парное выравнивание 2-х белков, я воспользовался программой needle:

needle 'sw:SYGB_ECOLI' 'sw:SYGB_BACSU' 'sygb.needle' -auto

Аналогичными командами я воспользовался при выравнивании и 2-х других пар белков. Вот результаты: sygb.needle, rl27.needle, rs18.needle.

Характеристики глобального парного выравнивания трёх пар белков
Рекомендованное имя белка ID Длина в парах Вес в битах Идентичность Сходство Гэпы Индели
Glycine--tRNA ligase beta subunit SYGB_ECOLI 695 1074.5 35.5% 55.1% 22 10
SYGB_BACSU
50S ribosomal protein L27 RL27_ECOLI 95 232 53.7% 62.1% 11 3
RL27_BACSU
30S ribosomal protein S18 RS18_ECOLI 80 209 48.8% 63.8% 6 2
RS18_BACSU

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

Для построения парных локальных выравниваний я использовал программу water из пакета программ EMBOSS:

water 'sw:SYGB_ECOLI' 'sw:SYGB_BACSU' 'sygb.water' -auto

Аналогичными командами были найдены и остальные 2 выравнивания. Вот результаты: sygb.water, rl27.water, rs18.water.

Для поиска длин последовательностей белков я использовал команду infoseq:

$ infoseq 'sw:SYGB_BACSU' -only -length -filter
Length
679
Характеристики локального парного выравнивания трёх пар белков
Рекомендованное имя белка ID Длина в парах Вес в битах Идентичность Сходство Гэпы Индели Покрытие выравниванием белка
Glycine--tRNA ligase beta subunit SYGB_ECOLI 692 1077.5 35.7% 55.3% 20 9 99.9%
SYGB_BACSU 99.6%
50S ribosomal protein L27 RL27_ECOLI 81 237 63% 72.8% 1 1 95.3%
RL27_BACSU 85.1%
30S ribosomal protein S18 RS18_ECOLI 65 218 60% 78.5% 0 0 86.7%
RS18_BACSU 82.3%

3. Парные выравнивания неродственных белков

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

Выбирал я белки из тех же кишечной палочки штамма К12 и сенной палочки штамма 168 с помощью файлов ecoli.txt, bacsu.txt и скрипта, выводящего 3 выбранных случайно строки файла (см. выше). В итоге я выбрал пару LPOA_ECOLI и NADA_BACSU.

Построим выравнивания. Результаты: nongom.needle, nongom.water.

Характеристики глобального парного выравнивания белков LPOA_ECOLI и NADA_BACSU
Рекомендованное имя белка ID Длина в парах Вес в битах Идентичность Сходство Гэпы Индели
Penicillin-binding protein activator LpoA LPOA_ECOLI 809 42 8% 15.5% 572 24
Quinolinate synthase A NADA_BACSU
Характеристики локального парного выравнивания белков LPOA_ECOLI и NADA_BACSU
Рекомендованное имя белка ID Длина в парах Вес в битах Идентичность Сходство Гэпы Индели Покрытие выравниванием белка
Penicillin-binding protein activator LpoA LPOA_ECOLI 171 54 19.3% 38.6% 51 9 19.2%
Quinolinate synthase A NADA_BACSU 43.8%

Выравнивания гомологичных белков от выравниваний НЕгомологичных белков отличаются практически всеми характеристиками:

Всё выше перечисленное подтверждается моим экспериментом.

4. Множественное выравнивание белков, Jalview

Для поиска последовательностей (всего их нашлось 349 штук) и выбора из них 5-ти штук для исследования я воспользовался всё теми же командой и скриптом, которые указаны выше. Остановился я на мнемонике функции белка "SYGB". Вот результат поиска:

SYGB_ECOUT
SYGB_MARHV
SYGB_ALIFM
SYGB_STRP7
SYGB_LISMF

К этим белкам ещё добавим SYGB_ECOLI и SYGB_BACSU, которые мы выравнивали в заданиях выше.

Построим множественное выравнивание.

Для этого я создал файл sygb1.txt, который имеет вид:

sw:SYGB_ECOLI
sw:SYGB_BACSU
sw:SYGB_ECOUT
sw:SYGB_MARHV
sw:SYGB_ALIFM
sw:SYGB_STRP7
sw:SYGB_LISMF

С помощью этого файла и команды seqret я создал sygb.fasta, в котором хранятся выбранные мною последовательности в fasta-формате:

$ seqret @sygb1.txt sygb.fasta

Это необходимо для построения выравнивания.

Само выравнивание я построил с помощью muscle:

$ muscle -in sygb.fasta -out sygb_align.fasta

Вот результат выравнивания: sygb_align.fasta.

Позже выравнивание было импортировано в JalView.

Информация о множественном выравнивании 7-ми белков с мнемоникой функции SYGB
Рекомендованное название белка Всего белков нашлось Выбранные ID Проект JalView
Glycine--tRNA ligase beta subunit 349 штук SYGB_ECOLI sygb_7_align.jvp
SYGB_BACSU
SYGB_ECOUT
SYGB_MARHV
SYGB_ALIFM
SYGB_STRP7
SYGB_LISMF

Анализ множественного выравнивания в JalView показал, что вероятность того, что все белки гомологичны, довольно высока. Такой вывод можно сделать, опираясь на то, что большое количество столбцов идентичны или схожи. Конечно, не обошлось и без участков, которые не подтверждают моей теории (например, большая вставка в столбцах 509-522 или индели в столбцах 605-608), но они в абсолютном меньшинстве.

В целом, в выравнивании довольно много высококонсервативных участков (например, столбцы 7-16 и 51-55), которые, на мой взгляд, преобладают над некоторым количеством неконсервативных участков (например, столбцы 28-34 и 118-123).

5. Выравнивание белка BACR_HALSA с его гомологом BACR_HALAR

Пользуясь всеми вышеизложенными командами и программами, я нашёл по мнемонике функции белка его вероятного гомолога и построил локальное выравнивание (именно локальное потому, что я счёл его более объективной оценкой гомологии 2-х белков). По этой ссылке вы сможете найти результат выравнивания программой water.

Характеристики локального парного выравнивания белков
Рекомендованное имя белка ID Организм Семейство Длина в парах Вес в битах Идентичность Сходство Гэпы Индели Покрытие выравниванием белка
Bacteriorhodopsin BACR_HALSA Halobacterium salinarum (strain ATCC 700922) Halobacteriaceae 248 651 53.2% 66.5% 11 3 92%
Cruxrhodopsin-1 BACR_HALAR Haloarcula argentinensis 97.6%

Несмотря на разные рекомендованные названия и организмы, в которых найдены исследуемые белки, вес у выравнивания достаточно велик, также, как и процент идентичности. Ещё мы можем заметить, что при длине выравнивания в 248 пар гэпов всего 11 штук, а инделей так вообще 3. Учитывая все вышеприведённые факторы, можно смело сказать, что исследуемые белки гомологичны. Ура-ура-ура!

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

Обычно мы запускаем эти программы с параметром -auto, что очень удобно, позволяет не вводить многократно одно и то же. Но всё же, какие параметры с нас спросят эти программы, если мы запустим их без опции -auto? Давайте попробуем:

$ water 'sw:BACR_HALSA' 'sw:BACR_HALAR' 'bacr.water'
Smith-Waterman local alignment of sequences
Gap opening penalty [10.0]:
Gap extension penalty [0.5]:

Аналогичные вопросы будет задавать и программа needle:

$ needle 'sw:BACR_HALSA' 'sw:BACR_HALAR' 'bacr.needle'
Needleman-Wunsch global alignment of two sequences
Gap opening penalty [10.0]:
Gap extension penalty [0.5]:

Обе программы просят нас ввести какие-то gap opening penalty и gap extension penalty... Давайте разберёмся, что это. Как мы знаем из курса биоинформатики на ФББ 2-го семестра (лекция 9, лектор: Спирин С. А.):

Так, теперь понятно, что это за параметры такие. Но как их изменение повлияет на выравнивание?

Согласно источнику Megasoftware (дата последнего просмотра: 26.04.2020), если увеличить значение gap opening penalty, то это уменьшит количество, как я понял, инделей в выравнивании. А если увеличить значение gap extension penalty, то это уменьшит длину инделей в выравнивании. Интересно... Давайте проверим!

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

При запуске программы water с параметрами по умолчанию (я взял для проверки белки, которые использовал в задании 5), мы можем заметить 11 гэпов и 3 инделя, а при запуске программы needle - 34 гэпа и 5 инделей.

Увеличим оба штрафа в 2 раза. Water: 6 гэпов и 1 индель, needle: 24 гэпа и 3 инделя.

Уменьшим оба штрафа в 2 раза. Water: 26 гэпов и 12 инделей, needle: 30 гэпов и 13 инделей.

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