Pull to refresh

Comments 13

UFO just landed and posted this here
Спасибо! Тема, конечно, будет продолжена.
Спасибо за напоминание про Розалинд, это, пожалуй, лучший практикум по биоинформационному программированию.
Например, вот как раз задача на парное выравнивание — то, о чем написано в посте.
Могла бы тема биологических расчётов стать темой новой криптовалюты? При этом, возможно, вполне работала бы классическая инфляционная система, которая используется повсеместно, в отличии от современных криптовалют.
Это, вероятно, могло бы стать значительно более эффективным вложение электроэнергии и принести несоизмеримую пользу всему человечеству.
Должен признаться, я очень плохо разбираюсь в криптовалютах… но всё равно могу предположить некоторые проблемы.

Тот же биткоин может произвольно регулировать вычислительную сложность майнинга, в биологии такое не всегда получится; хотя можно, например, решать задачу множественного выравнивания методом наивного алгоритма (и тут можно регулировать сложность, просто меняя объем задачи), но такие задачи уже принято решать другими методами, поэтому польза для человечества получится сомнительной.

Большинство биологических задач имеют всё-таки недостаточную вычислительную сложность — например, сборка геномов считается сложной задачей, но для криптовалюты явно не хватит, и самое главное, этим задачам некуда расти в смысле сложности.

Ну а самые интересные и трудные задачи (предсказание структуры белка по последовательности) вообще имеют проблемой не вычислительную сложность, а отсутствие однозначно верного алгоритма. Как, например, создание ИИ, такие задачи, ИМХО, вообще на грани с творчеством.
Немного оффтоп, наверное:
интересно, что если в анализе последовательностей РНК/ДНК мы при сравнении не по тому краю пошли?
т.е. являются ли равными последовательности ААЦТГ и ТТГАЦ с точки зрения биологии?
Строго говоря, это зависит от задачи. Если это какие-то специфические ДНКовые исследования, то может быть по-всякому. Но если сравниваются кодирующие ДНК (т.е. ДНК, кодирующие белки), то это одно и то же. На самом деле вопрос ставится не так, на самом деле последовательность ДНК обрабатывается в несколько «проходов» — т.н. рамок считывания (помните, одна аминокислота кодируется тремя нуклеотидами). Получается три возможных рамки в одну сторону, три — в другую, плюс то же самое для комплементарных последовательностей. В итоге, если последовательности действительно похожи (а если они взяты не потолка, то они похожи), одна из рамок дает резко лучший результат, ну, ее и принимают за верную.
Понимаю, что биологов просили не читать, но тем не менее ;)

Написано вроде хорошо. Интересная фраза о том, что «Последовательность ДНК определяет последовательность белка». Так-то наоборот, белок транслируется с матрицы РНК, скопированной (транскрибированной) с ДНК. Однако, с эволюционной точки зрения, эффект оказывают именно изменения в белке (и они являются значащими для отбора, хотя изначально мутация должна произойти в ДНК), поэтому в весьма переносном и метафорическом смысле можно сказать, что последовательность ДНК определяется «белком». Но в прямом смысле — утверждение не верно.

Не заметил ссылки на классиков — Кунина и Гальперина. У них же прекраснейший обзор по этим методам, плюс все-таки одни из отцов-основателей (Sequence — Evolution — Function. Computational Approaches in Comparative Genomics. Eugene V Koonin and Michael Y Galperin, http://www.ncbi.nlm.nih.gov/books/NBK20260/ )

И, пожалуйста, откройте тайну — какую аминокислоту обозначает «B» в тетрапептиде «HABR» в самом начале статье? ;) (я-то думал, что символ «B» не используется ни для одной аминокислоты, а на рисунке изображен HADR, насколько вижу :) )
Здесь винительный падеж сыграл злую шутку. Смысл того предложения (кто что определяет) таков: ДНК -> аминокислотная последовательность -> третичная структура -> функции. То есть я имел в виду, что белок определяется ДНКой, а не наоборот. РНК пропустил для простоты. Но и с остальным полностью согласен — действительно, определяется через отбор, и действительно метафорически.

За ссылку могу сказать только спасибо, именно вот с этой книгой как-то не получилось пересечься.

B — это D или N (а Z, кстати, это E или Q). Во вьюере B рисуется некрасиво, поэтому заменил на D.
А никто не пробовал делать через машинное обучение? Я когда-то заставил нейросеть хорошо выравнивать последовательности по типу алгоритма Дамерау-Левеншейна. Правда, использовал для спелчекера. Но здесь нечто похожее.
Считается, что нейросети хороши там, где неизвестен алгоритм, а где он известен, они работают заведомо хуже традиционных программ. В принципе, собственно выравнивание строк вполне успешно делается алгоритмом динамического программирования. Другое дело, что сходство последовательностей вовсе не обязательно означает сходство структур — и вот тут уже самое место для нейросетей. И их действительно используют для предсказания вторичной структуры, надежность получается больше 70%.
Sign up to leave a comment.

Articles