Автор старался, но не может гарантировать отсутствие биологических ошибок.
Скрипты, использовавшиеся для выполнения задания. Результаты их выдачи можно увидеть в соответствующем разделе. Далее в тексте отсылка на программы будет по номерам (и названиям).
Для выполнения задания, во-первых, были скачены из Uniprot два списка идентификаторов (ID) записей: всех аннотированных записей, чей идентификатор кончается на '_ECOLI' и всех аннотированных записей, чей идентификатор кончается на '_BACSU'. На kodomo были выполнены следующие команды:
infoseq 'sw:*_ECOLI' -only -name -nohead -out ecoli.txt infoseq 'sw:*_BACSU' -only -name -nohead -out bacsu.txt
(полученные файлы находятся в домашней папке: /home/students/y22/aliserana/term2/pr9/ecoli.txt и /home/students/y22/aliserana/term2/pr9/bacsu.txt). Во-вторых, при помощи программы 1 (simid.py) был получен список пар белков с одинаковой мнемоникой функции и затем ее модфицированной версией, программой 2 (simidmod.py), были выбраны три пары белков. В-третьих, для получения рекомендованного полного имени при помощи конвейеров были проведены соответствующие поиски в полной записи Swiss-Prot. Пример использованного конвейера:
entret sw:ex7s_bacsu -filter | grep '^DE' | grep 'RecName' | less
Для всех пар белков рекомендованные полные имена совпали. В-четвертых, было наконец проведено глобальное парное выравнивание при помощи программ EMBOSS на kodomo:
needle sw:rada_ecoli sw:rada_bacsu rada.needle -auto needle sw:flgk_ecoli sw:flgk_bacsu flgk.needle -auto needle sw:ex7s_ecoli sw:ex7s_bacsu ex7s.needle -auto
Соответсвтующие файлы в формате needle хранятся в директории /home/students/y22/aliserana/term2/pr9. По данным в ним были заполнены почти все оставшиеся столбцы таблицы 1 (вес выравнивания, проценты совпадающих и сходных букв, число гэпов). Для подсчета числа инделей результаты выравниваний были получены в более удобном для программного анализа fasta формате (добавление опции -aformat fasta к вышепредставленным командам, файлы хранятся в той же директории). Подсчет был осуществлен с помощью программы 3 (indel.py), скрипт и результаты выдачи прикладываются.
Protein Name | ID 1 | ID 2 | Score | % Identity | % Similarity | Gaps | Indels |
---|---|---|---|---|---|---|---|
DNA repair protein RadA | RADA_ECOLI | RADA_BACSU | 1067.5 | 46.8% | 66.0% | 18 | 10 |
Flagellar hook-associated protein 1 | FLGK_ECOLI | FLGK_BACSU | 426.5 | 24.3% | 41.9% | 150 | 21 |
Exodeoxyribonuclease 7 small subunit | EX7S_ECOLI | EX7S_BACSU | 157.5 | 39.1% | 59.8% | 10 | 4 |
По результатам можно говорить о гомологии первой пары белков. Вторая пара белков по результатам выравнивания вызывает некоторые сомнения, вероятно они очень давно разошлись от общего предка или/и в них сохранились многие мутации. Третья пара белков по длинам аминокислотных остатков оказались в несколько раз короче двух предшествующих, но в целом результаты выравнивания позволяют говорить об их гомологии.
Файл, содержащий пары белков (из списков идентификаторов всех аннотированных записей, чей идентификатор кончается на _ECOLI и _BACSU), идентификаторы Swiss-Prot которых имеют одинаковую мнемонику функции.
aliserana@kodomo:~/term2/pr9$ ./simidmod.py Эта программа выбирает три пары белков с совпадающими мнемониками функции. //мнемоники, начинающиеся на 'Y' целенаправленно отбрасываются На вход принимаются два списка идентификаторов (ID) записей. Введите название первого файла с ID записей: ecoli.txt Введите название второго файла с ID записей: bacsu.txt RADA_ECOLI RADA_BACSU FLGK_ECOLI FLGK_BACSU EX7S_ECOLI EX7S_BACSU
aliserana@kodomo:~/term2/pr9$ ./indel.py Эта программа подсчитывает число инделей в выравнивании. На вход принимается fasta файл с результатом выравнивания. Введите название этого файла: radaneedle.fasta Число инделей: 10
aliserana@kodomo:~/term2/pr9$ ./indel.py Эта программа подсчитывает число инделей в выравнивании. На вход принимается fasta файл с результатом выравнивания. Введите название этого файла: flgkneedle.fasta Число инделей: 21
aliserana@kodomo:~/term2/pr9$ ./indel.py Эта программа подсчитывает число инделей в выравнивании. На вход принимается fasta файл с результатом выравнивания. Введите название этого файла: ex7sneedle.fasta Число инделей: 4
Для выполнения парного выравнивания гомологичных белков были взяты те же пары белков. Локальное парное выравнивание выполнено при помощи программ EMBOSS:
water sw:rada_ecoli sw:rada_bacsu rada.water -auto water sw:flgk_ecoli sw:flgk_bacsu flgk.water -auto water sw:ex7s_ecoli sw:ex7s_bacsu ex7s.water -auto
Соответсвтующие файлы в формате water также хранятся в директории /home/students/y22/aliserana/term2/pr9. По данным в ним была заполнена часть столбцов таблицы 2 (вес выравнивания, проценты совпадающих и сходных букв, число гэпов). Для подсчета числа инделей использовалась та же программа 3 из прошлого задания. Проценты перекрытия первого и второго белка выравниванием вычислялись вручную - частное длины участка, попавшего в выравнивание (координата_конца-координата_начала+1) и полной длины последовательности (в соответствующих файлах глобального выравнивания).
Protein Name | ID 1 | ID 2 | Score | % Identity | % Similarity | Gaps | Indels | Coverage 1 | Coverage 2 |
---|---|---|---|---|---|---|---|---|---|
DNA repair protein RadA | RADA_ECOLI | RADA_BACSU | 1075.0 | 47.4% | 67.0% | 14 | 8 | 98.7% | 98.7% |
Flagellar hook-associated protein 1 | FLGK_ECOLI | FLGK_BACSU | 433.5 | 24.5% | 42.3% | 142 | 19 | 98.9% | 97.2% |
Exodeoxyribonuclease 7 small subunit | EX7S_ECOLI | EX7S_BACSU | 162.5 | 43.6% | 66.7% | 3 | 2 | 97.5% | 89.3% |
Результаты парного и глобального выравнивания по весу выравнивания, а особенно по процентам совпадающих и сходных букв отличаются незначительно. В случае локального выравнивания все три показателя слегка увеличились. Число гэпов и инделей уменьшилось у всех пар белков, причем число инделей ровно на 2 единицы у каждой из пар. Проценты перекрытия, на мой взгляд, достаточно большие. Меньший размер третьего перекрытия вероятно связан с более короткими последовательностями аминокислотных остатков у самих белков пары.
aliserana@kodomo:~/term2/pr9$ ./indel.py Эта программа подсчитывает число инделей в выравнивании. На вход принимается fasta файл с результатом выравнивания. Введите название этого файла: radawater.fasta Число инделей: 8
aliserana@kodomo:~/term2/pr9$ ./indel.py Эта программа подсчитывает число инделей в выравнивании. На вход принимается fasta файл с результатом выравнивания. Введите название этого файла: flgkwater.fasta Число инделей: 19
aliserana@kodomo:~/term2/pr9$ ./indel.py Эта программа подсчитывает число инделей в выравнивании. На вход принимается fasta файл с результатом выравнивания. Введите название этого файла: ex7swater.fasta Число инделей: 2
Случайная пара белков была выбрана при помощи программы 2 задания 1. Проведены локальное и глобальное выравнивания:
needle sw:rsga_ecoli sw:gudd_bacsu wrong.needle -auto water sw:rsga_ecoli sw:gudd_bacsu wrong.water -auto
Файлы с результатами выравнивания доступны в /home/students/y22/aliserana/term2/pr9. По результатам были заполнены ячейки таблицы 3. Подсчет числа инделей осуществлялся той же программой 3, предварительно получены файлы в fasta формате. Проценты перекрытия также посчитаны вручную.
Allignment | ID 1 | ID 2 | Score | % Identity | % Similarity | Gaps | Indels | Coverage 1 | Coverage 2 |
---|---|---|---|---|---|---|---|---|---|
Global | RSGA_ECOLI | GUDD_BACSU | 33.0 | 13.7% | 21.9% | 289 | 25 | ||
Local | RSGA_ECOLI | GUDD_BACSU | 46.0 | 19.8% | 32.0% | 106 | 20 | 86.6% | 56.9% |
Результаты выравниваний показывают, что выбранная пара белков действительно не является гомологичной. Показатели глобального и локального выравниваний в данном случае отличаются больше, например, число гэпов уменьшилось в более чем два раза. Локальное выравнивания этой пары по результатам схоже с локальным выравниванием для FLGK_ECOLI и FLGK_BACSU, но все же о гомологичности первой пары и неродственности второй могут говорить проценты перекрытия, особенно для GUDD_BACSU.
aliserana@kodomo:~/term2/pr9$ ./indel.py Эта программа подсчитывает число инделей в выравнивании. На вход принимается fasta файл с результатом выравнивания. Введите название этого файла: wrongneedle.fasta Число инделей: 25
aliserana@kodomo:~/term2/pr9$ ./indel.py Эта программа подсчитывает число инделей в выравнивании. На вход принимается fasta файл с результатом выравнивания. Введите название этого файла: wrongwater.fasta Число инделей: 20
Была выбрана мнемоника функции RADA, поскольку для нее были получены наиболее образцовые парные выравнивания из проводившихся. Рекомендованное полное имя белка из ECOLI: DNA repair protein RadA. В Swiss-Prot было найдено 84 белка, чьи идентификаторы начинаются с этой мнемоники:
infoseq 'sw:rada_*' -only -name -nohead | less -N
Дополнительные 5 белков помимо белков из ECOLI и BACSU выбраны программой. В таблице 4 отражена информация о выбранных белках, полученная конвейерами на kodomo, например:
entret sw:rada_chltr -filter | grep '^DE' | grep 'RecName' entret sw:rada_chltr -filter | grep '^OS'
Решено было построить множенственное выравнивание на kodomo программой muscle. Все работы проводятся в директории /home/students/y22/aliserana/term2/pr9. Был создан списочный файл rada7.txt с идентификаторами выбранных записей в Swiss-Prot. Был создан файл в fasta-формате:
seqret @rada7.txt rada.fasta
После этого запустила muscle:
muscle -in rada.fasta -out rada_allignment.fasta
Идентификатор записи | Рекомендованное название | Органнизм |
---|---|---|
RADA_ECOLI | DNA repair protein RadA | Escherichia coli (strain K12) |
RADA_BACSU | DNA repair protein RadA | Bacillus subtilis (strain 168) |
RADA_CHLTR | DNA repair protein RadA | Chlamydia trachomatis (strain D/UW-3/Cx) |
RADA_METMI | DNA repair and recombination protein RadA | Methanococcus maripaludis (Methanococcus deltae). |
RADA_ARCFU | DNA repair and recombination protein RadA | Archaeoglobus fulgidus (strain ATCC 49558) |
RADA_HELPY | DNA repair protein RadA | Helicobacter pylori (strain ATCC 700392) |
RADA_DESA1 | DNA repair and recombination protein RadA | Desulfurococcus amylolyticus (strain DSM 18924) |
Файл был переведен в /home/students/y22/aliserana/public_html/term2/block4 для дальнейшего экспорта в Jalview. В Jalview колонки выравнивания были окрашены по проценту идентичности: ссылка на проект.
По моему мнению, белки хорошо выравнялись по двум группам, соответствующим их рекомендованным названиям. У выравнивания всех семи белков нет выраженной структуры и по результатам можно предполагать гомологию белков внутри каждой из двух групп (просто DNA repair protein RadA и DNA repair and recombination protein RadA). Возможно все 7 белков имели очень далекого предка. Более консервативные участки: 1, 25, 94-149, 194-195, 227, 248-252, 325-366. Менее консервативные участки: 24-47, 57-85, 196-205, 253-264, 276-298, 394-477. На остальных участках консервативность практически отсутствует. Решено было провести выравнивание для каждой из групп и убедиться в том, что белки внутри этих групп являются гомологами и это видно лучше в Jalview. Способ множественного выравнивания был выбран тот же. Были созданы файлы rada4.txt и rada3.txt.
seqret @rada4.txt rada4.fasta seqret @rada3.txt rada3.fasta muscle -in rada4.fasta -out rada4_allignment.fasta muscle -in rada3.fasta -out rada3_allignment.fasta
Файлы rada4_allignment и rada3_allignment были переведены в /home/students/y22/aliserana/public_html/term2/block4 для дальнейшего экспорта в Jalview. В Jalview колонки выравнивания были окрашены по проценту идентичности: проекты для 4 и для 3 последовательностей.
По результатам видно, что о гомологии белков в каждом из случаев можно теперь говорить с большей уверенностью. У выравниваний теперь есть выраженные структуры, более консервативных участков стало намного больше, число гэпов и инделей значительно уменьшилось.
aliserana@kodomo:~/term2/pr9$ ./simidmod5.py Эта программа выбирает n записей белков из списка. На вход принимается список идентификаторов (ID) записей. Введите название файла с ID записей: rada.txt Сколько записей надо выбрать? 5 Записи с каким идентификатором не надо брать (вводите через пробел, - если можно любые)? RADA_ECOLI RADA_BACSU RADA_CHLTR RADA_METMI RADA_ARCFU RADA_HELPY RADA_DESA1
Программа находится по адресу ~/term2/indels/indels.py. Пример выдачи:
aliserana@kodomo:~/term2/indels$ ./indels.py ../pr9/flgk.water FLGK_ECOLI 9 FLGK_BACSU 10 Total 19