Белок в клетке не статичен, как манекен в витрине. Его атомы непрерывно колеблются, растягиваются и изгибаются — подобно натянутой гитарной струне, которая продолжает вибрировать после щипка. Чтобы понять функцию белка, необходимо оценить жёсткость связей между его участками. Физики описывают это через матрицу вторых производных энергии, но наглядно её можно представить как карту «пружинок» между атомами: где связь жёсткая, а где податливая.
Ранее построение такой карты для крупных молекул требовало суперкомпьютеров и занимало часы или даже дни. Новый алгоритм обучается на небольших молекулах — отдельных аминокислотах, из которых, словно из деталей конструктора, собираются белки. Затем он переносит полученные закономерности на белок из тысяч атомов и вычисляет карту пружинок за секунды. Важно, что расчёт ведётся во внутренней системе координат молекулы, а не относительно лабораторной системы отсчёта, поэтому результат не изменяется при повороте или смещении молекулы.
Такая вычислительная скорость открывает новые перспективы. Можно быстро протестировать тысячи вариантов лекарственных соединений, чтобы найти то, которое наиболее прочно связывается с белком-мишенью. Или исследовать, как мутация изменяет жёсткость белка. Раньше это было слишком ресурсоёмко, теперь — вопрос нескольких минут.
Аминокислоты, на которых учили нейросеть, — это как буквы алфавита: их всего 20, но из них собираются все белки в нашем теле.