Simulator för genetisk drift i populationer

Följ återskapbara Wright–Fisher-allelfrekvensbanor och jämför fixation, förlust och kvarvarande variation över upprepade populationer.

Populationsinställningar

En neutral allel, en diploid populationsstorlek och många oberoende upprepningar.

Planerade dragningar av allelkopior640,000gräns 5,000,000

Banor för allelfrekvens

Förväntat p = p₀

Fixerad vid p = 1
Förlorad vid p = 0
Ej absorberad vid T
Slutligt medel-p
Förväntat H vid T
Simulerat medel-H vid T
Medelgeneration för absorption

Formel, substitution och precision

Vid varje generation drar Wright–Fisher-övergången nästa allelantal och dividerar det med de tillgängliga genkopiorna: Xₜ₊₁ ~ Binomial(2Ne, pₜ); pₜ₊₁ = Xₜ₊₁ ÷ (2Ne).

Före urvalet beskriver dessa moment intervallet för möjliga nästa generationer: E[Xₜ₊₁] = 2Ne·pₜ; Var(Xₜ₊₁) = 2Ne·pₜ(1 − pₜ); Var(pₜ₊₁) = pₜ(1 − pₜ) ÷ (2Ne).

Den förväntade andelen olikartade allelpar minskar över t generationer enligt följande: H₀ = 2p₀(1 − p₀); Hₜ = H₀(1 − 1 ÷ (2Ne))ᵗ.

Varje binomial dragning använder exakt Bernoulli-urval; ingen normalapproximation används. Beräkningar behåller JavaScript-dubbelprecision. Frekvenser ligger i steg om 1 ÷ (2Ne); visningen avrundar till högst sex decimaler.

Metod, antaganden och begränsningar

Denna sida implementerar den neutrala diploida Wright–Fisher-modell som beskrivs av Nature Education och Stanford Human Genetics-texten. Varje ny generation är ett slumpmässigt urval av 2Ne allelkopior från den föregående. Källor kontrollerade den 6 augusti 2026.

Nature Education-referens för drift och effektiv storlekStanford Human Genetics-kapitel om drift

Ändra populationsscenario eller kör detta exempel med slumpfrö igen.

Dina parametrar och simulerade populationer stannar i denna webbläsare.

Vanliga frågor

Ska jag ange faktisk eller effektiv populationsstorlek?

Ange effektiv populationsstorlek, Ne: storleken på en idealiserad reproducerande population som skulle drifta i samma takt som den population du avser att studera. Den faktiska populationsstorleken kan vara mycket större när könsfördelning, reproduktiv framgång, populationsfluktuationer eller populationsstruktur är ojämna.

Är den neutrala sannolikheten för slutlig fixation lika med startfrekvensen?

Ja, i denna neutrala modell utan mutation eller migration har en allel som startar vid frekvensen p₀ den slutliga fixationssannolikheten p₀ och förlustsannolikheten 1 − p₀. De andelar som visas ovan täcker dock endast det angivna antalet generationer och upprepningar, så de kommer att variera med slumpfröet.

Varför kan medelallelfrekvensen ligga kvar nära p₀ medan heterozygotin sjunker?

Neutral drift har ingen föredragen riktning över många oberoende populationer, så medelfrekvensen förblir p₀ i förväntat värde. Enskilda populationer sprider sig dock mot 0 eller 1, och båda gränserna har noll heterozygoti. Variation går därför förlorad även om medelvärdet över populationerna förblir nästan oförändrat.

Kan detta förutsäga vad en verklig population kommer att göra?

Nej. Den visar utfall under en medvetet idealiserad neutral Wright–Fisher-modell. Verkliga prognoser kräver försvarbara uppskattningar av effektiv storlek samt eventuell selektion, mutation, migration, förändrad populationsstorlek, överlappande generationer, koppling och populationsstruktur som är relevanta för fallet.

Simulator för genetisk drift i populationer

Denna referensartikel beskriver de matematiska principerna, parametrarna och begränsningarna för verktyget "Simulator för genetisk drift i populationer". Simulatorn är ett kostnadsfritt onlineverktyg som låter användare simulera och visualisera neutral genetisk drift med hjälp av den diploida Wright–Fisher-modellen. Genom att ställa in en simulerad fortplantningspopulation kan användare följa och jämföra reproducerbara allelfrekvensbanor över flera oberoende populationer för att se hur genetisk variation går förlorad eller fixeras över generationer. Verktyget hjälper användare att förstå hur slumpmässigt urval påverkar allelfrekvenser över tid genom att visa simulerad heterozygoti, fixering och förlusthastigheter, utan att göra anspråk på att förutsäga verkliga evolutionära utfall.

Dina parametrar och simulerade populationer stannar i denna webbläsare. All databehandling sker lokalt på din enhet, vilket innebär att ingen information laddas upp eller skickas till externa servrar.


