Разработчики из DeepMind представили вторую версию алгоритма для предсказания трехмерной структуры белка по последовательности аминокислот — AlphaFold 2. Алгоритм определяет структуру белка со средней точностью в 92,4 балла из 100, то есть может правильно определить расположение в цепочке 92,4 процента аминокислотных остатков — больше, чем любой другой подобный алгоритм. Подробнее о разработке рассказывается в блоге DeepMind.
Предсказанная алгоритмом и экспериментально полученная структура белков
При трансляции — считывании информации с матричной РНК молекула белка начинает формироваться как полипептид — линейная цепочка аминокислотных остатков без стабильной структуры. Далее, в зависимости от химических свойств аминокислот (электрического заряда, гидрофобности и гидрофильности) и их взаимодействия друг с другом, цепочка сворачивается. Таким образом формируется трехмерная структура белка, от которой, в свою очередь, полностью зависят его функции, а также то, как он взаимодействует с другими белками и веществами (например, лекарствами).
Определить аминокислотную последовательность белка довольно просто, а вот механизм его сворачивания до сих пор до конца неясен. Именно поэтому в последние несколько десятков лет исследователи пытаются найти способ, с помощью которого можно было бы предсказать конечную трехмерную структуру белка. Это, с учетом всех возможных последовательностей аминокислот и взаимодействия между ними, сложно на уровне вычислений: например, если взять последовательность из 101 аминокислоты и 100 связей между ними, у каждой из которых может быть три возможных состояния, то вариантов структур у конечного белка будет 3100 — и понадобится несколько тысяч лет, чтобы перебрать их все.
Немного ускорить процесс предсказания структуры белка по аминокислотной последовательности помогли нейросети: в конце 2018 года компания DeepMind показала AlphaFold — алгоритм, который принимает на вход последовательность аминокислот и на выход выдает расстояние и углы связей между ними, что позволяет восстановить структуру. Тогда алгоритм по точности и скорости правильных вычислений превзошел все другие существующие алгоритмы и занял первое место на соревнованиях предсказания структуры белка CASP, которые проходят с 1994 года.
Сейчас разработчики представили вторую, улучшенную версию алгоритма — AlphaFold 2. Конечную последовательность аминокислот в белке он рассматривает в виде графа, где вершины — это аминокислотные остатки, а ребра — связи между ними. Задача алгоритма (в его основе — нейросеть с блоком внимания, предположительно — рекуррентная) — определить связи между аминокислотными остатками, учитывая уже известных похожих и эволюционно родственных белков. После этого из получившихся связей выстраивается конечная трехмерная структура белка.
Для разработки AlphaFold2 исследователи использовали данные о структурах примерно 170 тысяч белков, а весь процесс обучения занял несколько недель, что, по словам разработчиков, не так много. Точность работы алгоритма оценили на недавней конференции CASP: AlphaFold2 занял первое место, набрав 92,4 из 100 возможных баллов (оценка — процент правильно расположенных аминокислотных остатков в цепочке белка). Для сравнения, предыдущая версия AlphaFold на CASP два года назад набрала чуть меньше 60 баллов (максимум ей удалось набрать 87). Погрешность расположения остатков в свернутой алгоритмом структуре составила 1,6 ангстрема, что сопоставимо с экспериментальными методами.
Понимание структуры белка важно не только для биологических, но и медицинских исследований: в частности, с помощью AlphaFold2 разработчикам удалось определить структуру нескольких белков коронавируса SARS-CoV-2, включая неизвестную ранее структуру ORF3a и ORF8 (ее структуру предсказывали на CASP). Классические методы определения структуры белка с помощью рентгеноструктурного анализа или ядерного магнитного резонанса, которые используются сейчас, пусть и эффективны, но требуют довольно много времени и работы. Разработка определяющих структуру алгоритмов, вроде AlphaFold, позволит значительно ускорить и упростить этот процесс.
Источник: N+1