Существует предположение, что разница между двумя соседними клетками имеющими совершенно одинаковый генотип, но разные функции, заключается в том, что, благодаря подавлению различных сегментов их геномов, у них оказываются различные наборы активных белков. Эта гипотеза объясняет феноменальные различия между клетками в разных органах человеческого тела.
Два простых примера различия
Процесс, при помощи которого одна первоначальная клетка воспроизводится снова и снова, порождая множество различных клеток со специальными функциями, можно сравнить с распространением некоего письма по цепочке, где каждый человек должен скопировать первоначальное послание, при этом добавив к нему нечто свое. Через некоторое время письма будут очень отличаться друг от друга.
Еще одним примером идеи дифференциации является простая компьютерная аналогия различающего авто-репа. Представьте себе коротенькую программу контролирующуюся при помощи переключателя с двумя позициями, А и В. Внутренний параметр программы — натуральное число N. Программа может работать в двух режимах А или В. Когда она работает в режиме А, она самовоспроизводится в соседнем районе компьютерной памяти — но при этом новый, «дочерний» параметр N возрастает на единицу. Работая в режиме В, программа не самовоспроизводится — вместо этого она вычисляет величину выражения:
(-1)/(2N+1)
и добавляет результат к накопленной общей сумме.
Предположим, что в начале в памяти имелась одна копия программы, N = 0, и программа находилась в режиме А. Результатом явится копия программы в соседнем районе памяти, N будет равняться 1. Повторив процесс, мы получим новую копию в соседнем районе памяти, с N = 2. И так далее, и тому подобное… Память при этом загружается большой программой. Когда память заполняется, процесс останавливается. Теперь мы можем считать, что память занята одной большой программой, составленной из множества похожих, но дифференцированных модулей — «клеток».
Теперь представьте, что мы переключаем эту большую программу на режим В. Что при этом получается? Первая «клетка» дает 1/2. Вторая «клетка» дает -1/3 и добавляет это к предыдущему результату. Третья «клетка» добавляет к общей сумме +1/5 …
В результате весь «организм» — большая программа — вычисляет сумму ряда:
1 -1/3 +1/5 -1/7 +1/9 -1/11 +1/13 -1/15 +…
Число членов этого ряда равно количеству «клеток», умещающихся в памяти. И поскольку этот ряд сходится (хотя и медленно), стремясь к π/4, его можно назвать «фенотипом», чья функция — вычисление величины знаменитой математической постоянной.
Смешение уровней в клетке
Я надеюсь что описание таких процессов как «наклеивание ярлыков», самосборка, дифференциация, морфогенез, а также транскрипция и трансляция, помогли читателю глубже понять необычайно сложную систему клетки — систему обработки информации, обладающую некоторыми удивительными чертами. На схеме Централизованной Догмы мы видели, что хотя мы и можем попытаться провести четкую границу между программой и данными, это различие в каком-то смысле произвольно. Более того, переплетены между собой не только программа и данные — в этом переплетении участвуют также интерпретатор, физический процессор и даже язык программы. Таким образом, хотя в какой-то степени и возможно провести границы между уровнями и разделить их, важно также иметь в виду перекрещивание и смешение уровней. Примером этого является тот удивительный факт, что в биологических системах все подсистемы, необходимые для самовоспроизводства (язык, программа, данные, интерпретатор и процессор) так тесно сотрудничают, что все они воспроизводятся одновременно! Это показывает, насколько биологический авто-реп глубже всего, что пока удалось создать в этой области людям. Например, программа авто-репа, изложенная в начале этой главы, опирается на существование трех внешних факторов: язык, интерпретатор и процессор; ни один из этих факторов программой не воспроизводится.
Постараемся подвести итоги сказанному и посмотрим, как можно классифицировать различные подсистемы клетки в компьютерных терминах. Для начала возьмем ДНК. Поскольку в ней содержится вся информация для построения белков — активных действующих лиц клетки — ДНК можно сравнить с программой, написанной на языке высшего уровня, которая затем переводится (или интерпретируется) на «машинный язык» клетки (белки). С другой стороны, сама ДНК — пассивная молекула, которая претерпевает различные изменения под действием энзимов. В этом смысле ДНК напоминает набор вводных данных. Кроме того, ДНК содержит «эталоны», по которым строятся «карточки» тРНК, — это означает, что в ДНК есть также свой собственный язык высшего уровня.
Теперь перейдем к белкам. Это активные молекулы, отвечающие за функционирование клетки; следовательно, мы можем думать о них, как о программах на «машинном языке» клетки (сама клетка соответствует в нашей аналогии процессору). С другой стороны, поскольку белки относятся к аппаратуре, а большинство программ — к программному обеспечению, может быть, точнее было бы назвать белки процессорами. Кроме того, белки часто воздействуют друг на друга, что уподобляет их вводным данным. Белки можно также назвать интерпретаторами, если считать ДНК набором программ на языке высшего уровня; в этом случае, энзимы просто выполняли бы программы, написанные на коде ДНК — иными словами, белки работали бы как интерпретаторы.
Далее перейдем к рибосомам и молекулам тРНК. Они способствуют переводу из ДНК в белки, что можно сравнить с переводом программы, написанной на языке высшего уровня, на машинный язык. Таким образом, рибосомы действуют как интерпретаторы, а молекулы тРНК определяют язык высшего уровня. Существует, однако, другая точка зрения на трансляцию, утверждающая, что рибосомы — процессоры, в то время как тРНК — интерпретаторы.
Мы затронули анализ взаимоотношений между этими биомолекулами только поверхностно. При этом мы увидели, что природе нравится смешивать уровни, которые, с нашей точки зрения, кажутся весьма различными. В действительности, в теории вычислительной техники уже сейчас существует тенденция смешения этих, кажущихся такими разными, уровней системы обработки информации. Особенно это верно в области исследований по Искусственному Интеллекту, обычно идущих во главе разработки компьютерных языков.
Происхождение жизни
После знакомства с так сложно переплетенными подсистемами аппаратуры и программного обеспечения возникает естественный и важный вопрос: «Каким образом все это вообще началось?» Это на самом деле удивительно. Приходится предположить нечто вроде процесса поднятия самого себя за волосы, подобного тому процессу, который используется при создании новых компьютерных языков — однако подобный подъем от уровня молекул до уровня целой клетки почти невозможно вообразить. Существует несколько теорий о происхождении жизни, но ни одна из них не смогла пока дать ответа на главнейший из главных вопросов: «Как возник Генетический Код и механизмы для его трансляции — рибосомы и тРНК?» Пока нам придется вместо ответа удовольствоваться чувством удивления и восхищения, может быть, эти чувства более удовлетворительны, чем сам ответ — по крайней мере, на время.
Рис. 104. М.К. Эшер. «Кастровалва» (литография, 1930).