Populationsinställningar och indata

I gränssnittet under rubriken "Populationsinställningar" anger användaren de parametrar som styr den stokastiska simuleringen. Följande fält och gränser används för att konfigurera modellen:

  • Scenarier (Presets): Förinställda startvärden som snabbt konfigurerar simulatorn för typiska scenarier. Dessa är:
    • Liten population
    • Stor population
    • Sällsynt allel
  • Effektiv populationsstorlek, Ne: Anges i enheten "fortplantningsdugliga individer". Detta måste vara ett heltal från 1 till 100,000.
  • Startallelfrekvens, p₀: Anges som en "andel, 0–1". Värdet måste vara mellan 0 och 1, inklusive båda gränserna.
  • Generationer: Anges i enheten "generationer". Detta måste vara ett heltal från 1 till 2,000.
  • Oberoende populationer: Anges i enheten "replikat". Detta måste vara ett heltal från 1 till 200.
  • Slumpfrö: Ett textfält som används för att återskapa exakt samma simulerade banor. Texten får innehålla högst 100 tecken. Användaren kan också klicka på knappen "Nytt slumpfrö" för att generera ett nytt slumpmässigt värde.

Om en parameter matas in felaktigt visar gränssnittet specifika felmeddelanden:

  • Om ett fält inte innehåller ett giltigt tal: ‹field›: ”‹token›” är inte ett tal.
  • Om ett decimaltal anges där ett heltal krävs: ‹field›: ange ett heltal.
  • Om populationsstorleken är utanför gränserna: Effektiv populationsstorlek måste vara ett heltal från 1 till 100,000.
  • Om startfrekvensen är utanför gränserna: Startallelfrekvensen måste vara mellan 0 och 1, inklusive båda gränserna.
  • Om antalet generationer är utanför gränserna: Generationer måste vara ett heltal från 1 till 2,000.
  • Om antalet replikat är utanför gränserna: Oberoende populationer måste vara ett heltal från 1 till 200.
  • Om slumpfröet saknas: Ange ett slumpfrö så att simuleringen kan återskapas.
  • Om slumpfröet är för långt: Håll slumpfröet till högst 100 tecken.

Metod, antaganden och begränsningar

Denna sida implementerar den neutrala diploida Wright–Fisher-modell som beskrivs av Nature Education och Stanford Human Genetics-texten. Varje ny generation är ett slumpmässigt urval av 2Ne allelkopior från den föregående. Källorna kontrollerades den 6 augusti 2026.

Matematiska antaganden

Modellen vilar på en rad strikta teoretiska antaganden:

  1. Konstant effektiv populationsstorlek över alla generationer.
  2. Diskreta, icke-överlappande generationer.
  3. Slumpmässigt oberoende urval av gameter (alleler).
  4. Selektiv neutralitet (ingen allel har en överlevnads- eller reproduktionsfördel).
  5. Ett okopplat locus med exakt två alleler.
  6. Ingen mutation eller migration (inget genflöde).

Använd inte detta som en prognos när selektion, populationsförändring, obalans i kön eller reproduktiv framgång, överlappande generationer, inavel, koppling, genflöde eller populationsstruktur spelar roll. En ingenjörsmässig säkerhetsfaktor är inte tillämplig på denna stokastiska biologiska modell.

Beräkningsbegränsningar och precision

Varje binomial dragning använder exakt Bernoulli-urval; ingen normalapproximation används. Beräkningar behåller JavaScript-dubbelprecision. Frekvenser ligger i steg om 1 ÷ (2Ne); visningen avrundar till högst sex decimaler.

För att förhindra att webbläsaren låser sig vid extremt tunga simuleringar finns en inbyggd systemgräns. Webbläsaren tillåter maximalt 5 000 000 planerade dragningar av allelkopior, vilket beräknas som:

Planerade dragningar = 2Ne × generationer × replikat

Om denna produkt överskrids blockeras simuleringen och följande felmeddelande visas: Detta upplägg planerar ‹draws› dragningar av allelkopior, vilket överskrider webbläsargränsen på ‹limit›. Minska populationsstorleken, antalet generationer eller upprepningar.


Formel, substitution och precision

När en simulering körs visar verktyget de matematiska formlerna och de exakta substitutionerna för den första generationen:

  • Wright–Fisher-övergång: Vid varje generation drar Wright–Fisher-övergången nästa allelantal och dividerar det med de tillgängliga genkopiorna: Xₜ₊₁ ~ Binomial(2Ne, pₜ); pₜ₊₁ = Xₜ₊₁ ÷ (2Ne).
  • Moment före urval: Före urvalet beskriver dessa moment intervallet för möjliga nästa generationer: E[Xₜ₊₁] = 2Ne·pₜ; Var(Xₜ₊₁) = 2Ne·pₜ(1 − pₜ); Var(pₜ₊₁) = pₜ(1 − pₜ) ÷ (2Ne).
  • Förväntad heterozygoti: Den förväntade andelen olikartade allelpar minskar över t generationer enligt följande: H₀ = 2p₀(1 − p₀); Hₜ = H₀(1 − 1 ÷ (2Ne))ᵗ.

