Основы биологии для инженеров (Часть 1. Конструкции)

от автора

Всем привет. Прежде всего хочу поблагодарить хабровчан за объективную критику и содержательные комментарии к предыдущей статье. Многие замечания помогли точнее увидеть слабые места, отделить инженерную аналогию от обобщений и лучше сформулировать, куда двигаться дальше.

Джеймс Гордон, «Конструкции. Почему они стоят и почему разваливаются» — одна из книг, вдохновивших эту статью.

Джеймс Гордон, «Конструкции. Почему они стоят и почему разваливаются» — одна из книг, вдохновивших эту статью.

Сегодня поговорим про конструкции.

Почему конструкции? Ну потому что некоторые природные реализации проще всего показать инженерам именно через них.

Эта статья была немного вдохновлена книгой Джеймса Гордона «Конструкции. Почему они стоят и почему разваливаются». Крайне рекомендую к прочтению.

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

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

Белок может распознать внешнюю молекулу или изменение среды, изменить собственную форму, передать сигнал дальше, запустить химическую реакцию, открыть канал в мембране, переместить груз или создать механическое усилие.

Работа над ошибками.

В прошлой статье я упомянул, что «ДНК — это веса сети, а внутреннее состояние клетки — её текущий контекст и активации». Это отсылка к работам Михаила Левина (Michael Levin) о морфогенезе и агентском интеллекте.

Крайне рекомендую это видео к просмотру, если есть желание понять, что именно имелось в виду, и как «Интеллект» может быть реализован на белках в виде физических взаимодействий и вычисляемой логики.

Пример регуляторных сетей. Узлы соответствуют генам или белкам, а линии — связям между ними. Визуально такая структура заметно напоминает граф нейронной сети, хотя физический смысл узлов и связей здесь другой.

Пример регуляторных сетей. Узлы соответствуют генам или белкам, а линии — связям между ними. Визуально такая структура заметно напоминает граф нейронной сети, хотя физический смысл узлов и связей здесь другой.

Если загуглить изображения по запросу «регуляторная сеть генов», сходство с привычными схемами нейронных сетей бросается в глаза. Те же узлы, те же связи, те же сложные контуры взаимного влияния.

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

Также в прошлой статье было сказано: «А генетический алгоритм может подобрать любую, но он просто очень медленный».

Это отсылка к очень интересному видео, в котором сравниваются эволюционный и градиентный алгоритмы обучения.

Если и дальше по ходу статьи заметите ошибки, неточности или слишком плохие обобщения, прошу не кидаться помидорами. Конструктивная критика, замечания и уточнения приветствуются.

Уровень ниже

Чтобы разобраться в работе белков, придётся спуститься ещё на один уровень ниже.

Чтобы разобраться в работе белков, придётся спуститься ещё на один уровень ниже.

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

Обычно описание белка выглядит примерно как на картинке: название, набор идентификаторов, метод определения структуры, разрешение, цепи, домены, комплексы, ссылки на публикации и трёхмерная модель, которая без подготовки тоже мало что объясняет.

Типичная карточка белковой структуры в базе данных.

Типичная карточка белковой структуры в базе данных.

Чтобы хотя бы приблизительно разобраться в физике работы белков, пришлось прочитать много книг и статей, просимулировать много разных моделей и потратить на это не один год. И только спустя время начало складываться понимание того, на чём вообще строится фундамент белковых конструкций.

Ну и, как любой инженер, я задался вопросом: это, конечно, всё замечательно, но что лежит в основе? Почему белки устроены именно так, а не как-то иначе? Есть ли под всем этим какой-то общий фундамент, из которого уже вырастают все эти формы, функции и механизмы?

И тут мы приходим к электростатике. Электродинамика и уравнения Максвелла тоже никуда не исчезают, но для первого приближения нам хватит взаимодействия зарядов. Квантовые эффекты в белках тоже встречаются. Например, в светящихся белках. Но это мы пока вынесем за рамки статьи и рассмотрим только общий случай.

Белки почти всегда находятся в воде. А вода полярна и экранирует заряды. То есть положительные и отрицательные участки белка всё ещё взаимодействуют между собой, но вода заметно ослабляет это взаимодействие. Растворённые в ней ионы тоже вносят свой вклад.

Теперь про магнитное поле.

