Компания
66,68
рейтинг
1 мая 2012 в 18:32

Разное → Биоинформатика: взгляд изнутри

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

У биоинформатиков нет никаких пробирок, реагентов, бактерий, белых халатов. Главные инструменты у них – ноутбук, ручка с бумагой или белая доска с маркером – в общем, всё как у программистов. Да и сама работа очень сильно похожа на работу в IT компании, а лаборатория – на небольшой отдел разработки. А в чем же тогда отличия? Что ж, попробую ответить.

Во-первых, задачи в основном алгоритмические. То есть перед тем как написать программу, надо прочитать несколько статей, подумать самому, обсудить свои идеи с коллегами и только потом приступать к реализации. Во-вторых, работать приходится с большими объемами данных, а поэтому реализация должна быть максимально эффективной. Однако даже эффективная, логичная и идеально отлаженная программа может не дать желаемый результат. Основная причина тому – биологическое происхождение данных, а значит огромное количество ошибок и существенное различие между данными от разных лабораторий.

Еще одно, пожалуй, самое видимое отличие биоинформатики от программирования – это исследования и публикации. Биоинформатика – это наука, а значит просто необходимо быть в курсе всего, что происходит в мире. Для этого и существуют многочисленные конференции, сотрудничества с лабораториями из других стран и, безусловно, публикации – о своих достижениях тоже необходимо рассказывать всем. Без всего этого можно усердно изобретать велосипед.

В общем и целом, впечатление о биоинформатике именно такое, но лучше всего рассказать это на примере, тем более что такой есть, и совсем недалеко. Но обо всем по порядку.

Лаборатория алгоритмической биологии


В 2010-м году в России была запущена программа «мегагрантов». Под руководством ведущих западных ученых (в большинстве случаев давно уехавших из России) стали создаваться новые научные лаборатории. Одной из таких стала лаборатория алгоритмической биологии при СПбАУ под руководством Павла Певзнера – одного из самых известных ученых в своей области. Павел закончил МФТИ, но достаточно скоро после этого уехал в США, занялся Computer Science (а если быть точным, именно биоинформатикой) и сейчас является профессором Университета Калифорнии в Сан-Диего.

Перед тем как рассказать, чем же именно занимаются в лаборатории, стоит ввести читателей в курс дела.

Немного о геномике


Уверен, что каждый читатель слышал слово геном. Для биологов геном – это молекулы ДНК – длинные цепочки, состоящие из четырех нуклеотидов, организованные в хромосомы, свёрнутые в ядре клетки. Мы же видим геном как строку, состоящую опять же из четырех символов (A, C, G, T). Длина генома может достигать миллиардов или даже десятков миллиардов символов. Биологи не умеют считывать геном целиком – только маленькими фрагментами до 150 «букв», да и то с ошибками. Наша задача – восстановить исходный геном по этим кусочкам, или как чаще говорят – собрать.

Для наглядности можно привести такое сравнение: представьте пачку одинаковых газет. Теперь представьте, что эту пачку взрывают и мелкие кусочки бумаги разлетаются, перемешиваются, портятся или даже сгорают целиком. А дальше по куче этого мусора хочется склеить исходную газету.

Так же и с геномом. Первые технологии позволяли считывать кусочки генома длиной до нескольких тысяч символов. Эти технологии были невероятно дорогие – на сборку первого человеческого генома были потрачено несколько миллиардов долларов и несколько лет усердной работы сотен сотрудников лабораторий по всему миру. Современные технологии позволяют читать более короткие фрагменты, но на порядок дешевле и в огромном количестве. Обработка гигабайтов входных данных, естественно, производится автоматически. Для этого разрабатываются программы, которые называют геномными сборщиками, или чаще – ассемблерами (от английского assemble). В силу некоторых особенностей исходных геномов (например, повторяющихся регионов), а также большого числа ошибок во входных данных, результатом работы сборщика является не целый геном, а лишь достаточно продолжительные его участки. Чем длиннее полученные участки, чем больше они похожи на исходный геном, тем качественней считается результат.

Задача сборки генома


Если взять задачу сборки генома в самом общем случае – это будет не что иное, как задача о надстроке (shortest superstring problem), которая формулируется следующим образом: найти кратчайшую строку, такую, что каждая строка из заданного набора являлась бы её подстрокой. Эта задача является NP-полной. Но если предположить, что у нас есть все возможные подстроки исходной строки одинаковой длины, задачу можно решить за полиномиальное время. Сборка генома – это именно такой случай. В 2001 году Павлом Певзнером был предложен эффективный подход сборки геномов с использованием графа де Брюйна. Основная идея этого подхода используется почти в каждом современном геномном ассемблере. Однако на практике все сильно усложняется вышеупомянутыми биологическими ошибками, и поэтому основная задача – разработка эвристик для разного рода подзадач, возникающих при сборке геномов.

