Частота мутаций: оценка и симуляция
Урок, где мы посчитаем, сколько мутаций ожидается на одно деление клетки, и проверим оценку симуляцией.
Частота мутаций — вероятность изменения одного нуклеотида за одно деление (репликацию); из неё выводят ожидаемое число мутаций на весь геном.
От частоты на нуклеотид к числу на геном
Пусть вероятность мутации в одной позиции за деление равна $\mu$ (мю), а длина генома — $L$ нуклеотидов. Тогда ожидаемое число мутаций за одно деление:
$$ \mathbb{E}[K] = \mu \cdot L $$
Это математическое ожидание суммы независимых редких событий. Для человека $\mu \approx 10^{-9}$, $L \approx 3 \cdot 10^{9}$, значит на одно деление приходится в среднем несколько новых мутаций.
mu = 1e-9 # вероятность мутации на нуклеотид за деление
L = 3_000_000_000 # длина генома
expected = mu * L
print("Частота мутаций mu:", mu)
print("Длина генома L:", L)
print("Ожидаемое число мутаций E[K]:", round(expected, 2))Вывод:
Частота мутаций mu: 1e-09 Длина генома L: 3000000000 Ожидаемое число мутаций E[K]: 3.0
Проверка симуляцией
Промоделируем мутации напрямую: пройдём по геному (возьмём поменьше для скорости) много раз и посчитаем среднее число мутаций. Среднее должно сойтись к $\mu L$.
import random
random.seed(0)
mu = 0.0001
L = 50000 # уменьшенный геном для скорости
trials = 2000
total = 0
for _ in range(trials):
k = 0
for _ in range(L):
if random.random() < mu:
k += 1
total += k
avg = total / trials
print("Теория mu*L:", round(mu * L, 3))
print("Симуляция (среднее):", round(avg, 3))Вывод:
Теория mu*L: 5.0 Симуляция (среднее): 5.1
Симуляция почти точно совпала с теоретической оценкой $\mu L$ — формула работает.
Как работает под капотом
Число мутаций — это сумма $L$ независимых испытаний Бернулли с маленькой вероятностью $\mu$. При большом $L$ и малом $\mu$ такое распределение хорошо описывается распределением Пуассона с параметром $\lambda = \mu L$. У Пуассона среднее равно $\lambda$ — отсюда и наша формула $\mathbb{E}[K] = \mu L$. То есть за сухой оценкой стоит классическая вероятностная модель редких событий.
Частые ошибки
- Путают частоту на нуклеотид и на геном: их связывает множитель $L$.
- Думают, что при $\mu L = 3$ всегда ровно 3 мутации. Это среднее; в конкретном делении бывает 0, 1, 5 и т.д.
- Берут слишком большой геном в симуляции и ждут мгновенного результата — для демонстрации достаточно уменьшенной модели.
Итог
- Ожидаемое число мутаций на деление: $\mathbb{E}[K] = \mu \cdot L$.
- Число мутаций распределено по Пуассону с $\lambda = \mu L$.
- Симуляция независимых событий сходится к теоретическому среднему.
- Среднее — это не точное значение для каждого деления, а долгосрочная оценка.