Вредные мутации – это движение вниз по склону, полезные – путь наверх. Мутации нейтральные, не влияющие на приспособленность, соответствуют движению вдоль горизонталей – линий одинаковой высоты. Отбраковывая вредные мутации, естественный отбор мешает эволюционирующей последовательности двигаться вниз по ландшафту приспособленности. Поддерживая мутации полезные, отбор пытается загнать последовательность как можно выше[14]. Отбор – игра по правилам
Методом случайного поиска (случайных блужданий) найти в необозримой «белковой вселенной» одну конкретную точку, соответствующую оптимальному выполнению белком данной функции, совершенно нереально. К счастью, такие оптимумы, как правило, – не точки, а обширные области. А главное, поиск оптимума в ходе эволюции осуществляется вовсе не методом случайных блужданий. Он идет методом направленного отбора. Направленность возникает благодаря тому, что случайные отклонения в «неправильную» сторону, ухудшающие рабочие качества белка, отбраковываются, отменяются и забываются, тогда как случайные отклонения в «правильную» сторону запоминаются и сохраняются.
Если исходная последовательность уже находится у подножия некоей возвышенности на ландшафте приспособленности – там, где уже есть хотя бы небольшой наклон (это значит, что белок хотя бы в минимальной степени, но уже выполняет какую-то функцию), отбор загоняет последовательность на вершину горы с поразительной эффективностью. Это можно показать с помощью компьютерной программы, впервые описанной Ричардом Докинзом в книге «Слепой часовщик». Пусть в роли исходной последовательности выступает произвольный набор букв, например, такой:
weiusdhsdklj dfg dfgghkjhjh qnlsvtnxuvsf qw kjhgj jfdjkfflmc
Программа размножит эту последовательность в тысяче экземпляров, внося в нее случайные мутации с заданной частотой. Например, пусть каждая буква в каждой копии с вероятностью 0,05 мутирует, т. е. заменяется другой случайной буквой. В результате каждая двадцатая (в среднем!) буква у каждого потомка будет отличаться от родительской. Зададим оптимум, к которому нужно стремиться, – некую осмысленную фразу. Попробуем сначала прийти к оптимуму без помощи отбора, методом случайных блужданий. Для этого из 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