Белок в клетке похож на крошечную машину: у каждой свой чёткий чертёж и своя задача. Одни белки режут молекулы, другие переносят кислород, третьи ловят свет. Чтобы создать такой механизм с нуля, нужно решить две проблемы сразу: придумать, какую работу он будет делать, и как ему при этом свернуться в правильный узелок. Если узелок собьётся, машина застрянет или сломается.
Обычные компьютерные методы часто разводят эти задачи по разным углам — сперва придумывают работу, потом подгоняют под неё форму. Авторы новой модели CodeFP поступили иначе. Они научили программу «говорить» на языке белка так, чтобы в каждом её слове — каждой аминокислоте — уже была зашита и будущая роль, и будущий изгиб. Модель смотрит на крошечные петли и спиральки (локальные структуры) не как на пассивный каркас, а как на активных помощников — они подсказывают, где белок будет цепляться за другие молекулы или гнуть свою цепь.
Чтобы модель не путалась в догадках — ведь одному и тому же узору из аминокислот может отвечать несколько вариантов укладки — ей добавили дополнительную проверку. Как учитель, который заглядывает в тетрадь и тихо поправляет: «вот здесь функция, не забывай». Результат — белки, которые на 6% чаще делают именно то, что задумано, и на 3% реже сворачиваются в бесполезный комок.
В будущем такие белки-конструкторы смогут ловить токсины в воде, доставлять лекарства точно в больную клетку или собирать солнечный свет для чистой энергии. И всё это — без оглядки на миллионы лет эволюции, с чистого листа.
Белок из 100 аминокислот может свернуться в такое число форм, что если перебирать их по одной в секунду, Вселенной не хватило бы времени с момента Большого взрыва — а в клетке это занимает доли секунды.