Магнитные эффекты в клетке есть, но в обычной работе большинства белков они намного слабее электрических. Для сравнения: в аппаратах МРТ используют магнитные поля порядка 1,5–3 тесла, а иногда и выше. Но даже такое мощное поле не начинает двигать заряды по клетке как в электродвигателе. Оно лишь немного ориентирует магнитные моменты ядер водорода, после чего прибор регистрирует их отклик.

Поэтому магнитными эффектами в нашем понимании белков можно пренебречь.

И тогда в первом приближении у нас остаются электрические взаимодействия. Положительные и отрицательные заряды притягиваются и отталкиваются. Если сдвинуть один заряд, изменится поле вокруг него. Если сдвинуть несколько — изменится вся конфигурация сил.

И вот тут начинается самое интересное. Потому что даже из простой динамики положительных и отрицательных зарядов можно получить довольно сложное поведение.

Если хитро расставить заряды в пространстве, то можно условно «запрограммировать» поведение системы. Одни участки будут притягиваться, другие отталкиваться, третьи срабатывать только после того, как изменилась конфигурация соседних.

В результате из довольно простых взаимодействий можно получить сложные действия: переключения, последовательные переходы между состояниями, направленное движение и многоступенчатые механизмы.

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

Упрощённая модель связывания лиганда. Заряды и упругие связи сами создают нужную динамику: конструкция притягивает объект и меняет форму вокруг него. Отдельной команды «распознать» или «закрыться» в модели нет.

Упрощённая модель связывания лиганда. Заряды и упругие связи сами создают нужную динамику: конструкция притягивает объект и меняет форму вокруг него. Отдельной команды «распознать» или «закрыться» в модели нет.

Мы задали только форму конструкции, упругие связи и несколько зарядов. После появления положительно заряженного объекта отрицательные участки конструкции начинают притягиваться к нему. В результате меняется форма всей системы, и она закрывается вокруг объекта. Отдельной команды «распознать» или «закрыться» в модели нет. Поведение возникает из геометрии и взаимодействия зарядов.

То есть на этих принципах мы фактически можем получить базовые логические элементы: «И», «ИЛИ», «НЕ», а также циклы, переключения и ветвления.

Один участок может срабатывать только при наличии сразу двух сигналов. Другой при появлении любого из них. Третий, наоборот, блокировать переход. А если связать несколько таких элементов между собой, можно получить последовательность состояний и обратные связи.

Ничего не напоминает?

Когда вычисления происходят не в кремнии, а прямо в механике конструкции.

Когда вычисления происходят не в кремнии, а прямо в механике конструкции.

По сути, перед нами уже простейшая вычислительно-исполнительная система. Только вместо транзисторов у неё заряженные участки молекулы, а вместо электрических импульсов конформационные изменения и связывание других молекул.

Но чтобы такая система не просто переключалась, а могла снова и снова выполнять работу, ей нужен источник направленных изменений. И тут мы наконец приходим к тому, что всю жизнь называли «энергией клетки». В симуляции направление мы задали сами, но в реальной системе нужен внутренний источник энергии.

Энергия

Про АТФ обычно говорят очень просто: «АТФ — это энергия клетки». А что под этим понимается? Какая энергия, для чего? Где именно находится эта энергия? Что значит «потратить АТФ»? Каким образом одна молекула заставляет белок двигаться, закрываться, открываться или переносить груз?

Внятного объяснения на уровне конструкции я долго не находил. Обычно всё заканчивалось схемой:

АТФ -> АДФ + фосфат + энергия.

Формально всё верно. Но инженерного понимания такая запись почти не даёт. Она не объясняет, как химическая реакция превращается в конкретное механическое действие.

Чтобы это понять, полезнее смотреть на АТФ не как на маленькую батарейку, а как на молекулу, которая меняет состояние белковой конструкции.

АТФ сильно заряжена. Когда она связывается с белком, её заряды начинают взаимодействовать с заряженными участками белка. Меняется конфигурация сил, а вместе с ней может измениться и форма белка.

Упрощённая модель работы АТФ. Связывание АТФ меняет распределение зарядов и форму белковой конструкции. После гидролиза АТФ распадается на АДФ и фосфат, конфигурация сил снова меняется, и белок переходит в следующее состояние.

Упрощённая модель работы АТФ. Связывание АТФ меняет распределение зарядов и форму белковой конструкции. После гидролиза АТФ распадается на АДФ и фосфат, конфигурация сил снова меняется, и белок переходит в следующее состояние.

