BorisBurkov.net

DeepMind - Презентация AlphaFold в EBI

February 07, 2019 5 min read

Два месяца назад весь мир облетела новость, что DeepMind выиграл известное соревнование по предсказанию 3D-структур белков CASP, порвав всех биоинформатиков с впечатляющим отрывом. Многие люди из мира биотеха теперь пытаются осознать, 'что это было'? Революция или эволюция, наука или инженерия, талант или финансирование? Волею судеб я когда-то оказался совсем недалеко от этой области науки, поэтому потратил несколько дней чтобы разобраться в деталях - а между тем в EBI приехал наводить мосты ведущий инженер проекта Эндрю Сеньор из DeepMind.

2019 02 08 10 15 17
Ведущий разработчик AlphaFold Эндрю Сеньор (слева) и директор EMBL-EBI Юэн Бирни (справа)

Что вообще произошло?

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

Какую проблему решал DeepMind?

Основную работу в наших клетках осуществляют белки. Белки состоят из последовательности аминокислот (например, "MAKFGEWTTPFTNS" - всего бывает 20 разных аминокислот, каждой соответствует своя буква вроде "M" - метионин). Прочитать последовательность белка очень дешево, но расшифровать 3D-структуру белка (как та, что на обложке этой статьи) крайне дорого и трудоемко. Но именно 3D-структура содержит ценную информацию для синтеза новых лекарств - например, по ней можно подобрать вещества, которые связываются с этим белком и подавляют его функцию - такие вещества могут стать новыми лекарствами.

Хорошо, а как насчет всяких законов Ньютона и т.п.: если мы знаем последовательность белка, может быть мы сможем предсказать, как свернется белок в пространстве просто под действием сил? Не получается. Куча бывших физиков и математиков, сбежавшихся в биоинформатику, десятилетиями бились с этой задачей практически безрезультатно. Около 25 лет назад был создан конкурс CASP - Critical Assessment of Protein Structures - где участникам предлагалось предсказать 3D-структуру белка по последовательности.

После 10 лет стагнации, на CASP'10 в 2012 был достигнут большой прогресс. Известно было, что у одного и того же белка в разных видах меняется последовательность (например, пока человек происходил из обезьяны, пара аминокислот в альбмуине у него изменилась). Однако пространственная структура белков даже при изменении последоавтельности меняется довольно слабо. Тогда этот факт можно использовать: люди додумались смотреть на коэволюцию аминокислот. Например, если в человеческой версии белка в одном месте последовательности была положительно заряженная аминокислота, а в другом - отрицательно, а у аналогичного белка из обезьяны - наоборот, то можно предположить, что эти аминокислоты неспроста так коэволюционируют - видимо, они взаимодействуют, а значит, сближены в пространстве.

Слева в строках записаны последовательности одного и того же белка из разных видов (например, первая строка "ACPRLDVDSQ" - из человека, вторая - "ACPR-EVDCN" - из обезьяны и т.д. - это называется выравнивание). Видно, что в тех видах, где четвертая аминокислота изменилась, изменилась и восьмая.

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

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

Поэтому вместо того, чтобы пытаться выделить одну бактерию и отсеквенировать именно ее, народ стал просто "зачерпывать" ДНК из окружающей среды и секвенировать (прочитанная из среды ДНК стала называться метагеномной) - и в этом бульоне оказалось гораздо больше разнообразия белков, чем было известно до этого. Сергей Овчинников из Гарварда придумал, что это разнообразие можно использовать и для получения данных о коэволюции - и предсказания удалось улучшить еще больше.

Затем в районе 2016 - CASP'12 - случилась новая революция: все стали использовать нейронки для оптимизации структур. Со временем устоялся более-менее один и тот же подход.

Кривые показывают результаты победителя и второго призера CASP, курсивом выделен ожидавшийся результат победителя CASP13, если бы сохранялись темпы прогресса с CASP11 и CASP12. Доверительные интервалы - 95%, оценка резульатов победителей по версии организаторов конкурса (там разные лаборатории предлагают несколько разные оценки результатов). Взято из прекрасного блог поста Мохаммеда Аль-Краиши.

К началу CASP'13 несколько научных групп сообразили, что про каждую пару остатков нужно говорить не просто сближены они или нет, а стараться определить расстояние. И тут бы одна из групп-пионеров в этой области и победила... Но на сцену ворвался DeepMind.

Как все было?

Все началось как хакатон. Один из сотрудников DeepMind для интереса попробовал за выходные запустить предсказание 3D-структуры белка, и добился неплохих результатов.

Затем сотрудники DeepMind пообщались со структурным биоинформатиком и соавтором системы классификации пространственных структур CATH Дэвидом Джонсом из Crick Institute при University College London (там в свое время переучивался на машиниста Демис Хассабис). Тот объяснил им, как устроен современный биоинформатический пайплайн предсказания 3D-структур белков.

2019 02 08 10 14 16
Современный пайплайн предсказания 3D-структуры белков

Ребята из DeepMind не стали сильно заморачиваться с биологией, и сразу взялись за серединку этого пайплайна - нейронную сетку - и инженерию фич для нее.

Я не смогу пересказать всего, что сделала эта команда. Они перебрали около сотни разных структур нейронок и остановились вот на такой:

IMAGE 2019 02 08 22 18 23
Deep Dilated Convolutional Residual Network

В качестве обучающей выборки они взяли все извесные структуры из главной мировой бызы 3D-структр PDB, которая содержит в себе около 150 тысяч структур, но большинство из них сильно повторяются, так что реальный размер выборки составлял лишь порядка 30 тысяч структур. Это очень мало для машинного обучения.

IMAGE 2019 02 08 22 18 27
Датасет из PDBe (EBI-евская база данных 3D-структур)

Поэтому они сделали изящную аугментацию данных, "пошатав" отдельные спирали и листы известных 3D-структур, что, кстати, вполне соответствует биологической природе белков - они так в растворе и шатаются.

Они придумали также огромное количество других приемчиков. Они хитрили с определением границ доменов. Они заменили матрицу расстояний между остатками на матрицу распределений расстояний. Они посреди конкурса поменяли градиент с симулированного отжига на l-BFGS. Они колдовали с торсионными углами в белках, чтобы сделать их реалистичными...

IMAGE 2019 02 08 22 17 05
Дистограммы - распределения расстояний между аминоксилотами

И что дальше?

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

Так все же что это было?

Это была абсолютно титаническая инженерная работа. Они практически не коснулись биологии совсем, почти ничего нового не придумали. Просто очень, очень хорошо исполнили machine learning'овую часть и положили на нее очень много усилий превосходных инженеров. По-видимому, к чему-то подобному шла и биоинформатика, и наверное к следующему-позаследующему CASP'у пришла бы и независимо. Победа DeepMind - это не революция, а эволюция и преимущественно не фундаментальная наука, а виртуозная инженерия.

В соавторах работы 15+ человек, по-видимому, основной вклад внесли шестеро. Сам Эндрю Сеньор занимался нейронками еще с 1994 года - представьте, какой колоссальный опыт был накоплен им за четверть века.

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


Boris Burkov

Written by Boris Burkov who lives in Moscow, Russia and Cambridge, UK, loves to take part in building future technologies, think about the world, we're living in at present and admires the giants of the past. You can follow me on Telegram