Симулятор дрейфу генів популяцій

Слідкуйте за відтворюваними траєкторіями частот алелей Wright–Fisher та порівнюйте фіксацію, втрату й залишок мінливості в повторюваних популяціях.

Параметри популяції

Один нейтральний алель, один розмір диплоїдної популяції та багато незалежних повторів.

Заплановано вибірок копій алелей640,000ліміт 5,000,000

Траєкторії частоти алелей

Очікуване p = p₀

Фіксовано при p = 1
Втрачено при p = 0
Не поглинуто до T
Середнє кінцеве p
Очікувана H при T
Середня симульована H при T
Середнє покоління поглинання

Формула, підстановка та точність

У кожному поколінні перехід Wright–Fisher вибирає наступну кількість алелей і ділить її на доступні копії генів: Xₜ₊₁ ~ Binomial(2Ne, pₜ); pₜ₊₁ = Xₜ₊₁ ÷ (2Ne).

Перед вибіркою ці моменти описують діапазон можливих наступних поколінь: E[Xₜ₊₁] = 2Ne·pₜ; Var(Xₜ₊₁) = 2Ne·pₜ(1 − pₜ); Var(pₜ₊₁) = pₜ(1 − pₜ) ÷ (2Ne).

Очікувана частка несхожих пар алелей знижується протягом t поколінь таким чином: H₀ = 2p₀(1 − p₀); Hₜ = H₀(1 − 1 ÷ (2Ne))ᵗ.

Кожен біноміальний вибір використовує точну вибірку Бернуллі; нормальне наближення не застосовується. Обчислення зберігають подвійну точність JavaScript. Частоти змінюються з кроком 1 ÷ (2Ne); відображення округлюється максимум до шести знаків після коми.

Метод, припущення та обмеження

Ця сторінка реалізує нейтральну диплоїдну модель Wright–Fisher, описану в матеріалах Nature Education та підручнику з генетики людини Стенфордського університету. Кожне нове покоління є випадковою вибіркою 2Ne копій алелей з попереднього. Джерела перевірено 6 серпня 2026 року.

Довідка Nature Education про дрейф та ефективний розмірРозділ про дрейф з генетики людини Стенфордського університету

Змініть сценарій популяції або запустіть цей приклад із початковим числом знову.

Ваші параметри та симульовані популяції залишаються в цьому браузері.

Поширені запитання

Вводити фактичну чисельність чи ефективний розмір популяції?

Введіть ефективний розмір популяції, Ne: розмір ідеалізованої популяції, що розмножується, яка дрейфувала б із тією ж швидкістю, що й популяція, яку ви досліджуєте. Фактична чисельність може бути набагато більшою, якщо співвідношення статей, успіх розмноження, коливання чисельності або структура популяції є нерівномірними.

Чи дорівнює нейтральна ймовірність остаточної фіксації початковій частоті?

Так, у цій нейтральній моделі без мутацій чи міграцій алель із початковою частотою p₀ має ймовірність остаточної фіксації p₀ та ймовірність втрати 1 − p₀. Показники, наведені вище, охоплюють лише введену кількість поколінь і повторів, тому вони змінюватимуться залежно від початкового числа (seed).

Чому середня частота алелей може залишатися близькою до p₀, тоді як гетерозиготність падає?

Нейтральний дрейф не має пріоритетного напрямку в багатьох незалежних популяціях, тому середня частота математично очікувано залишається p₀. Проте окремі популяції зміщуються до 0 або 1, а на обох межах гетерозиготність дорівнює нулю. Таким чином, мінливість втрачається, навіть коли середнє значення між популяціями залишається майже незмінним.

Чи може це передбачити поведінку реальної популяції?

Ні. Вона показує результати за умов навмисно ідеалізованої нейтральної моделі Wright–Fisher. Для реальних прогнозів потрібні обґрунтовані оцінки ефективного розміру, а також відбору, мутацій, міграцій, зміни чисельності популяції, перекриття поколінь, зчеплення генів та структури популяції, якщо вони мають значення для конкретного випадку.

Модель Райта–Фішера та механізми генетичного дрейфу

В основі симулятора лежить диплоїдна модель Райта–Фішера (Wright–Fisher model), яка описує випадкові коливання частот алелей у кінцевій популяції під впливом помилок вибірки. Модель передбачає, що кожне наступне покоління формується шляхом випадкового вибору батьківських гамет. Оскільки кожна диплоїдна особина несе дві копії генів, ефективний розмір популяції Nₑ (вводиться користувачем як ефективний розмір популяції) формує загальний пул із 2Nₑ копій алелей.

