EMBOSS и протеомы
В рамках данного практикума нужно было разобраться в принципах работы с пакетом программ EMBOSS и с помощью него получить некоторую информацию о протеомах E. coli, strain K12 и своей прокариоты (D. dadantii, strain 3937).
Получение таблицы частот встречаемости аминокислотных остатков в протеомах
Сначала с базы данных Uniprot были скачаны референсные протеомы бактерий. Командой "grep -Ec ">" proteome.fasta" было получено число белковых последовательностей в каждом протеоме. Для подсчёта и вывода общего количества аминокислот для удобства была написана отдельная программа на Python, обращающаяся к описанному ниже файлу формата .wordcount. Первый протеом (ID UP000000625) принадлежит бактерии E. coli, содержит 6352 последовательности и 1353357 аминокислот. Второй (ID UP000006859) принадлежит бактерии D. dadantii, содержит 6532 последовательности и 1412275 аминокислот.
Для получения данных о частоте аминокислот (в штуках) в каждом протеоме была использована программа wordcount пакета EMBOSS, команда терминала "wordcount -sequence "fasta::./uniprot-proteome.fasta" -wordsize 1 -outfile "./organizm.wordcount". Два полученные таким образом файла "ddadantii.wordcount" и "ecoli.wordcount" были входными данными в программму "tabla.py" на Python. Программма записала в текстовый файл "table.txt" таблицу с информацией о протеомах, готовую для вставки в html-файл (получено с помощью команды "tabla.py ddadantii.wordcount ecoli.wordcount table.txt"). Ниже приведена получившаяся таблица.
aa_residue | share_E.coli,% | share_D.dadantii,% | residual,% | dev_from_average,% |
L | 10.68 | 11.14 | 0.46 | 2.11 |
A | 9.51 | 10.03 | 0.52 | 2.66 |
G | 7.37 | 7.38 | 0.01 | 0.07 |
V | 7.07 | 7.01 | 0.06 | 0.43 |
R | 5.52 | 6.24 | 0.72 | 6.12 |
S | 5.8 | 6.14 | 0.34 | 2.85 |
I | 6.01 | 5.45 | 0.56 | 4.89 |
T | 5.39 | 5.37 | 0.02 | 0.19 |
D | 5.15 | 5.28 | 0.13 | 1.25 |
E | 5.76 | 5.2 | 0.56 | 5.11 |
Q | 4.44 | 4.85 | 0.41 | 4.41 |
P | 4.43 | 4.68 | 0.25 | 2.74 |
F | 3.89 | 3.73 | 0.16 | 2.1 |
K | 4.41 | 3.65 | 0.76 | 9.43 |
N | 3.94 | 3.58 | 0.36 | 4.79 |
Y | 2.84 | 2.81 | 0.03 | 0.53 |
M | 2.83 | 2.61 | 0.22 | 4.04 |
H | 2.27 | 2.35 | 0.08 | 1.73 |
W | 1.53 | 1.42 | 0.11 | 3.73 |
C | 1.16 | 1.09 | 0.07 | 3.11 |
Таблица содержит информацию о процентном содержании каждой аминокислоты (за исключением селеноцистеина, коего в во всем протеоме E.coli всего 3 аминокислотных остатка и которого совсем нет в протеоме D. dadantii), разницы этих процентов у двух организмов и отклонения процентного содержания в каждом протеоме от среднего между ними.
Как видно из таблицы, наблюдается общая тенденция содержания аминокислот в протеомах: наибольший процент встречаемости у аминокислот с неполярным радикалом (Leu, Ala, Gly, Val), наименьший - у специфических аминокислот, играющих особую роль (Met, Trp, His, Cys).
Самая ярко бросающаяся разница между протеомами заключается в содержании Lys в протеомах: процент его встречаемости в каждом протеоме отклоняется от среднего между ними на 9.43%. По такой большой разнице можно судить о филогенетической удаленности организмов.
Команда "compseq"
Упомянутые файлы в формате "*.wordcount" были получены с помощью команды "wordcount". В файле очень лаконично представлена информация о частоте встречаемости аминокислот (фактически - слов длины 1) в протеоме (заметим, что тем же образом получается информация о частоте встречаемости нуклеотидов в геноме): файл представляет собой таблицу, в первом столбце которого - однобуквенный код аминокислоты, а во втором - количество ее во всех последовательностях в файле. Ту же информацию можно получить, выполнив команду "compseq", однако для этой команды свойствен другой синтаксис и другой формат выходного файла.
Выходной файл
Файл "*.compseq" в целом оформлен лучше, чем файл "*.wordcount". У таблицы есть заголовки, для каждого слова (аминокислоты в нашем случае) указана наблюдаемая (Obs frequence) и ожидаемая (Exp frequence) встречаемость и их отношение. В начале файла указано, что подразумевается под ожидаемой встречаемостью, по умолчанию - все встречающиеся слова обладают одинаковой ожидаемой встречаемостью. Далее перечисляются имена некоторых последовательностей из вводного файла. После этого указываются длина слова и количество всех найденных слов (то есть в данном случае число всех аминокислот в протеоме). Заметное преимущество таблицы состоит в том, что все строки с аминокислотными остатками расположены в алфавитном порядке, так что упрощается задача анализирования нескольких протеомов, как в нашем случае. В конце файла, в последней строке таблицы, представлено количество не ожидаемых программой слов. В контексте исследования аминокислот протеома ими могут быть слова "B" и "Z", если по каким-то причинам не удалось определить аспартат/аспарагин или глутамат/глутамин.
Файл предоставляет более подробную информацию о последовательностях, упрощает ее анализ, при этом вычленять из него эту информацию для обработки программой не намного сложнее.
Синтаксис
Стандартные опции по существу те же самые, что и команды "wordcount" (входной и выходной файл, длина слова), отличия же наблюдаются в дополнительных опциях: опция -infile позволяет в качестве Exp frequence использовать частоты из ранее полученного этой же командой файла. В таком случае отношение Obs/Exp сообщает некоторую информацию об отличиях во встречаемости отдельных слов в двух файлах. Например, в нашем случае разница частот встречаемости отдельных аминокислот может быть примерно оценена таким образом. Опция -frame регулирует размер "окна", в котором за каждый шаг ищутся слова (по умолчанию размер "окна" равен 1); в нашем случае эта опция оказалась бы излишней, так как мы выбрали длину слова 1. Опция -calcfreq, изменяющая порядок определения Exp frequence, также не оказывает влияния на результаты работы программы, если длина слова 1. Интересна для нас опция -[no]ignorebz, позволяющая игнорировать/учитывать частично не определенные аминокислотные остатки "B" и "Z". Для определения частоты подпоследовательностей в цепи нуклеиновой кислоты полезна иногда опция -reverse, позволяющая производить поиск по комплементарной по отношению ко входной последовательности.
Итак, можно сделать вывод: команда "compseq" по сравнению с "wordcount" предоставляет более подробную информацию о встречаемости слов в последовательностях. Тем не менее, выбор команды в конкретном случае определяется нуждами пользователя и остается за ним.