Биоинформатика — чрезвычайно любопытная область научного знания, так как в ней соединяются задачи, формулируемые в биологических терминах, и методы, привычные для специалистов по алгоритмам, обработке больших данных и машинному обучению. Таким образом, биоинформатика — это один из примеров, когда IT может прийти на помощь при изучении реального мира.
Недавно я побывал в гостях у Михаила Сергеевича Гельфа́нда в Институте проблем передачи информации. Мы поговорили о том, что такое биоинформатика, о её интересных приложениях, о том, чем могут быть полезны IT-специалисты в биоинформатике и что им для этого нужно выучить.
Под катом этой статьи вы найдете полную расшифровку нашего разговора, а видео можно посмотреть на YouTube.
Что такое биоинформатика
Алексей Шаграев: Биоинформатика — что это за наука, чем она занимается?
Михаил Гельфанд: Биоинформатика — это способ заниматься биологией при помощи компьютера. По большому счёту, это не наука, а просто набор приёмов. В этом же смысле наукой не является, например, электронная микроскопия.
Первая часть биоинформатики — алгоритмическая. Она описывает, как данные из прибора дотащить до компьютера. Чтобы определить последовательность нуклеотидов, образующих геном (секвенировать его), по техническим причинам этот геном нужно нарезать на большое количество небольших фрагментов, которые затем нужно склеить в одну большую строку. При этом нужно учитывать шум в данных, различные неравномерности всего на свете. Это довольно типичная задача, другие алгоритмические задачи возникают в анализе масс-спектрометрических данных.
Вторая часть биоинформатики — классическая, биологическая. Она сильно ближе к тому, чем занимаюсь я. Более точно её можно назвать молекулярной биологией. Вот у вас есть белок. Что он делает? Или у вас есть ген. Когда он включается, когда выключается? Или, наоборот, вы знаете, что что-то в клетке выполняет определённую функцию. Какой именно белок её выполняет? Это примеры классических задач молекулярной биологии, и оказывается, что компьютер — довольно эффективный прибор, чтобы такие задачи решать. Исследователям уже не нужно проверять все возможные функции белка; вместо этого они могут проверять, выполняет ли белок ту функцию, которую предсказала модель. Если действительно выполняет — ура! Таким образом компьютер позволяет экономить время экспериментатора, сужая пространство поиска. Это классическая молекулярная биология, она делается на компьютере ещё до пробирки.
Наконец, третья, недавно возникшая часть биоинформатики — анализ больших данных. Экспериментальные методы, которые сделали биологи, оказались настолько эффективны, что данных производится уже очень много. Астрономия прошла такой же путь к астрофизике — колоссальные телескопы теперь производят гигабайты данных каждую минуту. Аналогичное случилось с физикой высоких энергий. Первая возникающая задача — просто сохранить данные и выцепить из них интересную биологию. Благодаря большому объёму возможно описывать работу клетки целиком — не работу одного гена, а работу всех генов этой клетки.
Кроме того, я вам в самом начале сказал неправду. Конечно, есть научная биоинформатика, только она называется по-другому — эволюционная биология. Довольно много компьютерных методов уже описывают паттерны эволюции — как происходил отбор, что на что менялось. Самый естественный, базовый вопрос — кто кому родственник. А дальше начинается: как устроена биология развития у разных зверушек?.. Человек отличается от мышей не потому, что у нас гены разные, а потому, что они по-разному работают. Причём основные различия закладываются в эмбриогенезе.
Когда и как люди впервые поняли, что в этих областях компьютер может принести ощутимую пользу?
Фрэнсис Крик
Первым всё понял Фрэнсис Крик, который, по-видимому, был совершенно гениальным человеком. Он в 1958 году понял, что последовательности — тогда он, по-моему, думал про белки — можно использовать для определения родства. Самих последовательностей ещё не было. Эту идею он впервые высказал в статье, посвящённой совершенно другому, вставил два предложения другой истории.
Фрэнсис Крик — один из крупнейших биологов XX века, лауреат Нобелевской премии по физиологии и медицине 1962 года. Предложил (совместно с Джеймсом Уотсоном) структуру двойной спирали ДНК, сформулировал так называемую центральную догму молекулярной биологии, утверждающую односторонний характер передачи генетической информации в клетке: от ДНК через РНК к белкам. Один из авторов классической работы, описывающей структуру генетического кода. — примечание Алексея Шаграева
Потом, в начале 60-х, действительно появились первые последовательности, люди начали строить деревья. В этой науке они называются филогенетическими, а смысл у них — кто кому родственник.
Филогенетическое дерево — дерево, отражающее эволюционные связи между различными группами организмов. Современные представления состоят в том, что все живые организмы делятся на три домена или надцарства: археи, бактерии и эукариоты. — примечание Алексея Шаграева
Потом появились методы анализа, становилось больше последовательностей. Через некоторое время стало ясно, что руками уже не получается, надо писать программу.
Биоинформатика как наука начала складываться в начале 80-х. В этом смысле мне очень повезло — когда я в неё пришёл в 1985 году, это был такой Дикий Запад, фронтир. Можно было придумать и сделать задачку, которую с большой вероятностью никто не сделал. Не надо было ничего учить — надо было делать. Редко кому-то так везёт.
Сначала биологи к этому относились как к играм в песочнице. Но были и полезные вещи. Однажды стало ясно, что невозможно следить за последовательностями просто по журнальным публикациям. Стали появляться базы данных, куда эти последовательности закладывались на автомате — перед публикацией статей редакции требовали, чтобы последовательность была положена в базу. Соответственно, люди начали писать программы для поиска похожих последовательностей в базах. Это уже была серьёзная наука, поскольку эти базы растут очень быстро и алгоритмы должны быть безумно эффективными.
Есть известная страшилка о том, что производительность секвенаторов — приборов для определения последовательностей — растёт с экспонентой, которая быстрее, чем закон Мура. То есть они убегают от компьютеров. Ещё есть закон про ёмкость памяти, тоже экспоненциальный. Забыл, как он называется. Отдельный вопрос — упираются ли они в какие-то физические пределы. Но секвенаторы и экспоненциальное прирастание данных с бо́льшими показателями, чем компьютерные мощности, — это такой ночной кошмар.
А потом появились методы совсем быстрого секвенирования, и там биоинформатика уже работает с самого начала. Теперь хороший биолог при планировании эксперимента понимает (или с кем-то советуется), как он будет обрабатывать результат. Сам дизайн эксперимента уже в значительной степени учитывает обработку того, что получится.
Сейчас люди начали всё это запихивать в глубокие нейронные сети. У нас есть проекты про то, что, если заставить сеть решать правильную задачу, ей по дороге придётся выучить всю биологию. И примеры есть.
Там встречаются два сорта задач.
В одних задачах требуется просто качественное распознавание. Например, дифференциальный диагноз рака или какой-нибудь прогноз. У вас есть две когорты пациентов: одним данные лекарства помогают, другим нет. Хорошо бы это узнать не когда вы начали лечить, а заранее. Можно изучать особенности тех мутаций, которые случились от этого рака, смотреть, как гены в опухоли начнут работать.
Или можно предсказывать пространственную структуру белка — это тоже классическая задача. У нас есть последовательность, а мы хотим узнать, как молекула свёрнута в пространстве. Старая задача, она, наверное, в 70-х началась. Люди гоняются просто за качеством предсказания. Есть много разных методов. Сетки кого-то побеждают, кого-то нет. Такая наука.
Нейронные сети и биоинформатика. Например, см. сообщение в блоге DeepMind про нейросетевой алгоритм укладки белков AlphaFold и лекцию Mohammed AlQuraishi. — примечание Алексея Шаграева
А есть то, что, по-моему, даже прикольнее. Вы ставите задачу, которая не имеет практического смысла, но чтобы её решить, надо что-то понимать про устройство биологии. И тогда сетка как бы напрягается, ей очень хреново, потому что качество распознавания у неё, скорее всего, очень плохое. Зато мы потом можем залезть в её нейроны и посмотреть, что же она выучила, пытаясь эту задачу решить.
В биологии нет пионеров развития сетевых архитектур. Скорее есть люди, которые просто пытаются правильным способом применить готовые архитектуры. Это такой хайп последнего времени, есть действительно красивые работы.
Иллюстрация из статьи DeepMind
Современная биоинформатика
Какие организмы сейчас наиболее популярны для изучения в этой области и почему?
Человек, конечно, потому что мы хотим всех облагодетельствовать и всю медицину усвоить.
Есть традиционные модельные организмы. Человек — потому что медицина. Мышки — потому что они млекопитающие, но их не жалко. Дрозофила — потому что это вообще классика. Кишечная палочка — потому что это бактерия, она быстро растёт и тоже является классикой (как и ещё несколько бактерий). Нематода C. Elegans — потому что у неё в каждом экземпляре фиксированное количество клеток, строго известна генеалогия этих клеток, у них стандартная схема нервной сети, они абсолютно идентичны, но генетически могут быть разными.
Поскольку есть производительные методы секвенирования, мы можем себе позволить изучить не только модельные организмы, для которых уже много всего сделано, а какие-нибудь другие, прикольные. Мой любимый проект последнего времени — мы нечто совершенно не банальное поняли про эволюцию осьминогов, и ни у кого другого такого нет. Когда студенты меня спрашивают, я скорее советую искать каких-то прикольных зверушек.
Одноклеточные простейшие — это такие организмы, у клеток которых есть ядро, как у нас. У бактерий ядра нет, они простые. На бактериях можно очень глубокие вещи делать. О том, как бактерия живёт, что она ест, что она синтезирует, что она должна из внешней среды получать, мы можем сказать довольно много — не делавши вообще ни одного эксперимента, просто глядя на кино. А зверушки, у клеток которых есть ядро, например, мы с вами, — они посложнее. Но есть чудесные одноклеточные с ядром, и у них самая разнообразная биология. У инфузории, у амёб. Самый прикольный зоопарк именно там.
А вирусы?
Вирусы в первую очередь интересны с медицинской точки зрения. Интересно, как устроена эволюция вирусов, потому что есть довольно много белков, которые, по-видимому, придуманы вирусами.
Ещё есть гигантские вирусы, геном у которых уже больше, чем у маленькой бактерии. Откуда эта хрень взялась, вообще никто не понимает. Я просто хуже знаю эту вирусную науку. Там есть хорошие эволюционные задачи.
Какие сейчас есть интересные направления, где возможны заметные для широкой публики результаты, связанные с биоинформатикой и изучением геномов?
Из того, что можно объяснять широкой публике, самое интересное — история про древние геномы. Они извлекаются из археологических находок и заметно меняют — во всяком случае, обогощают — наше представление об истории человечества. Взгляды на происхождение человека довольно сильно модифицировалось. Там опять же есть хорошие вычислительные куски, но основные молодцы — экспериментаторы, которые просто научились эту ДНК выделять и определять последовательности. Эксперименты были очень тяжёлые.
У каждого из нас есть пара процентов неандертальских фрагментов. Это легко рассказывать публике, что я периодически и делаю.
Про древние гены. В 2006 году стартовал проект прочтения полного генома неандертальцев, одним из результатов которого стал вывод о скрещивании древних людей с неандертальцами, см. статью в Science. Полное изложение этой истории Еленой Наймарк можно найти на Элементах. — примечание Алексея Шаграева
Чистая биоинформатика… Опять же, поскольку это часть биологии, то для нас потребитель — биолог. В хороших биологических работах, когда мы лечим даже не абстрактный рак конкретного типа, а именно опухоль конкретного больного, это персонифицированная медицина. Есть хорошие примеры, когда это работает. Но насколько они массовые и потянет ли их экономика — не очень понятно. В принципе да, есть примеры лекарств, перед назначением которых делают анализ мутаций в конкретной опухоли. Биоинформатика сидит под всем этим «в подвале». Без развития биоинформатических методов это было бы просто невозможно. Но в основном потребителем для нас является не человек, а другой биолог.
Представим себе разработчика: возможно, опытного; возможно, специалиста по анализу данных; или наоборот, ещё студента. Какая задача может его вдохновить прямо сейчас, чтобы прийти в эту науку и чем-то помочь?
Можно прибиться к какой-нибудь лаборатории, где есть много данных, и просто обрабатывать их. Данные могут быть замечательные. Это может быть пространственная структура — как ДНК упаковано в клетке и как это влияет на её работу. Там куча разнородных экспериментов, действительно много данных. И там широкое поле: от физики полимеров до какого-нибудь корреляционного анализа и чего-то статистического. Можно делать действительно красивые вещи. Данные очень разные, их можно по-разному сопоставлять. В общем, куча всего хорошего.
Дальше есть эта байда с сетками. И тут опять надо прибиться к хорошим биологам, тогда можно решать хорошие биологические задачи хорошими сетками. Или побеждать в чемпионатах мира по предсказанию, что само по себе почётно, или пытаться какую-то биологию вынимать. Мы про это немножко говорили.
А можно, действительно, прибиться в компанию, которая пытается строить методы дифференцированной диагностики — в основном диагностики рака — и делать что-то хорошее. Это тоже анализ данных, но там куча всего.
Какая самая типичная ситуация и типичная задача? Есть парадокс: у нас геном во всех клетках одинаковый, а клетки работают по-разному — и, кстати, устроены тоже по-разному, потому что разные гены в них по-разному работают. В раковой опухоли геномы уже другие, там случились мутации. Но опять-таки, клетка перерождается не потому, что в ДНК что-то поменялось, а потому, что гены стали работать иначе. И мы можем пытаться предсказывать влияние лекарств, строить прогнозы или просто делать дифференциальную диагностику по тому, как в разных типах опухолей работают клетки.
Но делая этот анализ, мы берём кусочек ткани, и там очень много разных клеток. Это и клетки опухоли, и здоровые клетки, и какие-то лимфоциты туда приползают — куча всего. Вам нужно разложить усреднённую работу генов, которую вы можете померить в эксперименте, на то, как гены работают в каждом типе клеток. Вы можете оценить долю таких клеток. Это задача декомпозиции. В наивной постановке все думают, что её можно решить просто как задачу линейной алгебры, как большую систему линейных уравнений. Оказывается, что шум в данных и другие сложности заставляют очень сильно крутиться. К простой линейной алгебре это не сводится. Я много раз это видел: приходит студент, говорит — тут сейчас уравнение напишем, и всё. Но фигуськи. Зато это непосредственно польза человечеству — искать раковые подписи.
Будет очень хорошая наука, она уже сейчас происходит — раннее развитие. Мы сейчас определяем, как работают гены в смеси клеток, в образце, где клеток миллионы. Но нужно то же самое уметь делать в единичной клетке, а для этого — побеждать большой шум. Тогда мы можем смотреть, например, эмбриологию, смотреть траектории развития клеток на самых ранних стадиях, когда их ещё мало. Можно смотреть, как происходит ранняя дифференцировка клеток, и с этими историями эмбриология в ближайшее время станет совсем другой, будут сделаны хорошие работы. Это эволюционная эмбриология. Не просто смотреть, чем анатомия отличается у приматов и грызунов (это классика, XIX век), а смотреть, как эти различия на очень ранних стадиях закладываются за счёт того, какие гены где работают. Такое будет.
Как выглядит идеальный специалист, который бы сейчас пришёл в эту область и принёс очень много пользы? Что он должен уметь? Где ему этим заняться?
Он должен знать биологию. В первую очередь, есть магистерская программа по наукам о жизни в Сколтехе. Туда может поступить и человек без биологического образования. Ему будет тяжело, но такие примеры есть.
Есть программа анализа данных биологии и медицины во ВШЭ на факультете компьютерных наук. Туда можно, наоборот, без компьютерного образования поступить. Биологи там тоже есть, но там биологии будет меньше, а биоинформатики — больше. Это для магистров. А для 11-классников есть факультет биоинженерии и биоинформатики МГУ. Это если про Москву говорить.
В Питере есть биоинформатические программы в Санкт-Петербургском университете и в ИТМО, по-моему, но про них я меньше знаю.
Про Михаила Гельфанда
Как вы пришли в эту науку?
Неспособность к занятиям математикой. К моменту окончания мехмата я понял, что у меня плохо получается доказывать теоремы, не говоря уже о том, чтобы их придумывать. И мне очень повезло, потому что биоинформатика тогда только-только начиналась, можно было просто туда прийти, и всё.
Я биологию всегда любил: бабочек ловил, жуков мучил, вот это всё. Для меня съезд в биологию был довольно естественный. Кроме того, я интересовался лингвистикой, в кружок ходил, на олимпиады. И биоинформатика в этом смысле — довольно лингвистическая наука, если ей правильно заниматься. Так что это был очень естественный выбор, во всяком случае для меня.
Чем занимаетесь прямо сейчас?
Лично я занимаюсь в первую очередь задачей про редактирование транскриптов у осьминогов, про то, откуда взялись куколки у бабочек, жуков, муравьёв, пчёл и всех насекомых, у которых есть куколки. У меня есть некая теория.
Вот у тараканов куколок нет. Он маленький, чёрненький и не похож на таракана, потом несколько раз линяет и становится с каждым разом всё больше похож на таракана. А существуют насекомые, у которых есть стадия куколки, и мы вроде бы придумали, откуда она взялась. Если нам удастся это аккуратно показать, будет круто.
Я занимаюсь анализом того, какие бактерии живут в тлях, кораллах и нефтяной шахте. Так сложилось исторически. С тлями у нас есть хорошие коллабораторы в Белоруссии, с кораллами — коллабораторы в Москве, которые отковыривают куски этих кораллов. А про нефтяные скважины у меня есть безумно активный аспирант, который просто окучивает нефтяные компании и им эту задачу втюхивает. То есть это оппортунистические задачи, на самом деле.
Я занимаюсь укладкой ДНК в клетке и тем, как эта укладка влияет на работу генов.
Довольно много занимаюсь — точнее, аспиранты занимаются — эволюцией бактерий, потому что эта штука довольно плохо описана, можно по-разному на неё смотреть. И вообще пониманием того, как эволюционируют бактерии, откуда бактериальные виды берутся, как они разделяются на виды. Оно не то чтобы было хорошо сделано. Это не очень модная область, но там тоже можно делать много прикольных вещей.
Я занимаюсь тем, как регулируется работа генов, в основном у бактерий, и как эти регуляторные сети эволюционируют. Можно сравнивать близкие виды, смотреть, чем они отличаются, понимать (или не понимать), как эти изменения происходят.
Михаил Гельфанд — один из спикеров конференции YaTalks, которая состоится 30 ноября в конференц-зале Paveletsky Space в Москве. Регистрация открыта и доступна по ссылке.
Автор: Алексей Шаграев