Математично цей процес описується біноміальним розподілом. У кожному поколінні перехід Wright–Fisher вибирає наступну кількість алелей і ділить її на доступні копії генів: Xₜ₊₁ ~ Binomial(2Ne, pₜ); pₜ₊₁ = Xₜ₊₁ ÷ (2Ne).

Перед вибіркою ці моменти описують діапазон можливих наступних поколінь: E[Xₜ₊₁] = 2Ne·pₜ; Var(Xₜ₊₁) = 2Ne·pₜ(1 − pₜ); Var(pₜ₊₁) = pₜ(1 − pₜ) ÷ (2Ne).

Завдяки стохастичній природі вибірки, частота алеля p здійснює випадкове блукання. У кожній окремій ізольованій популяції цей процес неминуче веде до одного з двох поглинаючих станів: фіксації алеля (p = 1) або його повної втрати (p = 0). Що меншим є ефективний розмір популяції Nₑ, то сильнішими є випадкові коливання (дисперсія) у кожному поколінні, і то швидше популяція досягає фіксації або втрати.

Параметри симуляції та обмеження обчислень

Для запуску симуляції в інтерфейсі «Параметри популяції» необхідно налаштувати такі параметри:

  • Сценарії (попередньо встановлені пресети):
    • Мала популяція
    • Велика популяція
    • Рідкісний алель
  • Ефективний розмір популяції, Ne (ефективний розмір популяції): вводиться в полі «особин, що розмножуються». Допустимі значення — цілі числа від 1 до 100 000.
  • Початкова частота алелей, p₀ (початкова частота алелей): вводиться в полі «частка, 0–1». Значення має бути в межах від 0 до 1 включно.
  • Покоління (покоління): вводиться в полі «поколінь». Допустимі значення — цілі числа від 1 до 2 000.
  • Незалежні популяції (незалежні популяції): вводиться в полі «повторів». Допустимі значення — цілі числа від 1 до 200.
  • Випадкове початкове число (seed): текстове поле (до 100 символів), яке дозволяє точно відтворювати результати симуляції. Кнопка Нове початкове число генерує випадковий seed.

Для забезпечення стабільної роботи браузера встановлено ліміт на загальну кількість обчислень. Максимальна кількість запланованих вибірок копій алелей становить 5 000 000. Цей показник розраховується як добуток 2Nₑ × покоління × повтори. Якщо цей ліміт перевищено, симуляція блокується.

Аналіз результатів та статистичні показники

Після запуску симуляції інструмент будує графік «Траєкторії частоти алелей» з інтерактивною візуалізацією. Вісь X має назву Покоління, а вісь Y — Частота алелей p. На графіку також відображається горизонтальна лінія Очікуване p = p₀. Під графіком виводиться інформаційне повідомлення: Показано ‹shown› з ‹total› траєкторій; кожен повтор включено до зведення..

Для детального аналізу динаміки дрейфу симулятор розраховує такі статистичні показники для кінцевого покоління T:

  • Фіксовано при p = 1: частка симульованих популяцій, у яких алель закріпився.
  • Втрачено при p = 0: частка популяцій, у яких алель повністю зник.
  • Не поглинуто до T: частка популяцій, які на момент покоління T все ще залишаються поліморфними.
  • Середнє кінцеве p: середнє значення частоти алеля серед усіх повторів.
  • Очікувана H при T: теоретично очікувана гетерозиготність.
  • Середня симульована H при T: фактична середня гетерозиготність, отримана в симуляції.
  • Середнє покоління поглинання: середній номер покоління, у якому траєкторія досягла межі 0 або 1. Якщо жодна популяція не досягла фіксації чи втрати, відображається статус не досягнуто.

Математичні формули та точність розрахунків

У розділі «Формула, підстановка та точність» наводяться детальні математичні викладки для першого покоління симуляції:

  • Очікувана частка несхожих пар алелей знижується протягом t поколінь таким чином: H₀ = 2p₀(1 − p₀); Hₜ = H₀(1 − 1 ÷ (2Ne))ᵗ.
  • Перше покоління використовує 2 × ‹population› = ‹copies› вибірок копій алелей.
  • E[X₁] = ‹copies› × ‹frequency› = ‹mean› копій A.
  • Для першого покоління Var(X₁) = ‹copies› × ‹frequency› × (1 − ‹frequency›) = ‹variance›; SD(p₁) = ‹sd›.
  • Перший побудований повтор вибрав X₁ = ‹sampled› копій A, тому p₁ = ‹sampled› ÷ ‹copies› = ‹frequency›.