В лаборатории алгоритмической биологии было решено сфокусироваться именно на разработке ассемблера. Безусловно, на момент создания лаборатории существовало огромное количество геномных сборщиков. Зачем было тогда создавать еще один? На самом деле, задача сборки оказывается намного более широкой, чем кажется на первый взгляд. Биологи производят огромное количество различных типов входных данных, для каждого из которых требуется разработка новых методов, учитывающих их специфику. Кроме того, сборка генома включает в себя большое число этапов и алгоритмов, поэтому даже несмотря на то, что все современные ассемблеры используют один и тот же подход, их результаты могут очень сильно отличаться. Перед лабораторией ставилась задача получить ассемблер, который по многим параметрам превосходил бы существующие.

Путь в биоинформатику


В биоинформатику я попал, можно сказать, случайно. Я учился в магистратуре СПбАУ и, как и каждому студенту, в начале семестра мне необходимо было выбрать научно-исследовательскую работу. Чтобы попробовать себя в новой области, я выбрал биоинформатический проект. По началу пугало то, что, возможно, придется учить биологию, вместо того чтобы разрабатывать и реализовывать алгоритмы. Однако опасения, к счастью, не оправдались – погружение в эту предметную область происходит точно так же, как и в любую другую. Постепенно начинаешь понимать больше, узнаешь что-то новое, и даже если биология была далеко не самым любимым предметом в школе, интерес к ней появляется достаточно быстро. Почти сразу я понял, что биоинформатика – это именно то, чем я хотел заниматься – программирование с элементами исследовательской работы и интересной предметной областью.

Пока я занимался своим проектом, организовалась лаборатория алгоритмической биологии, о которой я упоминал. Летом 2011 я успешно прошел в ней стажировку и остался как постоянный научный сотрудник. Если говорить о лаборатории в целом – огромное количество различных интересных проектов, которые далеко не ограничиваются сборкой геномов, сотрудничество с западными лабораториями, научные конференции, постоянная возможность узнавать что-нибудь новое и, конечно, очень хороший коллектив.

Можно было бы наверное еще долго говорить и о работе в лаборатории, и о биоинформатике в целом, в которой еще море открытых проблем, и о конкретных подходах и алгоритмах в разных задачах. Но нельзя объять необъятное, а посему рассказ будет о чем-то одном и уже в следующий раз. А о чем именно – зависит от ваших пожеланий.

Ссылки


Автор: @andrewprzh
СПБАУ
рейтинг 66,68

