Model Wright–Fisher w symulacji dryfu genetycznego
Symulator dryfu genetycznego populacji to bezpłatne narzędzie online, które umożliwia symulację i wizualizację neutralnego dryfu genetycznego przy użyciu diploidalnego modelu Wright–Fisher. Poprzez skonfigurowanie symulowanej populacji rozrodczej, użytkownicy mogą śledzić i porównywać powtarzalne ścieżki częstości alleli w wielu niezależnych populacjach. Pozwala to zaobserwować, w jaki sposób zmienność genetyczna jest tracona lub utrwalana na przestrzeni kolejnych pokoleń. Narzędzie pomaga zrozumieć wpływ losowego pobierania prób na częstości alleli w czasie, prezentując symulowaną heterozygotyczność, wskaźniki fiksacji oraz utraty alleli, bez pretensji do prognozowania rzeczywistych wyników ewolucyjnych.
W klasycznym modelu Wright–Fisher każde nowe pokolenie powstaje poprzez losowe pobieranie próbek genów z poprzedniego pokolenia. Narzędzie to pozwala badać te stochastyczne procesy w sposób powtarzalny dzięki zastosowaniu generatora liczb pseudolosowych opartego na ziarnie.
Konfiguracja parametrów populacji
W sekcji „Konfiguracja populacji” użytkownik definiuje parametry wejściowe niezbędne do uruchomienia symulacji:
- Scenariusze (gotowe zestawy ustawień):
- Mała populacja
- Duża populacja
- Rzadki allel
- Efektywna wielkość populacji, Ne: Wprowadzana w jednostce „osobniki rozrodcze”. Musi to być liczba całkowita z przedziału od 1 do 100 000.
- Początkowa częstość allelu, p₀: Wprowadzana jako „proporcja, 0–1”. Wartość musi mieścić się w przedziale od 0 do 1, włącznie z obiema granicami.
- Pokolenia: Wprowadzane w jednostce „pokolenia”. Wymagana jest liczba całkowita z przedziału od 1 do 2 000.
- Niezależne populacje: Wprowadzane w jednostce „powtórzenia”. Musi to być liczba całkowita z przedziału od 1 do 200.
- Ziarno losowości: Pole tekstowe służące do odtwarzania identycznych ścieżek symulacji. Maksymalna długość tekstu wynosi 100 znaków. Przycisk „Nowe ziarno” pozwala na wygenerowanie losowej wartości.
Podczas wprowadzania danych system na bieżąco weryfikuje poprawność pól. W przypadku błędów mogą pojawić się następujące komunikaty:
- Gdy wprowadzona wartość nie jest liczbą:
‹field›: „‹token›” nie jest liczbą. - Gdy podana zostanie liczba dziesiętna zamiast całkowitej:
‹field›: wpisz liczbę całkowitą. - Przekroczenie zakresu populacji:
Efektywna wielkość populacji musi być liczbą całkowitą od 1 do 100,000. - Przekroczenie zakresu częstości:
Początkowa częstość allelu musi mieścić się w przedziale od 0 do 1, włącznie z obiema granicami. - Przekroczenie zakresu pokoleń:
Liczba pokoleń musi być liczbą całkowitą od 1 do 2,000. - Przekroczenie zakresu powtórzeń:
Liczba niezależnych populacji musi być liczbą całkowitą od 1 do 200. - Brak ziarna:
Wpisz ziarno losowości, aby można było odtworzyć symulację. - Zbyt długie ziarno:
Ziarno losowości może mieć maksymalnie 100 znaków.
Przeglądarka nakłada również limit wydajnościowy wynoszący maksymalnie 5 000 000 planowanych losowań kopii alleli, obliczany jako iloczyn 2Ne × pokolenia × powtórzenia. Przekroczenie tej wartości blokuje wykonanie i skutkuje błędem: Ta konfiguracja planuje ‹draws› losowań kopii alleli, co przekracza limit przeglądarki wynoszący ‹limit›. Zmniejsz wielkość populacji, liczbę pokoleń lub powtórzeń.
Wyniki symulacji i interpretacja wykresu
Po uruchomieniu obliczeń narzędzie wyświetla komunikaty o stanie pracy, takie jak Losowanie kolejnych pokoleń…, a po zakończeniu: Zasymulowano ‹replicates› populacji przez ‹generations› pokoleń przy użyciu ziarna „‹seed›”. W przypadku gotowości do kolejnej próby wyświetlany jest komunikat: Zmień scenariusz populacji lub uruchom ponownie ten przykład z ziarnem.
Głównym elementem wizualnym są „Ścieżki częstości alleli” prezentowane na wykresie oznaczonym etykietą dostępności: Częstość alleli według pokoleń dla powtarzanych symulacji populacji. Oś X reprezentuje Pokolenie, natomiast oś Y to Częstość allelu p. Na wykresie naniesiona jest linia odniesienia Oczekiwane p = p₀. Pod wykresem znajduje się informacja o liczbie prezentowanych linii: Pokazywanie ‹shown› z ‹total› ścieżek; każde powtórzenie jest uwzględnione w podsumowaniu.
W panelu statystyk użytkownik otrzymuje szczegółowe podsumowanie przebiegu procesów stochastycznych:
- Utrwalone przy p = 1: Odsetek populacji, w których allel osiągnął fiksację.
- Utracone przy p = 0: Odsetek populacji, w których allel został całkowicie utracony.
- Niezaabsorbowane do kroku T: Liczba populacji, które nie osiągnęły granic absorpcji (0 lub 1) przed końcem symulacji.
- Średnie końcowe p: Średnia częstość allelu we wszystkich powtórzeniach w ostatnim pokoleniu.
- Oczekiwane H w kroku T: Teoretyczna heterozygotyczność oczekiwana po T pokoleniach.
- Średnie symulowane H w kroku T: Rzeczywista średnia heterozygotyczność zaobserwowana w symulacji.
- Średnie pokolenie absorpcji: Średnia liczba pokoleń potrzebna do osiągnięcia fiksacji lub utraty (wyświetla wartość
nieosiągnięte, jeśli żadna populacja nie uległa absorpcji).
Metoda, założenia i ograniczenia
Ta strona implementuje neutralny diploidalny model Wright–Fisher opisany przez Nature Education oraz podręcznik Stanford Human Genetics. Każde nowe pokolenie stanowi losową próbę 2Ne kopii alleli z poprzedniego pokolenia. Źródła zweryfikowano 6 sierpnia 2026 r.
Każde losowanie dwumianowe wykorzystuje dokładne próbkowanie Bernoullego; nie stosuje się przybliżenia rozkładem normalnym. Obliczenia zachowują podwójną precyzję JavaScript. Częstości przyjmują wartości z krokiem 1 ÷ (2Ne); wyświetlane wyniki są zaokrąglane do maksymalnie sześciu miejsc po przecinku.
Model opiera się na ściśle określonych założeniach upraszczających:
- Stała efektywna wielkość populacji (Nₑ).
- Dyskretne, nienakładające się pokolenia.
- Losowe i niezależne próbkowanie gamet.
- Neutralność selekcyjna (brak doboru naturalnego).
- Jedno niesprzężone, dwuallelowe locus.
- Brak mutacji oraz migracji (przepływu genów).
Wszelkie trajektorie, które osiągną granice absorpcji (częstość 0 lub 1), pozostają w nich na stałe, ponieważ model nie uwzględnia mutacji ani migracji wprowadzających nowe allele. Nie należy używać tego modelu do prognozowania, gdy znaczenie mają selekcja, zmiany liczebności populacji, nierównowaga płci lub sukcesu rozrodczego, nakładające się pokolenia, kojarzenie krewniacze, sprzężenia, przepływ genów lub struktura populacji. Współczynnik bezpieczeństwa inżynieryjnego nie ma zastosowania do tego stochastycznego modelu biologicznego.
Wzór, podstawienie i precyzja
Matematyczny opis przejść międzypokoleniowych oraz dynamiki zmienności opiera się na następujących zależnościach:
- Przejście międzypokoleniowe: W każdym pokoleniu przejście Wright–Fisher losuje kolejną liczbę alleli i dzieli ją przez dostępne kopie genów: Xₜ₊₁ ~ Binomial(2Ne, pₜ); pₜ₊₁ = Xₜ₊₁ ÷ (2Ne).
- Momenty statystyczne: Przed losowaniem następujące momenty opisują zakres możliwych kolejnych pokoleń: E[Xₜ₊₁] = 2Ne·pₜ; Var(Xₜ₊₁) = 2Ne·pₜ(1 − pₜ); Var(pₜ₊₁) = pₜ(1 − pₜ) ÷ (2Ne).
- Spadek heterozygotyczności: Oczekiwany udział odmiennych par alleli spada w ciągu t pokoleń w następujący sposób: H₀ = 2p₀(1 − p₀); Hₜ = H₀(1 − 1 ÷ (2Ne))ᵗ.
Dla lepszego zrozumienia działania algorytmu, aplikacja przedstawia krok podstawienia wartości dla pierwszego pokolenia:
- Pierwsze pokolenie wykorzystuje 2 ×
‹population›=‹copies›losowań kopii alleli. - E[X₁] =
‹copies›×‹frequency›=‹mean›kopii A. - Dla pierwszego pokolenia Var(X₁) =
‹copies›×‹frequency›× (1 −‹frequency›) =‹variance›; SD(p₁) =‹sd›. - W pierwszym wykreślonym powtórzeniu wylosowano X₁ =
‹sampled›kopii A, stąd p₁ =‹sampled›÷‹copies›=‹frequency›.
Prywatność i przetwarzanie danych
Wszystkie parametry wejściowe oraz wygenerowane ścieżki populacji są przetwarzane lokalnie i pozostają w tej przeglądarce. Żadne dane nie są przesyłane na serwery zewnętrzne ani nigdzie zapisywane.
Często zadawane pytania (FAQ)
Czy należy wpisać rzeczywistą liczebność populacji, czy efektywną wielkość populacji?
Wpisz efektywną wielkość populacji, Ne: wielkość zidealizowanej populacji rozrodczej, w której dryf zachodziłby w tym samym tempie, co w badanej populacji. Rzeczywista liczebność populacji może być znacznie większa, gdy proporcje płci, sukces rozrodczy, wahania liczebności lub struktura populacji są nierównomierne.
Dlaczego średnia częstość allelu może pozostawać blisko p₀, podczas gdy heterozygotyczność spada?
Dryf neutralny nie ma preferowanego kierunku w wielu niezależnych populacjach, więc średnia częstość pozostaje oczekiwanym p₀. Jednak poszczególne populacje rozbiegają się w kierunku 0 lub 1, a obie te granice charakteryzują się zerową heterozygotycznością. Zmienność jest zatem tracona, nawet gdy średnia między populacjami pozostaje niemal niezmieniona.
Czy neutralne prawdopodobieństwo ostatecznej fiksacji jest równe częstości początkowej?
Tak, w tym modelu neutralnym bez mutacji i migracji, allel o częstości początkowej p₀ ma ostateczne prawdopodobieństwo fiksacji równe p₀ i prawdopodobieństwo utraty równe 1 − p₀. Pokazane powyżej wskaźniki obejmują tylko wprowadzoną liczbę pokoleń i powtórzeń, więc będą się różnić w zależności od ziarna.
Czy to narzędzie pozwala przewidzieć zachowanie rzeczywistej populacji?
Nie. Narzędzie pokazuje wyniki w celowo zidealizowanym, neutralnym modelu Wright–Fisher. Rzeczywiste prognozy wymagają wiarygodnych szacunków efektywnej wielkości populacji oraz uwzględnienia selekcji, mutacji, migracji, zmian wielkości populacji, nakładających się pokoleń, sprzężeń i struktury populacji, o ile mają one znaczenie w danym przypadku.