Simulering og inferens i matematiske modeller fra...
Transcript of Simulering og inferens i matematiske modeller fra...
Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modellerfra biologien
Lars Nørvang Andersen
Institut for Matematik
Aarhus, Marts 2015
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Gorilla projekt - data
Motivationen for projektet var at studere artsdannelse iforbindelse kortlægningen af gorillaens genom.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Model
t = TAt = TAt = TA
t = 0
Oprindeligpopulation
Population1
Population2
Fortid
Nutid
m1→2
m2→1
m1→2
m2→1
Fokus lå på en beskrivelse af den proces som ledte frem til deto populationer, som observeres. Specifikt:
Tidspunktet for opsplitning af den oprindelige population.Tilstedeværelse/fravær af migration.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Gorilla projekt - data
Som data betragtes kolonner i DNA alignments.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Gorilla projekt - data
Datasættet kan således opsummeres i en 10× 10 tabel:
Eastern GorillaAA CC GG TT AC AG AT CG CT GT
Wes
tern
Gor
illa
AA nAAAA nAACC nAAGG nAATT nAAAC nAAAG nAAAT nAACG nAACT nAAGTCC nCCAA nCCCCnCCCC nCCGG nCCTT nCCAC nCCAG nCCAT nCCCG nCCCT nCCGTGG nGGAA nGGCC nGGGG nGGTT nGGAC nGGAG nGGAT nGGCG nGGCT nGGGTTT nTTAA nTTCC nTTGG nTTTT nTTAC nTTAG nTTAT nTTCG nTTCT nTTGTAC nACAA nACCC nACGG nACTT nACAC nACAG nACAT nACCG nACCT nACGTAG nAGAA nAGCC nAGGG nAGTT nAGAC nAGAG nAGAT nAGCG nAGCT nAGGTAT nATAA nATCC nATGG nATTT nATAC nATAG nATAT nATCG nATCT nATGTCG nCGAA nCGCC nCGGG nCGTT nCGAC nCGAG nCGAT nCGCG nCGCT nCGGTCT nCTAA nCTCC nCTGG nCTTT nCTAC nCTAG nCTAT nCTCG nCTCT nCTGTGT nGTAA nGTCC nGTGG nGTTT nGTAC nGTAG nGTAT nGTCG nGTCT nGTGT
For at fortsætte, skal vi opstille en statistisk model for datasåledes at vi udlede likelihood-funktionen L(TA,m1→2,m2→1).Vores model skal sætte os i stand til at tilskrivesandsynligheder til cellerne i vores tabel, hvorefter voreslikelihood-funktionen kan bruges til estimere parametrene.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Wright-Fisher modellen - to alleler
Nutid
Fremtid
Antager blandt andet: Konstant populationsstørrelse, ingenmutationer, ikke-overlappende generationer.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
R
R er et open source statistikprogram, som kan hentes påadressen:http://www.r-project.org/
Et populært (og open source) udviklingsmiljø er programmetRStudio, som kan findes på adressen:http://www.rstudio.com/
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
R
R-kode til at generere een generation:
gen = c('A','A','A','A','a','a','a','a') Liste med 4 A-er og 4 a-ersample(gen,replace = TRUE) sample bruges til udtræk med tilbagelægning
[1] "a" "a" "a" "a" "a" "a" "A" "a"
Vi kan iterere ovenstående og gemme antallet af ’A’-er i hvergeneration, indtil der kun er ’A’-er eller ’a’-er.
gen=c('A','A','A','A','A','A','A','A','A','A','a','a','a','a','a','a','a','a','a','a')out=c()
while (sum(gen=='A') > 0 && sum(gen=='a') > 0) { Så længe der både er A-er og a-er...out = c(out,sum(gen=='A')) ... tæl A-er og husk antallet ...gen = sample(gen,replace = TRUE) ... og lav en ny generation.
}
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
R - indledende eksempler
plot(out,type='l',col='blue',ylim=c(0,20))
0 5 10 15 20 25 30
05
1015
20
Index
out
I fraværet af mutationer, vil A = 0 eller a = 0 væreabsorberende tilstande.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
R - indledende eksempler
Ved at tænke på et valg af A som “succes” ses at antallet afA-er binomialfordelt, hvor sandsynlighedsparameteren erfrekvensen af A-er i den foregående generation.
N = 2000frekvens = 0.5out=c(frekvens)while (frekvens > 0 && frekvens < 1) {
antalAer = rbinom(1,N,frekvens) rbinom simulerer binomialfordelingen.frekvens = antalAer/N beregn ny frekvensout = c(out,frekvens)
}
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
R - indledende eksempler
plot(out,type="l",col='blue',ylim=c(0,1))
0 500 1000 1500 2000 2500
0.0
0.2
0.4
0.6
0.8
1.0
Index
out
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Estimation af absorptionssandsynligheden
Med et simpelt R program kan vi estimere sandsynligheden forabsorption i 1:
N = 2000R = 10000out = rep(0,R) Initialiserer en vektor med R nuller
for (i in 1:R) {frekvens = 0.5while (frekvens > 0 && frekvens < 1) {
frekvens = rbinom(1,N,frekvens)/N}out[i] = frekvens
}mean(out) mean beregner gennemsnittet
Output:
[1] 0.5033
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Estimation af ventetiden på absorption
Et lidt mere kompliceret spørgsmål er følgende: Hvordansammenhængen mellem middel-ventetiden på absorption ogfrekvensen?Spørgsmålet kan belyses vha. nedenstående stykke kode:
for (initial_frekvens in 1:9) { Gennemløb 1 . . . 9absorptions_tider = rep(0,R)for (i in 1:R) {
c = 0 tæller til antal gennemkørsler af løkkenfrekvens = initial_frekvens/10 start-frekvensenwhile (frekvens > 0 && frekvens < 1) {
frekvens = rbinom(1,N,frekvens)/Nc = c + 1
}absorptions_tider[i] = c
}out[initial_frekvens] = mean(absorptions_tider)
}
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Estimation af ventetiden på absorption
Plot af resultatet:
0.0 0.2 0.4 0.6 0.8 1.0
500
1000
1500
2000
2500
x
theo
abst
ime(
x)
●
●
●
●
●
●
●
●
●
Den indtegnede kurve er grafen for funktionen
p 7→ −2N(p log(p) + (1− p) log(1− p)) .
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Mutationer indføres
Vi antager nu at der i hver generation er sandsynlighed pA→afor at mutere fra A til a, og pa→A for at mutere fra a til A. Antalletaf A-er findes nu som
#A-er = #A-er valgt i foregående generation, som ikke muterede+#a-er valgt i foregående generation, som muterede. +(N −#A-er) valgt i foregående generation, som muterede.
Idet f betegner frekvensen af A-er i foregående generation,resulterer dette i en binomialfordeling medsandsynlighedsparameter:
f (1− pA→a) + (1− f )pa→A .
Når mutationer kan forekomme vil A = 0 og a = 0 ikke længerevære absorberende tilstande.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Histogrammer med mutationer
N = 200; T = 300; repetitioner = 50000 T = 300 generationerp_A_to_a = p_a_to_A = 0.002 Dette er pA→a og pa→A
out = matrix(0,repetitioner,T)out[,1] = N/2for (i in 1:repetitioner) {
for (j in 2:T) {out[i,j] = rbinom(1,N,(out[i,j-1]/N)*(1-p_A_to_a)+(1-out[i,j-1]/N)*p_a_to_A)
}}hist(out[,10]/N) Histogram for den 10ende søjle, dvs. den 10ende generation.
Generation = 10
Frekvens af A−er
Tæ
lling
er
0.0 0.2 0.4 0.6 0.8 1.0
050
010
0015
0020
0025
00
Generation = 50
Frekvens af A−er
Tæ
lling
er
0.0 0.2 0.4 0.6 0.8 1.0
020
040
060
080
010
0012
00Generation = 300
Frekvens af A−er
Tæ
lling
er
0.0 0.2 0.4 0.6 0.8 1.0
020
040
060
0
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Histogrammer med mutationer
Histogrammer som funktion af tiden.Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Histogrammer med mutationer
Histogrammer, alternativ startbetingelse.Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
To populationer
Vi forestiller os nu a vores oprindelige population af størrelse Nsplitter op i to populationer af størrelse N/2 hver.Vi indfører derfor migrationssandsynligheder p1→2 og p2→1.For en population fandt vi en binomialfordeling medsandsynlighedsparameter
f (1− pA→a) + (1− f )pa→A .
Med to populationer bliver antal A-er i population 1 igenbinomialfordelt, nu med sandsynlighedsparameter
f1(1− pA→a)(1− p1→2) + (1− f1)pa→A(1− p1→2)+
f2(1− pA→a)p2→1 +(1− f2)pa→Ap2→1
og vi får et analogt udtryk for den tilsvarendesandsynlighedsparameter for population 2.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Histogrammer med mutationer - to populationer
Histogrammer for to populationer.Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Heterozygositet
Vi indfører nu heterozygositeten til at være sandsynligheden forat udtrække 2 forskellige alleler fra populationen, dvs.
Hn =2(# A-er)(N − # A-er)
N2 ,
og ser på hvordan denne opfører sig som funktion af tiden.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Histogrammer og estimeret heterozygositet
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Efterskrift
I Wright-Fisher modellen er udgangspunktet nutiden, ogmodellen beskriver den fremtidige udvikling.I forbindelse med inferens vil vi i praksis betragte en model,hvor tiden “kører” baglæns, dvs. hvor modellen beskriverudviklingen bagud i tid.
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
“Baglæns tid”
1 2 3 4 5 6 7
Fortid
Nutid
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien
Simulering og inferens i matematiske modeller fra biologien
Afslutning
Scally et al. Nature, 2012.Andersen et al. Journal of Mathematical Biology (2014)
Lars Nørvang Andersen Simulering og inferens i matematiske modeller fra biologien