В приведённом примере АТФ подходит к белковой конструкции и связывается с ней. За счёт своих заряженных фосфатных групп она меняет распределение сил внутри белка. Одни участки начинают сильнее притягиваться, другие отталкиваться, и конструкция меняет форму.

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

Альфа-спирали и бета-листы

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

Белок собирается из цепочки аминокислот. Но эта цепочка не остаётся просто ниткой. За счёт взаимодействий между её участками она начинает укладываться в более устойчивые формы.

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

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

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

Где-то связалась молекула, где-то поменялся заряд, спираль немного провернулась или согнулась, и уже на другом конце что-то открылось, закрылось или сместилось.

Бета-лист работает как плоский каркас, хорошо держит форму и распределяет нагрузку между соседними участками.

Бета-лист работает как плоский каркас, хорошо держит форму и распределяет нагрузку между соседними участками.

Бета-лист работает по-другому.

Это несколько участков цепочки, уложенных рядом. Получается более плоская и жёсткая конструкция. Она хуже подходит на роль пружины, зато хорошо держит форму и распределяет нагрузку.

Если совсем грубо, то альфа-спираль это пружина или рычаг, а бета-лист это пластина или каркас.

При этом механические свойства спирали и листа зависят от того, какие аминокислоты входят в их состав.

Понятно, что в реальных белках всё сложнее, но для первого приближения такая механика вполне работает.

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

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

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

Конформационный ансамбль убиквитина, сгенерированный BioEmu

Конформационный ансамбль убиквитина, сгенерированный BioEmu

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

Чтобы это показать, берем последовательность убиквитина и прогоняем её через BioEmu. Это модель, которая по аминокислотной последовательности генерирует набор возможных конформаций белка. После этого сортируем их по сходству и собираем в анимацию. Это хорошо помогает увидеть, насколько подвижной может быть белковая конструкция.

НО это не реальная траектория движения во времени. BioEmu выдаёт набор возможных состояний, а порядок кадров и плавные переходы между ними добавлены уже для наглядности. Но для понимания общего принципа, мне кажется, такой визуализации вполне достаточно.

Тут видно главное. Белок двигается не как бесформенная верёвка. Внутри него есть участки, которые сохраняют форму заметно лучше остальных.

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

Ну куда ж без AI

Ещё недавно для чего-то похожего пришлось бы запускать долгую молекулярную динамику на очень мощном железе или суперкомпьютере. Нужно было готовить систему, подбирать параметры, считать взаимодействия атомов и потом разбираться с огромной траекторией.

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

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

Самый известный пример это AlphaFold-Multimer. Он был специально обучен предсказывать структуры белковых комплексов и расположение цепей относительно друг друга. Более новый AlphaFold 3 работает не только с белками, но и с ДНК, РНК, ионами и небольшими молекулами. Есть и открытые альтернативы, например RoseTTAFold All-Atom и Chai-1. Они тоже предсказывают комплексы из нескольких молекул и предполагаемые поверхности взаимодействия.

Ок, а зачем это всё?

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

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

То есть путь получается примерно такой:

ДНК -> белки -> форма -> динамика -> взаимодействия -> функция.

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

Теоретически такой пайплайн можно даже частично автоматизировать. Раньше значительную часть вариантов приходилось перебирать в лаборатории. Теперь всё больше кандидатов можно сначала отсеять вычислительно, а в эксперимент отправить уже наиболее перспективные.

Это не означает, что ИИ внезапно отменил биологию, эксперименты и клинические испытания. Но он может сильно сократить пространство поиска, а значит, потенциально ускорить разработку лекарств и сделать её дешевле.

В общем, белки это не просто красивые ленточные модели из базы данных. Это подвижные конструкции, которые воспринимают сигналы, меняют форму, соединяются друг с другом и выполняют работу.

И чем лучше мы понимаем их механику, тем ближе подходим к тому, чтобы не просто наблюдать биологию, а проектировать её.

Итого

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

Теперь попробовали в общих чертах понять, как внутренний алгоритм клетки реализуется через устройство и взаимодействие белков.

Я не стал подробно разбирать очевидные вещи вроде того, что белки состоят из аминокислот. Вместо этого постарался немного глубже посмотреть именно на инженерную механику клеточных устройств.

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

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

ссылка на оригинал статьи https://habr.com/ru/articles/1058028/