Канадские ученые из университета Альберты с характерными для современной американской науки именами Цзе Чэнь (Jie Chen) и Ин Цуй (Ying Tsui) выступили с еще более необычным сообщением. Они разработали ультразвуковой генератор, который крепится на челюсти, как зубная скоба, и вызывает восстановление сломанных зубов. Важное условие — чтобы, как часто бывает при ударах, в толще челюсти остались живые корни зуба. Эти два инженера опирались на результаты Тарека эль-Биали (Tarek El-Bialy), медика из того же университета, который смог при помощи более крупного устройства вызвать восстановление утраченных зубов у кроликов.
Наконец, добавьте к вышеупомянутым фактам широкий круг феноменов, связанных с действием стволовых клеток (это настолько обширная тема, что она заслуживает отдельного обсуждения), и вы поймете, что речь идет о многочисленных возможностях для восстановления структур, потеря которых ранее казалась необратимой. Конечно, главные следствия из этих и аналогичных историй носят практический характер. Тем не менее рискнем затронуть и некоторые теоретические аспекты.
Изложенные здесь факты плохо согласуются с представлением об организме как о пошаговой реализации генотипа. Если бы наши свойства были результатом развертывания жесткой программы, не существовало бы никакого механизма для корректировки аномалий в случае серьезных отклонений от нормы.
Предположим, мы смогли разбить нормальный онтогенез на множество запрограммированных шагов: включений тех или иных генов и вызванных ими преобразований развивающейся системы. За шагом 1 следует шаг 2, за шагом 27 — шаг 28 и так до конца. В зависимости от исходной наследственной программы у нас должен получиться то ли читатель «Компьютерры», то ли ее автор, то ли редактор. Кажется, все понятно; примерно так же инсталлируется компьютерная программа. Однако жестко запрограммированными могут быть только те шаги, которые неоднократно проходились в ходе эволюции системы управления. Как быть с нештатными ситуациями — вариантами 28a, 28b, 28c, 28d и так далее, одни из которых являются достаточно вероятными отклонениями от нормальной траектории, а другие — серьезными повреждениями?
Как возникает приспособленность? Общий ответ — в результате предшествующего отбора. Например, способность заживлять раны можно рассматривать как результат соответствующего отбора — те, кто успешнее их заживляли, чаще оставляли потомков. Но отбора на способность восстановления мозга в результате двадцатилетнего пребывания в коме не было и не могло быть до конца XX века!
Инсталляторы программ или включают отдельные инструкции на случай всех предусмотренных вариантов, или игнорируют отклонения траекторий развития, или выдают сообщения об ошибках. У некоторых организмов (например, у круглых червей) управление индивидуальным развитием организовано сходным образом. Несомненно, что наша программа задана иначе. Впервые это отчетливо осознал немецкий эмбриолог Ганс Дриш, который изучал в начале XX века развитие морских ежей (без издевки: наших близких родственников, особенно с точки зрения эмбрионального развития). Из плавающей в толще воды личинки развивается морской еж. А что получится из половинки разрезанной экспериментатором личинки — пол-ежа? Нет, целый еж, только в два раза меньшего размера!
Что же управляет развитием личинки, которая из неестественного промежуточного положения «выруливает» к предусмотренному финалу? Чтобы ответить на этот вопрос, Дришу понадобилось слово «энтелехия», взятое из философии Аристотеля. По Дришу, энтелехия — это отрицание законов причинности в функционировании живой материи. Думается, Дриш был неправ — причинность действует и в этом случае, только она носит особый характер. Развитие саморегулирующейся системы может управляться заданным для нее конечным состоянием, что позволяет прийти в нужную точку из широкого диапазона возможных промежуточных состояний.
А как же программа управления развитием, которая реализуется через последовательное включение требуемых генов? Да никак. В одних случаях наш организм управляется таким образом, а в других — иным.
Рассмотрим условный пример, связанный с программированием двух роботов. Первый должен взять заготовку в одной точке, определенным образом повернуть и поместить в другую точку. Второй — автопилот, который должен привести автомобиль в нужное место. Программа первого вполне может быть жесткой последовательностью инструкций, охватывающих все пространство возможностей. Однако предусмотреть все состояния и положения автомобиля в строго детерминированной программе невозможно. Что делать? Задать автопилоту карту и обучить выстраивать по ней маршрут к нужной точке. Впрочем, некоторые фрагменты и такой программы вполне могут включать жесткие последовательности инструкций.