Simulator for genetisk drift i populasjoner
Simulator for genetisk drift i populasjoner er et gratis nettbasert verktøy som lar brukere simulere og visualisere nøytral genetisk drift ved hjelp av den diploide Wright–Fisher-modellen. Ved å sette opp en simulert avlspopulasjon kan man følge og sammenligne reproduserbare baner for allelfrekvens på tvers av flere uavhengige populasjoner for å se hvordan genetisk variasjon går tapt eller fikseres over generasjoner. Verktøyet hjelper brukere med å forstå hvordan tilfeldig prøvetaking påvirker allelfrekvenser over tid, og viser simulert heterozygoti, fiksering og tapsrater uten å hevde at det forutsier reelle evolusjonære utfall.
Dine parametere og simulerte populasjoner forblir i denne nettleseren. All databehandling skjer lokalt på din enhet, og ingen data blir lastet opp eller sendt bort.
Populasjonsoppsett og parametere
I grensesnittet for "Populasjonsoppsett" kan du konfigurere simuleringsmodellen ved hjelp av følgende parametere:
- Scenarioer: Forhåndsdefinerte innstillinger som raskt laster typiske eksempler:
- Liten populasjon
- Stor populasjon
- Sjeldent allel
- Effektiv populasjonsstørrelse, Ne: Angis i "avlindivider". Dette må være et heltall fra 1 til 100,000.
- Startfrekvens for allel, p₀: Angis som en "andel, 0–1". Verdien må være mellom 0 og 1, inkludert begge grenser.
- Generasjoner: Angis i "generasjoner". Dette må være et heltall fra 1 til 2,000.
- Uavhengige populasjoner: Angis i "replikater". Dette må være et heltall fra 1 til 200.
- Tilfeldig frø: Et tekstfelt på maksimalt 100 tegn som brukes til å gjenskape de nøyaktige simulerte banene. Du kan også klikke på knappen "Nytt frø" for å generere et tilfeldig frø.
Nettleseren håndterer en maksimal arbeidsbelastning på 5 000 000 planlagte trekninger av allelkopier, beregnet som 2Ne × generasjoner × replikater. Hvis dette produktet overskrides, blokkeres simuleringen for å forhindre overbelastning av nettleseren.
Tolkning av resultater og statistikk
Når simuleringen kjøres, viser verktøyet statusmeldinger, en interaktiv graf og detaljert sammendragsstatistikk.
Statusmeldinger
Under kjøring og etter fullført simulering vil du se meldinger som:
Trekker neste generasjoner…under beregningen.Simulerte ‹replicates› populasjoner gjennom ‹generations› generasjoner med frøet «‹seed›».når prosessen er ferdig.Endre populasjonsscenarioet eller kjør dette eksempelet med frø igjen.for å veilede neste kjøring.
Baner for allelfrekvens (Diagram)
Diagrammet har ARIA-merkingen Allelfrekvens etter generasjon for gjentatte simulerte populasjoner. X-aksen er merket Generasjon, og Y-aksen er merket Allelfrekvens p. En horisontal referanselinje viser Forventet p = p₀. Under grafen indikerer teksten Viser ‹shown› av ‹total› baner; alle replikater er inkludert i sammendraget. hvor mange baner som tegnes visuelt.
Sammendragsstatistikk
Etter hver simulering beregnes og presenteres følgende verdier for populasjonene ved endepunktet (generasjon T):
- Fiksert ved p = 1: Andelen simulerte populasjoner der allelet har nådd fiksering.
- Tapt ved p = 0: Andelen simulerte populasjoner der allelet har gått helt tapt.
- Ikke absorbert innen T: Andelen populasjoner som fortsatt har varierende allelfrekvenser ved simuleringsslutt.
- Gjennomsnittlig endelig p: Den gjennomsnittlige allelfrekvensen på tvers av alle replikater ved generasjon T.
- Forventet H ved T: Teoretisk forventet heterozygoti basert på matematisk reduksjon over tid.
- Gjennomsnittlig simulert H ved T: Den faktiske observerte heterozygotien i de simulerte populasjonene.
- Gjennomsnittlig absorpsjonsgenerasjon: Generasjonen der populasjonene i gjennomsnitt nådde enten 0 eller 1. Hvis ingen populasjoner ble absorbert (fiksering eller tap), viser dette feltet
ikke nådd.
Formel, substitusjon og presisjon
Simulatoren viser de matematiske formlene og de konkrete substitusjonene for den første generasjonen basert på dine valgte inndata:
Matematiske modeller
- Wright–Fisher-overgang:
Ved hver generasjon trekker Wright–Fisher-overgangen det neste allelantallet og deler det på de tilgjengelige genkopiene: Xₜ₊₁ ~ Binomial(2Ne, pₜ); pₜ₊₁ = Xₜ₊₁ ÷ (2Ne). - Statistiske momenter:
Før prøvetaking beskriver disse momentene spekteret av mulige neste generasjoner: E[Xₜ₊₁] = 2Ne·pₜ; Var(Xₜ₊₁) = 2Ne·pₜ(1 − pₜ); Var(pₜ₊₁) = pₜ(1 − pₜ) ÷ (2Ne). - Heterozygotiens fall:
Den forventede andelen av ulike allelpar avtar over t generasjoner som følger: H₀ = 2p₀(1 − p₀); Hₜ = H₀(1 − 1 ÷ (2Ne))ᵗ.
Substitusjonseksempel for første generasjon
Verktøyet fyller ut formlene med dine faktiske verdier for å vise matematikken i praksis:
Første generasjon bruker 2 × ‹population› = ‹copies› trekninger av allelkopier.E[X₁] = ‹copies› × ‹frequency› = ‹mean› A-kopier.For den første generasjonen er Var(X₁) = ‹copies› × ‹frequency› × (1 − ‹frequency›) = ‹variance›; SD(p₁) = ‹sd›.Første plottede replikat trakk X₁ = ‹sampled› A-kopier, så p₁ = ‹sampled› ÷ ‹copies› = ‹frequency›.
Hver binomiale trekning utføres med nøyaktig Bernoulli-prøvetaking i stedet for en normaltilnærming. Beregningene beholder JavaScript-dobbeltpresisjon, noe som betyr at frekvensene alltid ligger på diskrete trinn av 1 ÷ (2Ne). I grensesnittet rundes de viste verdiene av til maksimalt seks desimaler.
Metode, antakelser og begrensninger
Denne simulatoren implementerer den nøytrale diploide Wright–Fisher-modellen som beskrevet i fagressurser fra Nature Education og Stanford Human Genetics. Modellen bygger på flere strenge teoretiske forutsetninger:
- Konstant effektiv populasjonsstørrelse: Antallet avlende individer (Nₑ) endres ikke mellom generasjoner.
- Diskrete, ikke-overlappende generasjoner: Hele populasjonen erstattes samtidig i hvert tidssteg.
- Tilfeldig, uavhengig prøvetaking: Foreldre trekkes helt tilfeldig med erstatning for å danne neste generasjon.
- Selektiv nøytralitet: Ingen av allelene gir noen overlevelses- eller reproduksjonsfordel.
- Ett ukoblet locus med to alleler: Modellen simulerer kun ett enkelt gensted med to mulige tilstander.
- Ingen mutasjon eller migrasjon: Det introduseres ingen nye alleler utenfra eller via mutasjon underveis.
Siden dette er en stokastisk biologisk modell, gjelder ikke en ingeniørmessig sikkerhetsfaktor. Modellen har absorberende grenser: uten mutasjon eller migrasjon vil en bane som treffer enten p = 0 eller p = 1 aldri kunne forlate denne tilstanden.
Du må ikke bruke denne simulatoren som en prognose for reelle populasjoner dersom seleksjon, endringer i populasjonsstørrelse, skjeve kjønnsforhold, ujevn reproduktiv suksess, overlappende generasjoner, innavl, kobling, genflyt eller populasjonsstruktur har betydning for det aktuelle tilfellet.
Vanlige spørsmål (FAQ)
Bør jeg oppgi faktisk populasjonsstørrelse eller effektiv populasjonsstørrelse?
Skriv inn effektiv populasjonsstørrelse, Ne: størrelsen på en idealisert avlspopulasjon som ville drifte i samme takt som populasjonen du ønsker å studere. Den faktiske populasjonsstørrelsen kan være mye større når kjønnsforhold, reproduktiv suksess, populasjonssvingninger eller populasjonsstruktur er ujevn.
Hvorfor kan gjennomsnittlig allelfrekvens holde seg nær p₀ mens heterozygotien faller?
Nøytral drift har ingen foretrukket retning på tvers av mange uavhengige populasjoner, så den gjennomsnittlige frekvensen forblir p₀ i forventning. Individuelle populasjoner sprer seg imidlertid mot 0 eller 1, og begge grensene har null heterozygoti. Variasjon går derfor tapt selv om gjennomsnittet på tvers av populasjonene forblir nesten uendret.
Er den nøytrale sannsynligheten for endelig fiksering lik startfrekvensen?
Ja, i denne nøytrale modellen uten mutasjon eller migrasjon har et allel som starter med frekvensen p₀ en endelig fikseringssannsynlighet på p₀ og en sannsynlighet for tap på 1 − p₀. Ratene som vises ovenfor dekker bare det angitte antallet generasjoner og repetisjoner, så de vil variere med frøet.
Kan dette forutsi hva en reell populasjon vil gjøre?
Nei. Den viser utfall under en bevisst idealisert nøytral Wright–Fisher-modell. Reelle prognoser krever forsvarlige estimater av effektiv størrelse og eventuell seleksjon, mutasjon, migrasjon, endret populasjonsstørrelse, overlappende generasjoner, kobling og populasjonsstruktur som har betydning for det aktuelle tilfellet.
Feilmeldinger og feilsøking
Hvis du taster inn ugyldige verdier i populasjonsoppsettet, vil simulatoren vise en av følgende feilmeldinger for å rettlede deg:
- Ikke-numerisk verdi:
‹field›: «‹token›» er ikke et tall. - Desimaltall der heltall kreves:
‹field›: skriv inn et heltall. - Ugyldig populasjonsstørrelse:
Effektiv populasjonsstørrelse må være et heltall fra 1 til 100,000. - Ugyldig startfrekvens:
Startfrekvens for allel må være mellom 0 og 1, inkludert begge grenser. - Ugyldig antall generasjoner:
Generasjoner må være et heltall fra 1 til 2,000. - Ugyldig antall replikater:
Uavhengige populasjoner må være et heltall fra 1 til 200. - Manglende frø:
Skriv inn et tilfeldig frø slik at simuleringen kan gjenskapes. - For langt frø:
Hold det tilfeldige frøet til 100 tegn eller færre. - Overskredet kapasitetsgrense:
Dette oppsettet planlegger ‹draws› trekninger av allelkopier, noe som overskrider nettlesergrensen på ‹limit›. Reduser populasjonsstørrelsen, generasjoner eller repetisjoner.