Поиск генов в метагеномных сборках
Участники проекта
Руководитель
Введение в предметную область
Геном мы будем себе представлять как строку в алфавите {A, C, G, T}, характерную определённому организму, гены — это подпоследовательности генома, обладающие определёнными свойствами. Сборка — это множество подстрок генома, а их длины на порядки отличаются от длины самого генома. И, наконец, метагеномная сборка — это множество подстрок множества геномов, то есть представим себе несколько геномов, порезанных на части, причём эти части могут перекрываться между собой или даже отсутствовать, тогда перемешаем все порезанные геномы и получим метагеномную сборку.
Задачи
Поставленную задачу можно разделить на несколько:
- разделить метагеномную сборку на сборки (отделить геномы между собой);
- в каждой сборке найти участки, которые похожи на гены;
- предсказать, действительно ли данный участок — ген.
Решение
Несмотря на то, что дело научное, я решила не изобретать велосипед, а посмотреть, как с моей задачей справляются инструменты, которые решают аналогичные проблемы, но при каких-то других условиях. И тут стало понятно, что нужно эти инструменты сравнивать между собой, и выбирать лучший и его уже усовершенствовать. Отсюда появилась идея написать программу для сравнения инструментов, результатом действия которых являются строки, а также визуализировать это сравнение при помощи графиков.
Пока моя программа умела показывать только таблички, препятствием на пути к приближению к большой цели стала другая задача. Она заключалась в реализации оптимизации одного из методов поиска генов и его добавление в QUAST. QUAST — это полезный биологам, на тот момент готовящийся к релизу инструмент. Версия 2.0, содержащая эти изменения, вышла почти сразу после Нового Года.
Таким образом, результатами моей работы в осеннем семестре стали:
- инструмент для сравнения программ, которые на выходе дают строки;
- результаты сравнения существующих методов поиска генов применительно к моим условиям: таблицы, графики, заключения;
- реализация методов предсказывания генов в сборках для работающего инструмента;
- безграничная любовь к библиотеке ggplot2 языка R;
- работающая гипотеза о решении поставленной изначально задачи, готовая к тестированию и проверке;
- вера в то, что когда-нибудь академики перестанут писать академический код или хотя бы перестанут писать на perl’е.
Заключение
В ходе работы удалось познакомиться со многими биоинформатическими инструментами, в очередной раз попрактиковаться в чтении академического кода, да и вообще чужого кода на незнакомом языке, прочитать тонны (если измерять в распечатках, то наверняка именно тонны) биоинформатических и математических статей, познакомиться с применением статистики в биоинформатике, пописать код на Python и R.