А-Г-Т-Ц-Ц-Ц-Ц-Ц-Г-Г-Т-А-А-Т-Г-А-Ц-А-Т-Ц-А-Т-А-Т-Г-Т-Г-Г-Г-Г-Г-Т-А
И в этой последовательности нуклеотидов вполне может быть зашифровано что-нибудь биологически полезное. Как это может быть?
Дело в том, что в генетической программе любого живого организма используется специальный генетический код – для того чтобы перевести информацию, записанную в ДНК, в конечный продукт. Конечным продуктом здесь являются, в основном, белки. Как известно, белки – это длинные органические молекулы, состоящие из аминокислот.[23] В любой живой клетке много разных видов белков. И все они выполняют там разнообразную полезную работу. Например, одни белки ответственны за сокращение наших мышц (белки актин, миозин). Другие белки выполняют структурную функцию, например, делают прочными нашу кожу, кости, волосы или ногти (коллаген, кератин). Третьи белки проводят необходимые химические реакции, которые нужны нашим клеткам для успешной жизнедеятельности.[24] Четвертые белки транспортируют необходимые вещества по организму или через клеточную мембрану. Определенные белки защищают нас от болезнетворных микробов. И так далее.
Столь разнообразные способности белки имеют благодаря тому, что они сами, в свою очередь, являются неким подобием конструктора. Белковые нити собираются из 20 разных аминокислот, которые можно соединять в произвольном порядке. В результате получаются разные белковые нити, обладающие разными свойствами. То есть, соберем белковую нить, выстраивая аминокислоты одним способом – получим, допустим, инсулин, фермент, который расщепляет сахар у нас в крови и бережет нас от сахарного диабета. А соберем (те же самые 20 аминокислот) в другом порядке – и получим, например, актин – белок, который помогает сокращать наши мышцы. А соберем третьим способом, и получим кристаллин – удивительно прозрачный белок, входящий в состав хрусталика нашего глаза.
Получается, что если мы знаем, в какой последовательности и сколько раз нужно соединить между собой определенные аминокислоты, то мы сможем получить такой белок, который будет выполнять ту или иную полезную работу в организме. А вот если мы не знаем этого правильного рецепта, то скорее всего, вместо полезного белка мы получим какую-нибудь «абракадабру», то есть, тоже белковую нить, но не выполняющую никакой полезной работы, а лежащую в организме «мертвым грузом».
И вот чтобы такого не происходило, все правильные рецепты всех нужных белков – записаны в ДНК живых существ, в виде последовательности нуклеотидов.
Например, в ДНК имеется следующая последовательность нуклеотидов:
Т-Т-Т-Г-Т-Г-Г-А-Ц-Г-А-А-Ц-А-Т-Ц-Т-Г
На самом деле, здесь записана информация. Информация об определенной последовательности аминокислот, в которую эти аминокислоты должны выстроиться (на конкретном участке белковой нити), чтобы соответствующий белок мог успешно выполнять свою работу в организме. Последовательность нуклеотидов (в ДНК) переводится в точный порядок аминокислот (в белке) с помощью генетического кода в специальных органоидах живой клетки – в рибосомах.
Это делается так. Сначала с ДНК снимается копия, так называемая информационная РНК (иРНК). Копирование производится по матричному принципу (матрица/оттиск). Где А комплементарен У; Т комплементарен А; а Г комплементарен Ц (и наоборот). В результате, снятая копия иРНК будет иметь такую последовательность нуклеотидов:
А-А-А-Ц-А-Ц-Ц-У-Г-Ц-У-У-Г-У-А-Г-А-Ц
То есть, получается как бы «оттиск» с исходной матрицы ДНК (сравните с приведенной выше строчкой ДНК).
Далее эта нить (иРНК) попадает в рибосому. Рибосома – один из самых замечательных органоидов клетки. Она является, по сути, аналогом компилятора компьютерной программы. В компиляторе компьютерной программы язык программирования высокого уровня (например, бейсик или паскаль) переводится в язык машинного кода, то есть, в машинные команды, предписания компьютеру выполнить какие-то действия. Аналогично и в рибосоме – язык нуклеотидов переводится в язык аминокислот. А именно, в рибосоме идет построение определенного белка по той самой информации, которая закодирована в последовательности нуклеотидов. После этого созданный белок начинает выполнять какие-то полезные действия в организме.
Генетический код, используемый рибосомой, можно посмотреть здесь (Рис. 14):
Рисунок 14. Наиболее распространенный вариант генетического кода живых организмов. Таблица соответствия кодонов (последовательностей из трёх конкретных нуклеотидов) конкретным аминокислотам. Английские буквы A, G, C, U соответствуют аденину, гуанину, цитозину и урацилу.
Здесь определенная последовательность из трёх нуклеотидов (так называемый кодон) соответствует одной определенной аминокислоте. Например, в нашем случае (расшифровываем нашу иРНК) последовательность из первых трех аденинов (ААА) соответствует аминокислоте лизину. Следующий кодон САС – соответствует аминокислоте гистидину. Следующий кодон СUG – это аминокислота лейцин. Далее CUU – это тоже аминокислота лейцин (такие взаимозаменяемые кодоны можно назвать синонимичными). Далее кодон GUA – обозначает аминокислоту валин. И наконец, кодон GAC обозначает аспарагиновую кислоту.
В результате, если в рибосоме окажется иРНК с последовательностью нуклеотидов:
А-А-А-Ц-А-Ц-Ц-У-Г-Ц-У-У-Г-У-А-Г-А-Ц
то на выходе рибосома выдаст следующую белковую цепочку (названия аминокислот сокращены):
Лиз-Гис-Лей-Лей-Вал-Асп
Таким образом, рибосома создаёт нужные организму белки строго по рецепту, записанному в ДНК в виде последовательности нуклеотидов. А сами белки, в свою очередь, отвечают за разные признаки и свойства конкретного живого организма.
Получается серьезная аналогия с компьютерной программой.[25] Допустим, целью и результатом работы какой-нибудь компьютерной программы является построение определенного изображения на компьютерном мониторе. Пусть это будет «прорисовка» какого-нибудь виртуального игрового персонажа. Например, какой-нибудь виртуальной девушки. Помимо прорисовки соответствующего виртуального объекта, будет неплохо, если компьютерная программа обеспечит еще и правильное «функционирование» этого изображения на компьютерном мониторе – запрограммирует соответствующие движения игрового персонажа, обеспечит целесообразное взаимодействие этой виртуальной девушки с окружающим её игровым миром. И тому подобное.
Точно так же, целью и результатом работы генетической программы, записанной в ДНК, является построение конкретного живого существа. И поддержание его существования. То есть, результатом работы генетической программы является не только построение тела живого существа (инфузории, дождевого червя или колибри), но еще и то, как это тело будет взаимодействовать с миром: избегать опасностей, искать источники пищи и т. п.
Таким образом, определенные аналогии между компьютерной и генетической программой очевидны.[26]
Ну а отличием между этими программами (генетической и компьютерной), является, во-первых, природа носителей информации (там намагниченные жесткие диски, а здесь длинные органические молекулы). Во-вторых, генетическая программа отличается от нашей (даже самой современной) компьютерной программы – запредельной сложностью. Наши компьютерные программы пока еще примитивны в сравнении с генетическими программами, по которым строятся живые организмы. Генетические программы живых существ (отдельные их части нередко называют генными сетями) насыщены генами-«включателями», «выключателями» и «переключателями», которые контролируют подотчетные им отдельные гены или целые генные каскады, а так же друг друга.[27] В результате получается примерно вот что (Рис. 15):
Рисунок 15. Генная сеть, то есть комплекс генов, так или иначе взаимодействующих с геном FOXP2, одним из ключевых генов, ответственных за формирование речи (Konopka et al., 2009). Здесь показаны только те гены, которые активно реагируют на разные модификации гена FOXP2 (человеческий или шимпанзиный). Есть еще и другие гены, тоже связанные с геном FOXP2, но работающие с ним независимо от того, какой конкретный вариант гена FOXP2 перед ними.[28]
Понятно, что разобраться в таких генетических программах очень непросто. Легче всего установить, что с чем взаимодействует. А вот для чего взаимодействует – здесь еще пока, как говорится, «черт ногу сломит» (С).