Кожен біноміальний вибір використовує точну вибірку Бернуллі; нормальне наближення не застосовується. Обчислення зберігають подвійну точність JavaScript. Частоти змінюються з кроком 1 ÷ (2Ne); відображення округлюється максимум до шести знаків після коми.

Метод, припущення та обмеження

Ця сторінка реалізує нейтральну диплоїдну модель Wright–Fisher, описану в матеріалах Nature Education та підручнику з генетики людини Стенфордського університету. Кожне нове покоління є випадковою вибіркою 2Ne копій алелей з попереднього. Джерела перевірено 6 серпня 2026 року.

Припущення: постійний ефективний розмір популяції, дискретні покоління, що не перекриваються, випадковий незалежний вибір, селективна нейтральність, один незчеплений двоалельний локус, відсутність мутацій чи міграцій. Не використовуйте це для прогнозування, якщо важливі відбір, зміна чисельності, дисбаланс статей чи успіху розмноження, перекриття поколінь, інбридинг, зчеплення генів, потік генів або структура популяції. Інженерний коефіцієнт запасу не застосовується до цієї стохастичної біологічної моделі.

Обробка даних відбувається локально: ваші параметри та симульовані популяції залишаються в цьому браузері. Жодні дані не завантажуються на сервери.

Повідомлення про помилки та статус роботи

Під час налаштування та виконання симуляції система може виводити такі повідомлення:

  • Змініть сценарій популяції або запустіть цей приклад із початковим числом знову. — початковий стан готовності.
  • Вибірка наступних поколінь… — статус під час проведення розрахунків.
  • Симульовано ‹replicates› популяцій протягом ‹generations› поколінь з використанням початкового числа «‹seed›». — успішне завершення симуляції.
  • ‹field›: «‹token›» не є числом. — якщо введене значення не є числовим.
  • ‹field›: введіть ціле число. — якщо замість цілого числа введено дробове.
  • Ефективний розмір популяції має бути цілим числом від 1 до 100 000. — вихід за межі Nₑ.
  • Початкова частота алелей має бути від 0 до 1, включаючи обидві межі. — некоректна частота p₀.
  • Кількість поколінь має бути цілим числом від 1 до 2 000. — вихід за ліміт поколінь.
  • Кількість незалежних популяцій має бути цілим числом від 1 до 200. — перевищення ліміту повторів.
  • Введіть випадкове початкове число (seed), щоб симуляцію можна було відтворити. — якщо поле seed порожнє.
  • Довжина випадкового початкового числа (seed) не повинна перевищувати 100 символів. — перевищення довжини seed.
  • Ця конфігурація передбачає ‹draws› вибірок копій алелей, що перевищує ліміт браузера ‹limit›. Зменште розмір популяції, кількість поколінь або повторів. — перевищення ліміту обчислювального навантаження.

Часті запитання (FAQ)

Вводити фактичну чисельність чи ефективний розмір популяції?
Введіть ефективний розмір популяції, Ne: розмір ідеалізованої популяції, що розмножується, яка дрейфувала б із тією ж швидкістю, що й популяція, яку ви досліджуєте. Фактична чисельність може бути набагато більшою, якщо співвідношення статей, успіх розмноження, коливання чисельності або структура популяції є нерівномірними.

Чому середня частота алелей може залишатися близькою до p₀, тоді як гетерозиготність падає?
Нейтральний дрейф не має пріоритетного напрямку в багатьох незалежних популяціях, тому середня частота математично очікувано залишається p₀. Проте окремі популяції зміщуються до 0 або 1, а на обох межах гетерозиготність дорівнює нулю. Таким чином, мінливість втрачається, навіть коли середнє значення між популяціями залишається майже незмінним.

Чи дорівнює нейтральна ймовірність остаточної фіксації початковій частоті?
Так, у цій нейтральній моделі без мутацій чи міграцій алель із початковою частотою p₀ має ймовірність остаточної фіксації p₀ та ймовірність втрати 1 − p₀. Показники, наведені вище, охоплюють лише введену кількість поколінь і повторів, тому вони змінюватимуться залежно від початкового числа (seed).

Чи може це передбачити поведінку реальної популяції?
Ні. Вона показує результати за умов навмисно ідеалізованої нейтральної моделі Wright–Fisher. Для реальних прогнозів потрібні обґрунтовані оцінки ефективного розміру, а також відбору, мутацій, міграцій, зміни чисельності популяції, перекриття поколінь, зчеплення генів та структури популяції, якщо вони мають значення для конкретного випадку.