Молекулярная эволюция и родство видов

Урок о том, как сравнение молекул позволяет восстановить родословное древо всего живого.

Молекулярная эволюция изучает изменения последовательностей ДНК и белков во времени; число различий между видами говорит об их родстве.

Молекулы как летопись

Чем дольше два вида эволюционируют отдельно, тем больше различий накапливается в их ДНК. Сравнив один и тот же ген у разных видов, можно оценить, как давно они разошлись. Это идея молекулярных часов: мутации копятся примерно с постоянной скоростью, поэтому число различий служит «секундомером».

Считаем расстояние между последовательностями

Простейшая мера различия — число позиций, в которых две выровненные последовательности не совпадают (расстояние Хэмминга). Чем оно больше, тем дальше родство.

def hamming(a, b):
    return sum(1 for x, y in zip(a, b) if x != y)

human  = "ATGCGTACGTTAGC"
ape    = "ATGCGTACGTTGGC"  # 1 отличие
mouse  = "ATGCATACGATAGC"  # 3 отличия
print("Человек vs обезьяна:", hamming(human, ape), "отличий")
print("Человек vs мышь:    ", hamming(human, mouse), "отличий")
print("Ближе родство у:", "обезьяны" if hamming(human, ape) < hamming(human, mouse) else "мыши")

Вывод:

Человек vs обезьяна: 1 отличий
Человек vs мышь:     3 отличий
Ближе родство у: обезьяны

Меньше различий — ближе родство. По одному короткому участку видно то же, что подтверждают полные геномы: человек ближе к обезьянам, чем к мышам.

Оценка времени расхождения

Если известна скорость накопления мутаций $\mu$ (мутаций на позицию за год), то время расхождения двух видов оценивают как:

$$ t \approx \frac{d}{2\mu} $$

где $d$ — доля различающихся позиций. Множитель 2 учитывает, что мутации копятся в обеих ветвях.

d = 0.06           # доля различий между видами
mu = 1e-8          # мутаций на позицию в год (на ветвь)
t = d / (2 * mu)
print("Доля различий d:", d)
print("Оценка времени расхождения, лет:", round(t))

Вывод:

Доля различий d: 0.06
Оценка времени расхождения, лет: 3000000

Как работает под капотом

Молекулярные часы работают лучше всего по нейтральным мутациям — тем, что не влияют на приспособленность и потому накапливаются с почти постоянной скоростью (вспомните синонимичные замены из раздела про мутации). Участки под сильным отбором меняются неравномерно и для датировки годятся хуже. Поэтому биологи выбирают для «часов» консервативные или нейтральные участки. Так абстрактная статистика мутаций превращается в инструмент датировки эволюции.

Частые ошибки

  • Сравнивают невыровненные последовательности. Сначала нужно их выровнять.
  • Считают молекулярные часы абсолютно точными. Это оценка со своей погрешностью.
  • Берут для датировки быстро меняющиеся под отбором участки вместо нейтральных.

Итог

  • Число различий между последовательностями отражает родство видов.
  • Молекулярные часы: время расхождения $t \approx d / (2\mu)$.
  • Лучше всего часы идут по нейтральным мутациям.
  • Молекулы подтверждают эволюционное древо, построенное по анатомии.
Проверьте себя
1. О чём говорит большее число различий между последовательностями ДНК двух видов?
AО более близком родстве
BО более далёком родстве (раньше разошлись)
CОб ошибке секвенирования
DНи о чём
2. По каким мутациям молекулярные часы работают точнее всего?
AПо вредным мутациям
BПо нейтральным мутациям, накапливающимся с постоянной скоростью
CПо мутациям под сильным отбором
DПо крупным делециям