Exempel på substitutioner i gränssnittet

Första generationen använder 2 × Ne dragningar. Om vi exempelvis sätter Ne = 100 och p₀ = 0.5, genererar verktyget följande textsteg baserat på dina specifika värden:

  • Första generationen använder 2 × ‹population› = ‹copies› dragningar av allelkopior.
  • E[X₁] = ‹copies› × ‹frequency› = ‹mean› A-kopior.
  • För den första generationen är Var(X₁) = ‹copies› × ‹frequency› × (1 − ‹frequency›) = ‹variance›; SD(p₁) = ‹sd›.
  • Första uppritade replikatet drog X₁ = ‹sampled› A-kopior, så p₁ = ‹sampled› ÷ ‹copies› = ‹frequency›.

Simuleringsresultat och visualisering

Efter att ha klickat på Kör driftsimulering ändras verktygets statusmeddelanden i tre steg:

  1. Innan start/vid ändring: Ändra populationsscenario eller kör detta exempel med slumpfrö igen.
  2. Under beräkning: Drar urval för nästa generationer…
  3. Efter slutförd simulering: Simulerade ‹replicates› populationer genom ‹generations› generationer med slumpfröet ”‹seed›”.

Diagram över allelfrekvensbanor

Resultatet ritas upp i ett interaktivt diagram med följande egenskaper:

  • Tillgänglighet: Diagrammet har ARIA-märkningen Allelfrekvens per generation för upprepade simulerade populationer.
  • Axlar: X-axeln är märkt Generationer och Y-axeln är märkt Allelfrekvens p.
  • Referenslinje: En horisontell linje visar startvärdet och är märkt Förväntat p = p₀.
  • Bantext: Under diagrammet visas texten Visar ‹shown› av ‹total› banor; varje replikat ingår i sammanfattningen.

Sammanfattande statistik

Under diagrammet sammanställs utfallet för samtliga replikat vid generation T:

Statistik i gränssnittet Beskrivning
Fixerad vid p = 1 Andelen simulerade populationer där allelen nått fixering (frekvens 1.0).
Förlorad vid p = 0 Andelen simulerade populationer där allelen helt gått förlorad (frekvens 0.0).
Ej absorberad vid T Andelen populationer som fortfarande fluktuerar mellan 0 och 1 vid slutgenerationen.
Slutligt medel-p Det genomsnittliga allelfrekvensvärdet över samtliga replikat vid generation T.
Förväntat H vid T Den teoretiska heterozygotin beräknad med formeln H_T = H₀(1 - 1/(2Ne))^T.
Simulerat medel-H vid T Den faktiska genomsnittliga heterozygotin observerad i simuleringarna vid generation T.
Medelgeneration för absorption Den genomsnittliga generationen då populationerna nådde antingen 0 eller 1. Om ingen population fixerats eller förlorats visas ej uppnått.

Vanliga frågor

Ska jag ange faktisk eller effektiv populationsstorlek?
Ange effektiv populationsstorlek, Ne: storleken på en idealiserad reproducerande population som skulle drifta i samma takt som den population du avser att studera. Den faktiska populationsstorleken kan vara mycket större när könsfördelning, reproduktiv framgång, populationsfluktuationer eller populationsstruktur är ojämna.

Är den neutrala sannolikheten för slutlig fixation lika med startfrekvensen?
Ja, i denna neutrala modell utan mutation eller migration har en allel som startar vid frekvensen p₀ den slutliga fixationssannolikheten p₀ och förlustsannolikheten 1 − p₀. De andelar som visas ovan täcker dock endast det angivna antalet generationer och upprepningar, så de kommer att variera med slumpfröet.

Varför kan medelallelfrekvensen ligga kvar nära p₀ medan heterozygotin sjunker?
Neutral drift har ingen föredragen riktning över många oberoende populationer, så medelfrekvensen förblir p₀ i förväntat värde. Enskilda populationer sprider sig dock mot 0 eller 1, och båda gränserna har noll heterozygoti. Variation går därför förlorad även om medelvärdet över populationerna förblir nästan oförändrat.

Kan detta förutsäga vad en verklig population kommer att göra?
Nej. Den visar utfall under en medvetet idealiserad neutral Wright–Fisher-modell. Verkliga prognoser kräver försvarbara uppskattningar av effektiv storlek samt eventuell selektion, mutation, migration, förändrad populationsstorlek, överlappande generationer, koppling och populationsstruktur som är relevanta för fallet.