Комментарии (43)

  • +1
    А чем именно Вы занимались на стажировке?
    Что можно конкретно сделать используя полученный вами опыт?
    • +5
      Я разрабатывал и реализовывал алгоритмы для одного из этапов сборки генома. Если быть точным — алгоритмы для разрешения повторов (возможно, об этом я расскажу позже). Созданный модуль теперь входит в наш ассемблер, а я с недавнего времени вернулся к исследованиям в этой области.

      Что касается перспектив. Ну самое банальное — есть возможность остаться в лаборатории полноценным сотрудником. Если же взять стажировку отдельно, то это очень хороший способ познакомиться с биоинформатикой лично, пообщаться с опытными в этой области людьми, посетить интересные семинары, ну и, конечно, попробовать себя в чем-то новом. Даже если в Ваших дальнейших планах биоинформатики нету, то, как мне кажется, поработать над различного рода алгоритмическими задачами и что-нибудь исследовать может быть полезным для любого программиста.
  • +1
    Как интересно вы свичнулись с Карповской кафедры ажно в другой университет ;)

    Но вообще, биоинформатика это конечно круто. За ней будущее. Хотя в моем видении, всеже само «био» должно там присутсвовать больше.

    А статья как раз в точку, то что я сам хотел узнать. Спасибо. Буду рад каким-нибудь еще примерам из работы.
    • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
      • +1
        Это сложно несколько объяснить, но попробую…

        Проблема, имхо, как и в бизнесе с computer science. Есть, скажем бухгалтеры или банкиры, трейдеры и т.п. Они живут в своем мире, в своем домене знаний и парадигм. Их учили и они учились этому всю свою жизнь. И есть программисты или другие технические люди, призванные сделать работу людей бизнеса более эффективной. Но они не обладают тем доменом знаний, соответственно все это держится только на том, что кто-то смоделировал задачу, перенеся ее в абстракции и сделав ее пригодной для поиска решения программистами. Это может быть как человек из бизнеса, или девелопер, прошаренный в вопросах бизнеса.

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

        Поэтому, если человек, занимающийся биоинформатикой будет как хорошим алгоритмистом, так и биологом, то эффективность поиска решений, исходя из знаний что вообще почему и откуда берется, может быть несомненно выше, и даже решена возможно другими подходами, нежели решается сейчас.
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            Не совсем понял вопрос.

            Вот сборка генома — это типичное абстрагирование и перенос формулировки задачи в область известных алгоритмических проблем. Т.е. биосоставляющей там уже нет. Чтобы возможно было так абстрагироваться, нужно иметь знания в биологии, чтобы быть уверенным что модель адекватна, что мы выкинули то, что действительно не имеет значения для задачи, и после этого мы уже имеем возможность подбирать решение.

            Т.е. вот это
            Для биологов геном – это молекулы ДНК – длинные цепочки, состоящие из четырех нуклеотидов, организованные в хромосомы, свёрнутые в ядре клетки. Мы же видим геном как строку, состоящую опять же из четырех символов (A, C, G, T).

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

            Так вот человек, работающий с биоинформатикой и обладающий знаниями и в биологии и в информатике, может быть более эффективен на ниве поиска абстракций для последующего подбора решений.

            Я так это вижу. Надеюсь ответил.

            • НЛО прилетело и опубликовало эту надпись здесь
            • +4
              Зачастую работа биоинформатика как раз и состоит в формулировке абстракций и задач, адекватно отражающих биологическую реальность, но в то же время поддающихся элегантному решению с точки зрения информатики / математики / статистики. Так, например, было и с задачей сборки геномов, и с rearrangement distance (расстояние по крупномасштабным мутациям в геноме — «перестройкам»). Последнюю, когда переформулировали ближе к биологии (заменили беззнаковые перестановки на знаковые), оказалось возможно решить полиномиально. Тогда как изначальная задача была NP-сложна (sorting unsigned permutations by reversals).

              И мы, конечно, что-то знаем и про биологию, которая лежит за буквами A, C, G и T, и про биотехнологии, позволяющие их секвенировать, — это позволяет не улетать в небо абстракций, а решать прикладные и полезные биологам задачи. С другой стороны, знать досконально все биологические процессы и быть одновременно первоклассным информатиком очень сложно — необходимо выбирать золотую середину и находить свою нишу.
              • 0
                А не поясните в двух словах, чем отличаются беззнаковые и знаковые перестановки?
                • 0
                  Знаковые перестановки учитывают цепь ДНК, в которой находится ген (блок).

                  Например, знаковая:
                  1 2 -3 4 -5 -6 7

                  Беззнаковая:
                  1 2 3 4 5 6 7
                  • 0
                    А что эти цифры обозначают? Цепи ДНК, как тут сказано, из ACGT состоят — а как с этими буквами данные цифры соотносятся?
                    • 0
                      Это общие подстроки у геномов. Например, пронумерованные гены.
                      • 0
                        Ок. А что тогда значит минус у такой подстроки?
                        • 0
                          Что она находится в отрицательной цепи ДНК.
                          • 0
                            Издеватетесь, что-ли? Что такое «отрицательная»?
                            • +1
                              У ДНК две цепи спирали — положительная и отрицательная. Отрицательная цепь комплементарна положительной.

                              www.biostars.org/p/45810/:

                              The positive strand of DNA is the one whose sequence contains the instructions for building a protein. The negative strand merely contains the complementary sequence, according to the base-pairing rules (A pairs with T, C pairs with G); the negative strand is not normally transcribed into RNA nor translated into protein.

                              When you have a chromosomal DNA reference sequence, all the numerous sequence features like genes can be on both strand. The reference orientation is entirely arbitrary.

                              When the strand is indicated as minus, you extract the sequence between the start and end locations and take reverse complement of that to get the correct feature sequence.
                              • +1
                                Во, комплементарная — это понятно. Спасибо

                                P.S.: Так бы сразу и сказали — «отрицательной часто называют цепочку нуклеотидов, комплементарную имеющейся» ;)
    • +1
      Да, засиделся на месте :)

      Я думаю, это самое «био» частично заключается в сотрудничестве с биологическими лабораториями, которые поставляют данные и являются конечными пользователями. Ну и, конечно, для решения каждой отдельной задачи уровень знания биологии нужен разный — где-то больше, где-то меньше. Сборка генома это лишь один конкретный пример.

      Спасибо. Надеюсь, напишу о других примерах позже.
    • 0
      разве с карповской кафедры вообще можно свичнуться?) я думал это невозможно)
      кто был вашим научником там, если не секрет?)
      • 0
        Вы промахнулись, похоже, комментарием. Я никуда не свитчился, а так ее и окончил, это топикстартер сделал.
      • 0
        Перечитывал комментарии, заметил ваш. Тогда не увидел, так как он не отвечает на мой. Лучше поздно, чем никогда :)

        Я просто закончил бакалавриат, поступил в СПбАУ и забрал документы из деканата. Научным руководителем был Трифонов П.В. и диплом я писал на тему помехоустойчивых кодов.
        • 0
          единственный разумный выбор!
  • +1
    Как раз сегодня закончился приём заявок на стажировку на лето 2012 :-) Или не закончился?
    • +1
      Формально заканчивается, но это только формально :) Заявление в принципе можно подать и позже.
  • +1
    Очень интересная тема, спасибо за пост! Хотелось бы подробнее про то, чем занимается лаборатория, про сборщики, и все остальное. В общем — пишите еще :)
  • +8
    Магистратура по специальности «Алгоритмическая биоинформатика» при лаборатории сейчас проводит набор, к слову.
  • +1
    Каждый раз когда читаю такие статьи, хочется биться головой об стол) В хорошем смысле)
    В моем вузе с исследованиями все очень тухло, а так хочется применить и расширить свои знания)
    Можете подробней рассказать о стажировке и как туда попасть в этом году(сейчас пишу диплом бакалавра по специальности «Вычислительная техника»).
    • +5
      Конец бакалавриата, как мне кажется, самое лучшее время для смены обстановки. Еще есть время поучиться, но при этом Вы уже лучше понимаете чем бы Вы хотели заняться и можете попробовать перейти в другой ВУЗ. Сделать сознательный выбор или, например, переехать в другой город после бакалавриата несколько проще, чем сразу после окончания школы.

      Варианты тут такие. Во-первых, Вы можете подать на стажировку на сайте лаборатории (http://bioinf.spbau.ru/int). Также, Вы можете попробовать поступить в вышеупомянутую магистратуру СПбАУ (http://mit.spbau.ru/admission2012#bioinf). В обоих случаях надо просто подать электронную заявку.
  • 0
    А как вам идея скрестить AI и биоинформатику? Например, смоделировать мозг какого-нибудь относительно простого существа (например, лабораторной мыши) в виде множества нейронов, передающих сигналы друг другу?

    Идея может и бредовая, но почему-то мне кажется интересной )
    • +3
      Честно говоря, AI я никогда не занимался, и есть ли исследования в этой области, сказать не готов. Но что точно могу сказать, это что лабораторная мышь очень непростое существо. Мышь не только млекопитающее, но и плацентарное, а значит одно из самых высокоразвитых существ. Подозреваю, что мозг мыши устроен невероятно сложно.

      К слову, геном мыши отличается от генома человека всего лишь 139 перестановками (если не путаю).
    • 0
  • +1
    Интересно, какие есть примеры биоинформатических (не биотехнологических) стартапов, т. е. разработки программных продуктов для обработки геномных и др. данных с перспективой продажи крупной компании или превращения в таковую? Например, dnanexus.com/ — чисто ИТшный, облачный стартап, заточенный под анализ больших объемов ATCG-кода.
    • +3
      Например, такие:
      www.clcbio.com
      genestack.com
      • 0
        Спасибо.
    • +3
      • 0
        Спасибо. Последний пример стоит отметить отдельно — это не чисто биоинформационный стартап, но потенциально — аналог Google в этой сфере, т. е. генератор дочерних биоинформационных проектов.
        • +2
          Как раз чисто биоинформатический — всю биологическую часть они аутсорсят в лаборатории www.ngi.com, а сами занимаются только анализом данных (и строят социальную сеть на геномах). Кстати, финансирует их как раз Google Ventures.
  • +1
    В Новосибирске похожими вещами занимаются:
    UGENE
  • –2
    Вообще-то в совренной биоинформатике много биологии и очень мало самой информатики. Вот, например, вопрос: «Почему у людей насчитывается по 23 пары хромосом?» Почему, скажем, не 24 или 32, как у других приматов. Почему цифра 23, являющаяся нонсенсом для окружающей нас природы, отличается от фундаментальных законов и принципов Мироздания, которое подчиняется ряду: 1; 2; 4; 8; 16; 32 и так далее.
    Кто украл у нас одну пару, или пять, или даже 9 пар хромосом? Инопланетяне? Аннунаки с планеты Небиру?
    Как так получилось, что хромосом, отвечающих за «телепатию», не оказалось у людей, но есть у других животных? Кто лишил нас этого и навязал нам речевой аппарат вместо прямого общения?
  • 0
    Жаль, следующих статей до сих пор нет…

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

Самое читаемое Разное