Всё это — игра в программирование жизни | 02 декабря 2023 года, 16:15

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

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

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

Так вот, каждый из этих 20000 генов кодирует белки для всякого разного, например как строительный материал для 230-400 типов клеток. Белок – это такая трехмерная структура из аминокислот. Всего 26 разных аминокислот существует. Легче себе представить, как запутавшаяся нитка с бусинками, где одни бусинки 26 видов отталкиваются друг от друга, другие притягиваются друг к другу, короче, что-то одно если не так сработало, и весь белок в виде запутавшейся нитки с бусинками может получиться, а может и не получиться. Вот таких аминокислот, бусинок, как сказал, 26, и последовательность определяет какой белок получится. Собственно, “программа” представляет собой набор “триплетов” (трехзначный код), которые транслируются в аминокислоты, а те выходит создают в итоге белок, который выплевывается в организм и дальше встает на нужное место. Кстати, отдельно ещё интересен факт, что этот генетический код один на все живые существа на планете (Ну почти, очень очень редкие исключения есть, но там совсем мелкая разница). Ну еще стоит напомнить, что эта программа с первого дня жизни форкается миллиарды раз, и в каждом из нас есть 30 триллионов инстансов. При копировании еще ошибки накапливаются, так что существенная часть от этих 30 трлн (вероятно, все) — это слегка измененные по отношению к друг другу программы. Ну да, еще стоит отметить, что люди различаются одним процентом ДНК. То есть, 99% делает нас такими, чтобы мы в принципе выживали как-то, а 1% добавляет уникальности — все, начиная от черт лица, заканчивая манерой мыслить.

Так вот, к чему это введение. Вопрос, как настолько сложный организм может быть запрограммирован настолько простой программой (напомню, всего 3Гб кода, из которого хорошо если 1% вообще по делу, остальное хрен знает что).

И вот что выяснилось. Это эволюция сделала эту программу такой, что она изменяет сама себя в определенном, хорошо отлаженном, направлении, допуская совсем немного случайности в этот процесс. Вот представьте, у вас есть программа, которая считает и выдает число пи. А дальше в этой программе убираются три байта, и она начинает выдавать число е, а дальше убираются еще какие-то три байта, и она начинает выдавать постоянную планка, а дальше убираются еще пять байт, и вот тебе и константа g. Хорошая аналогия — пластинка. Ставите — играет одну музыку. Дальше в ней хитрым образом делаются царапины, что игла прыгает туда-сюда, и музыка уже другая, но это все еще музыка, а не шум. Если представить себе строение организма как набор интераций в пределах клетки, каждая из которых рождает белок и куда-то его прилепляет, то на каждой N+1 итерации эта программа претерпевает небольшие коррекции, запланированные природой методом проб и ошибок, и таким образом условно через условно 100 поколений клетка начинает плодить белки для условно печени, а потом еще через условно 300 поколений для условно кожи. Эти коррекции называются факторами экспрессии генов. Фактически это всякое плавающее в клетке, которое или пришло снаружи, или было рождено на предыдущих поколениях. Если оно пришло снаружи, то это может быть даже из окружающей среды, а могут быть химические сигналы из других частей организма. Например, рождается ребенок у мамы, и очевидно, клетки об этом “знают”. Вот этот механизм меня в свое время очень удивил. Как можно так написать программу, чтобы она работала на протяжении всей жизни организма по-разному в зависимости от результатов предыдущих итераций! Но как мы на своем опыте видим, оно как-то работает, и даже более-менее надежно.

Если проводить аналогию с программированием, то программа у нас одна и та же, но вместо параметров она принимает на вход “маску”, экранирующую некоторые из инструкций. Маска подобрана так, что получившаяся программа продолжает работать и делать что-то полезное. Ну это как с тем примером, была программа для генерации числа пи, применили маску, получилась программа для генерации числа e. Эволюция перебирала разные маски и выживали те, в результате которых полезное продвигало все на итерацию вперед, на N+1. Для многоклеточных существ это все еще происходило асинхронно и синхронно одновременно. Асинхронно, потому что клетка А не знает о состоянии клетки Б и в какой итерации та находится. У обеих клеток программа что-то выдает и продвигается на следующую итерацию. А синхронно потому что ферменты (считай часть маски А) могут зависеть от результатов работы Б, то есть, Б должна предшествовать, значит синхронность налицо. И вот этот механизм очевидно чаще не работает, чем работает, но поскольку он испытывается на уровне клеток (у нас их 3 триллиона) и на уровне живой единицы (в случае бактерий это вообще число, не поддающееся подсчету, потом одноклеточные, потом многоклеточные, там какие-то дикие числа) и все это в течение миллионов лет, то вполне верится, что случайные “маски”, приводящие к продвижению дальше к N+1, встречаются не так уж и редко. Вот так постепенно, и получилось то, что получилось.

В среднем клетки делятся 52 раза, потом умирают (апоптоз) (исключение – раковые клетки) Это называется пределом Хейфлика и связано с теломерами — возможно вы слышали про эксперименты по продлению жизни за счет восстановления теломер. Клеток у нас три триллиона, время жизни у разных клеток разное. ДНК в каждой клетке своя, плюс еще и из-за неизбежных мутаций слегка другая, чем у соседа. В итоге, программа пальцев рук, ног, рук, ушей там в виде одного события, которое срабатывает симметрично в одно и то же время в какой-то итерации. И следующие итерации просто доделывают начатое. Если что-то сбоит на уровне генов, то проблемы получаются сразу с двух сторон. А если с чем-то критичным, то оно на следующих итерациях начинает гнать неожиданные ферменты, которые все ведут не туда и чаще всего заканчивается выкидышем. В общем, там жизнь кипит 🙂

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

Вообщем, все это дико интересно. И кажется, это бездонная бочка знаний. Я бы сейчас школьникам порекомендовал не в айти идти, а в life science. Самые значительные открытия в следующих 10-20 годах, я считаю, будут там. Ну и да, довольно скоро и мозг подключат к AI. Все для этого уже есть, осталось слегка “допилить” (как раз лет 20 должно хватить)

Оставьте комментарий