Так, если бы в тексте на русском языке все буквы, включая знаки препинания и пробел между словами (32 символа), встречались с равной частотой, информационная емкость русского алфавита равнялась бы:
Обычно она гораздо меньше. 5 бит/символ — это предельная величина. Но во всех реальных текстах символы встречаются с разной частотой, и энтропия обычно меньше, примерно в 2,5 раза, и приближается к двум битам на символ. Отсюда можно подсчитать и объем информации в тексте. Например, в авторском листе (единице объема рукописей) 40 000 символов и, значит, 80 000 бит информации. Но опять же это верхний предел, эта цифра имеет значение для наборщика и корректора, но не читателя. Далее мы еще вернемся к этому.
А пока ответим на вопрос: откуда развивающийся организм берет сведения о своей сложности? Ответ однозначен — из своей генетической программы, из ДНК. В ДНК «генетический текст» закодирован четырьмя символами — аденином, гуанином, цитозином и тимином. При равной частоте встречаемости символов энтропия на символ равна:
То есть тексты, написанные русским языком, и текст нашей генетической программы обладают примерно равной информационной емкостью. В геноме каждого из нас содержится примерно 3,2x109 нуклеотидов; соответственно объем содержащейся в нем информации 6,4x109 бит. Любители считать могут прикинуть, библиотеке какого объема это соответствует, только пусть помнят, что в выходных данных книги указываются не авторские листы, а печатные.
Значит, им нужно сначала подсчитать число символов на страницу текста книги данного формата и умножить на число страниц. Но все эти подсчеты будут сугубо приближенные: и в случае с ДНК два бита/символ — недостижимый максимум.
Кроме того, надо учесть одно обстоятельство: чтобы превратиться в признаки и свойства организма, генетическая информация перекодируется, проходя по каналу:
Передатчик этой информации — хромосома, приемник — цитоплазма клетки, в которой синтезируется белок. А уж от набора белковых молекул и их количества зависит дальнейшая судьба клетки и всего организма.
Первый этап перекодировки ДНК → РНК не изменяет информационной емкости сигнала. Ведь нуклеотидный текст остается без изменения, только тимин заменяется на урацил. А это тот же тимин, только неметилированный (без группы СН3). Зато перекодировка нуклеотидного текста информационной РНК в аминокислотную последовательность белка весьма существенна.
Сейчас и в школе учат, что одна аминокислота, точнее, один аминокислотный остаток в полипептидной цепи, образующей белок, соответствует трем нуклеотидам в информационной РНК. Возможное число сочетаний из 4 по 3 — это 43, т. е. 64 символа. Если бы в наших белках было 64 аминокислоты, то энтропия на символ равнялась бы:
Но три символа (тройки нуклеотидов, триплеты, кодоны) — бессмысленны, они аминокислот не кодируют. На них синтез полипептидной цепи обрывается, они соответствуют пробелам между словами в печатной речи и паузам — в устной. А аминокислот в белковом тексте всего 20, причем, каждая из них кодируется разным числом триплетов. Лейцин, серии, аргинин — эти буквы белкового текста кодируются каждый шестью триплетами, а метионин и триптофан — только одним триплетом каждый. Такой код называется вырожденным.
Аналогию можно найти и в человеческих языках. В старой русской орфографии звук «эф» выражался двумя символами — Ф и Θ (ферт и фита), звук «и» — тремя: и, i, (ижица). И в орфографиях других языков встречается вырожденность кода: например, англичане звук «и» выражают через i (в начале слов, заимствованных из других языков), через е (the evening, вечер), через дифтонг ее (the speed, скорость), через еа (dean, декан), через у (prosperity). Я не останавливаюсь здесь на делении гласных на краткие и долгие; для нас это сейчас не имеет значения. Как возникла в процессе эволюции вырожденность генетического кода — неясно. Может быть, на заре жизни аминокислот в белках было больше, чем сейчас? Впоследствии часть из них выпала, а их кодоны захватили другие аминокислоты, близкие по свойствам. Но это только гипотеза, если не спекуляция.
Вернемся, однако, к энтропии на символ для белкового текста. С учетом вырожденности кода эта величина, по моим давним подсчетам, равна 4,21 бит/аминокислотный остаток. Но это опять же с допущением, что все остатки в белке встречаются с одинаковой частотой. А это далеко не так. Если учтем данные по аминокислотному составу белков, получается величина примерно в два раза меньшая — у меня получалось 2,17-2,38 бит. Разумнее все же считать эту цифру завышенной, так как я исходил из того, что, например, все шесть кодонов для аргинина встречаются с одинаковой частотой. Два бита на символ — величина, наиболее подходящая для белка.
А сколько белков может синтезировать наш организм? Решая эту проблему, исследователи столкнулись с парадоксом, получившим название «парадокса лишней ДНК» (она же «эгоистичная, паразитическая, избыточная и мусорная»). О ней-то сейчас и пойдет речь.
О преимуществе вируса перед человеком. Два обстоятельства, на мой взгляд, привели к тому, что значительная часть исследователей по сие время теряет время в пустых вычислениях и бессмысленных спорах.
Исследование этих объектов вроде бы подтверждало прежнюю истину («один ген — один белок»). Правда, нашлись и исключения. Некоторые белки складывались из нескольких полипептидных цепей и кодировались, соответственно, несколькими генами. Другие гены кодировали не белки, а нужные для работы клетки нуклеиновые кислоты — РНК рибосомные и транспортные. Но это все было мелочью, и до сих пор многие полагают, что гены — это та ДНК, которая кодирует белки, а если она их не кодирует, то это не гены. А что же это тогда? Какую функцию выполняет ДНК, не находящая отражения в аминокислотных последовательностях белков?
Пока изучали простейшие объекты, от этой ДНК можно было отмахнуться. Геномы бактерий и фагов построены очень экономно. Там действительно почти каждая нуклеотидная последовательность находит отражение в аминокислотной последовательности белка. Более того, экономия генетического материала у вирусов доходит до того, что один ген может кодировать два, а то и три белка. Как это может получиться? Возьмем для примера кусочек последовательности информационной РНК, кодирующий всего три аминокислотных остатка:
Это соответствует последовательности в белке: