Шрифт:
Если исходная последовательность уже находится у подножия некоей возвышенности на ландшафте приспособленности – там, где уже есть хотя бы небольшой наклон (это значит, что белок хотя бы в минимальной степени, но уже выполняет какую-то функцию), отбор загоняет последовательность на вершину горы с поразительной эффективностью. Это можно показать с помощью компьютерной программы, впервые описанной Ричардом Докинзом в книге «Слепой часовщик». Пусть в роли исходной последовательности выступает произвольный набор букв, например, такой:
weiusdhsdklj dfg dfgghkjhjh qnlsvtnxuvsf qw kjhgj jfdjkfflmc
Программа размножит эту последовательность в тысяче экземпляров, внося в нее случайные мутации с заданной частотой. Например, пусть каждая буква в каждой копии с вероятностью 0,05 мутирует, т. е. заменяется другой случайной буквой. В результате каждая двадцатая (в среднем!) буква у каждого потомка будет отличаться от родительской. Зададим оптимум, к которому нужно стремиться, – некую осмысленную фразу. Попробуем сначала прийти к оптимуму без помощи отбора, методом случайных блужданий. Для этого из 1000 потомков выберем одного наугад и снова размножим в 1000 экземпляров с мутациями. И еще раз, и еще.
Вот что у нас получилось. Справа указаны номер поколения и степень отличия от целевой последовательности, т. е. удаленность от оптимума:
weiusdhsdklj efg dfgghkjhjh qnlsvtnxuvsfuqt kjhgj jfdjkfflmc 1 1101
weiusdhshklj efg dfgghkchjh qnlsvtxxuvmfuqt kjhgj jfdjkfflmc 2 1102
weiusdhshqxj efg dfgghkchjh qnudvtxxuvnfuqt kjhgj jfdjkfflmc 3 1073
weiusdhshqxj efg dfgghkchjh pnudvnxxuvnfuqt kjhgj jfdjkfflmc 4 1068
weiuydhshqxjmefg dfgghgchjh pnudvnxxuvnfuqt kjhgj jfdjkfflmc 5 995
…
miokytvohujkuefhjefghhgcajtrjnfdqnxxutdzuftfihfgz ufdjkfszyc 21 1179
miokytvohuwtuefhjefghhgcajyrjnfdqnxxutdzuftfiufgz ufdjkfszyc 22 1173
…
jzvsztfxtuggublusgidhpgxauyranrwqbwsjtdoxykfinfzvyufdoluszyh 51 1152
jzvsztfxtuggublusgidhpgxauyranrwqjwsjtdoxykfinfzvyufdoluszyh 52 1144
…
pkvlrqsxoqrewqoidyofypjlsjvwcjxdjlkhbzdyonhdeyuydlusjzbmeeiu 99 1078
pkvlrqsxoqoewqoidyofysjlsjvwcjxdjlkhbzdyonhdeyuydlusjubmeeiu 100 1073
Бесполезно! За 100 поколений – ни малейшего прогресса, никакого приближения к оптимуму. Фраза осталась такой же бессмысленной, какой и была. Случайное блуждание в пространстве последовательностей, которое мы сейчас смоделировали, практически не дает шанса найти конкретную точку в белковой вселенной.
Нет, конечно, будь у нас бесконечный запас времени, когда-нибудь мы все же наткнулись бы на оптимум. Когда, вот в чем вопрос. Мы использовали 26 букв латинского алфавита и пробел, итого 27 знаков. Длина фразы – 60 знаков. Оптимум – это одна комбинация из 2760 (~7,6x1085) возможных. Вариантов больше, чем атомов во Вселенной. Примерно столько поколений нам и потребуется, чтобы случайно наткнуться на нужную точку.
К такому способу поиска вполне приложимы известные рассуждения об урагане, пролетевшем над свалкой, который ни за что не соберет из мусора «боинг-747», и об обезьяне, которая, бессмысленно стуча по клавиатуре, никогда не напишет «Войну и мир». Таким способом – и впрямь не напишет. К счастью для нас, эволюция идет вовсе не этим способом. Или, если быть совсем уж точными, не только этим способом.
Мы все-таки не зря моделировали случайные блуждания – у них тоже есть аналог среди эволюционных процессов. Именно так идет нейтральная эволюция. Так меняются последовательности (аминокислотные или нуклеотидные), от которых приспособленность организма не зависит и которые поэтому не находятся под действием отбора.
Между прочим, хоть блуждания и случайные, некие закономерности можно заметить и в этом случае. Обратите внимание, что эволюционирующая последовательность постепенно становилась все менее похожа на исходную. Фраза из поколения № 1 отличается от исходной только тремя знаками, в поколении № 2 мы видим уже семь отличий, в поколении № 4–13, в пятом поколении – 16 отличий. К 50-му поколению никакого сходства с исходной последовательностью не осталось. Но в течение первых 20–25 поколений сходство сохранялось, постоянно уменьшаясь. Поэтому мы могли по степени этого сходства примерно определить номер поколения, к которому принадлежит данная фраза. Мы могли, сравнив данную фразу с исходной и зная скорость мутирования, примерно оценить, сколько поколений разделяет эти две фразы! На этом принципе основан замечательный метод молекулярных часов, с которым мы познакомимся в следующем разделе. А пока вернемся к отбору.
Изменим немного нашу программу. Пусть теперь для размножения выбирается не любая из 1000 последовательностей наугад, а лучшая – наиболее похожая на «оптимальную». Все прочее оставим как было. Запускаем программу и получаем следующее:
wbiusdhsdkljvdfgfdbgghkjhjh qnlsvtnxuvsf qw kjhgjajfdjkfflmc 1 992
jfiusdhsd ljvqfgfdbggbkjhjh qnlsvtnxuvsfyqw kjhgjajfdjkfflmc 2 844
jfiusdhsd ljvqfgfdbggnkjhjh qnl vtnxuvsfyqw djhgjajfdjkfflmc 3 756