Question 0 : Décrire votre intuition

L’allèle des yeux bleus étant récessif, je peux penser que la population des personnes aux yeux bleus ne peut que diminuer. Cependant, l’allèle bleu ne disparaitra pas pour autant donc même si celle-ci diminue, il y aura toujours quelques personnes aux yeux bleus. Je pense donc que cette population va diminuer jusqu’à un certain point puis la présence de personnes possédants 2 allèles différents pourra réaugmenter le nombre de personnes aux yeux bleus ou du moins l’équilibrer.

Question 1 : Cas d’une petite population (20 individus)

Code R permettant d’obtenir les résultats:

generationN<-function(P,Imax,N,BB0,MM0){
 # set.seed(100)
  epais=1 #epaisseur du trait pour le graphique
  if(N==1){epais=2}
  
  for(k in 1:N){
    
    #creation du vecteur Pi (vecteur composé de tous les Pi)
    BBi = numeric(Imax)
    MMi = numeric(Imax)
    BBi[1] = BB0
    MMi[1] = MM0
    Pi = numeric(2*Imax)
    Pi[1] = BBi[1]/P
    Pi[2] = MMi[1]/P
    
    #a = probabilité d'avoir deux allèles bleus
    a=0
    #b = probabilité d'avoir deux allèles marrons
    b=0
    
    for(i in 2:Imax){
      #On met à jour les probabilités à l'aide des résultats de la simulation du tour précédent
      a = Pi[2*i-3]
      b = Pi[2*i-2]
      
      #création des vecteurs parents
      Pere = sample(x=c(0,1,2),size=P,replace=T, prob = c(a,1-(a+b),b))
      Mere = sample(x=c(0,1,2),size=P,replace=T, prob = c(a,1-(a+b),b))
      #on selectionne un allèle de chaque parent
      Me = ifelse(Mere==0,0,ifelse(Mere==1,sample(x=c(0,1),size=P,replace=T),1))
      Pe = ifelse(Pere==0,0,ifelse(Pere==1,sample(x=c(0,1),size=P,replace=T),1))
      
      #création du vecteur enfant
      Enfant=Me+Pe
      
      #On compte combien d'enfants ont les deux allèles bleus ou marrons (BBi et MMi) suite à la génération aléatoire précédente
      for(j in 1:P){
        if(Enfant[j]==0){
          BBi[i]=BBi[i]+1
        }
        else if(Enfant[j]==2){
          MMi[i]=MMi[i]+1
        }
      }
      #On enregistre les résultats obtenus dans Pi
      Pi[i*2-1]=BBi[i]/P
      Pi[i*2]=MMi[i]/P
      
    }
    
    #Affichage du graphique
    if(k==1){
      if(N==1){
        plot(MMi/P,type='l',col="brown",lwd=epais,ylim=c(0,1),xlim=c(0,Imax),xlab="Génération",ylab="Proportion d'individus selon leurs allèles",main="Simulation unique")
      }
      else{
        plot(MMi/P,type='l',col="brown",lwd=epais,ylim=c(0,1),xlim=c(0,Imax),xlab="Génération",ylab="Proportion d'individus selon leurs allèles",main="N Simulations différentes")
      }
      lines(BBi/P,type='l',col="deepskyblue4",lwd=epais)
      lines(1-(MMi+BBi)/P,type='l',col="darkgoldenrod2",lwd=epais)
    }
    else{
      lines(MMi/P,type='l',col="brown",lwd=epais)
      lines(BBi/P,type='l',col="deepskyblue4",lwd=epais)
      lines(1-(MMi+BBi)/P,type='l',col="darkgoldenrod2",lwd=epais)
    }
    if(Imax<80){
      points(MMi/P,pch=20,col="brown")
      points(BBi/P,pch=20,col="deepskyblue4")
      points(1-(MMi+BBi)/P,pch=20,col="darkgoldenrod2" )
    }
    legend("topleft",legend=c("MM","BB","MB"),col=c("brown","deepskyblue4","darkgoldenrod2"),lty=1:1,cex=0.8);
  }
}

generation<-function(P,Imax,BB0,MM0){
  generationN(P,Imax,1,BB0,MM0)
}

Première simulation: On part du postulat que 4 personnes soit 20% de la population ont 2 allèles bleus et 12 personnes soit 60% de la population ont 2 allèles marrons. P0=(4,12)

On exécute le programme précédent avec ces paramètres pour obtenir les graphiques correspondants:

generationN(P = 20,Imax = 20,N = 10,BB0 = 4,MM0 = 12)

generation(P = 20,Imax = 20,BB0 = 4,MM0 = 12)

Dans cette situation tout comme envisagé précedemment, on voit la proportion d’individus aux yeux bleus diminuer voir disparaitre pour un moment. En effet puisqu’on part d’une proportion d’individus ayant 2 allèles marrons très forte (60%), il y avait de fortes chances que les enfants aient au moins un de leurs allèles marron. Cependant l’allèle bleu ne disparait pas complètement: on voit clairement que la proportion d’individus ayant les deux allèles reste plutôt constante. Après 20 générations, les individus aux yeux bleux sont très rares mais on peut voir que la proportion d’individus ayant 2 allèles différents est proche de celle des individus aux 2 allèles marrons. En effet, la situation majoritaire est alternée au cours des générations. Ainsi, la population d’individus aux yeux bleus pourrait augmenter si on observait un pic de population possédant les 2 allèles (On peut observer cette situation si on augmente le nombre de génération). Cependant en moyenne, après avoir fait plusieures simulations, on observe que la proportion d’individus MM augmente et après de nombreuses générations devient la seule présente (~Imax>150).

Deuxième simulation: On part du postulat que 12 personnes soit 60% de la population ont 2 allèles bleus et 4 personnes soit 20% de la population ont 2 allèles marrons. P0=(12,4)

generationN(P = 20,Imax = 20,N = 10,BB0 = 12,MM0 = 4)

generation(P = 20,Imax = 20,BB0 = 12,MM0 = 4)

Cette situation est l’inverse de la précédente et de la même façon on voit la proportion d’individus MM diminuer voire disparaitre par moments. Plus la proportion d’individus BB augmente plus il y a de chances qu’elle augmente encore à la prochaine génération puisqu’il y a une plus grande probabilité que les parents soient BB. Cependant dans un premier temps la proportion d’individu ayant les yeux bleus et celle ayant les yeux marrons est équivalente puisque l’allèle bleus est récessif. De même que dans le cas précédent, si on augmente de façon importante le nombre de générations, on peut voir apparaitre des “retournements de situation” ou la proportion d’individus MM devient majoritaire mais en général on voit que finalement ce soont les individus BB qui sont majoritaires et qui finissent par être les seuls présents.

Troisième simulation: On part du postulat que 5 personnes soit 25% de la population ont 2 allèles bleus et 5 personnes soit 25% de la population ont 2 allèles marrons. P0=(5,5)

generationN(P = 20,Imax = 20,N = 10,BB0 = 5,MM0 = 5)

generation(P = 20,Imax = 20,BB0 = 5,MM0 = 5)

Dans cette situation, il y a exactement le même nombre d’allèles bleus que d’allèles marrons. Ainsi les mêmes chances sont données à chaque population de devenir prédominante. C’est pourquoi on voit sur le graphique beaucoup de situations différentes. Il est difficile de dire quelle population a plus de chance d’être prédominante si on considère les populations BB MM et MB. Cependant on peut voir que les individus aux yeux bleus sont moins importants puisqu’ils correspondent uniquement à la population BB. La situation finale dépend surtout des premières générations. Si la population MM augmente dès les premières générations, il y a de fortes chances qu’elle reste dominante et inversement.

Question 2 : Cas d’une grande population (2000 individus)

Première simulation: On part du postulat que 400 personnes soit 20% de la population ont 2 allèles bleus et 1200 personnes soit 60% de la population ont 2 allèles marrons. P0=(400,1200)

generationN(P = 2000,Imax = 100,N = 10,BB0 = 400,MM0 = 1200)

generation(P = 2000,Imax = 100,BB0 = 400,MM0 = 1200)

Ici on voit qu’après 2 ou 3 générations il y a environ 10% de la population qui possèdent les yeux bleus (BB) et parmis les personnes aux yeux marrons, il y a a peu près la même proportion d’individus MM que MB, même si on observe un peu plus souvent une majorité d’individus MM. La situation reste ainsi stable jusqu’à la 100ième génération (et plus). Il s’agit des même proportions que dans la question précédente pourtant les situations sont différentes. En effet même si il n’y a que 10% de la population qui a les allèles BB, ça correspond à 2OO personnes alors que dans la question précédente il s’agissait de 2 personnes. De plus la génération suivante compte également 2000 personnes, on a donc plus de chances d’obtenir des individus BB. On tend beaucoup moins vite vers une situation ou la majorité devient de plus en plus majoritaire voire unique (Disparition de l’allèle B).

Deuxième simulation: On part du postulat que 1200 personnes soit 60% de la population ont 2 allèles bleus et 400 personnes soit 20% de la population ont 2 allèles marrons. P0=(1200,400)

generationN(P = 2000,Imax = 100,N = 10,BB0 = 1200,MM0 = 400)

generation(P = 2000,Imax = 100,BB0 = 1200,MM0 = 400)

On voit ainsi apparaitre la même situation que précédemment mais avec les couleurs inversées. On a donc une population d’individus MM faible (10%) et une population d’individus BB et MB autour de 45%. Ce constat n’a pas la même incidence sur la couleur des yeux puisque 45% de la population (en moyenne) a les yeux bleus. L’interprétation est donc la même que précédemment. Mais avec MM et BB inversés.

Troisième simulation: On part du postulat que 5 personnes soit 25% de la population ont 2 allèles bleus et 5 personnes soit 25% de la population ont 2 allèles marrons. P0=(500,500)

generationN(P = 2000,Imax = 100,N = 10,BB0 = 500,MM0 = 500)

generation(P = 2000,Imax = 100,BB0 = 500,MM0 = 500)

Dans cette dernière situation, on peut voir que la population d’individus MB reste constante (~50%). Pour les 10 premières générations, on peut dire la même chose des populations MM et BB mais par la suite on voit que l’une d’elle peut prendre l’ascendant et ainsi faire baisser l’autre proportion d’individus. Cela dépend comme pour la même situation à la question précédente à une augmentation prgressive d’un type d’individu. Plus sa proportion devient importante plus celle-ci a des chance d’augmenter à la génération suivante.

Question 3 : Cas d’une petite population avec préservation (20 individus mais Imax = 2000)

generation2N<-function(P,Imax,N,BB0,MM0){
  #set.seed(100)
  epais=0.5 #epaisseur du trait pour le graphique
  if(N==1){epais=2}
  
  for(k in 1:N){
    
    #creation du vecteur Pi (vecteur composé de tous les Pi)
    BBi = numeric(Imax)
    MMi = numeric(Imax)
    BBi[1] = BB0
    MMi[1] = MM0
    Pi = numeric(2*Imax)
    Pi[1] = BBi[1]/P
    Pi[2] = MMi[1]/P
    
    #a = probabilité d'avoir deux allèles bleus
    a=0
    #b = probabilité d'avoir deux allèles marrons
    b=0
    
    for(i in 2:Imax){
      #On met à jour les probabilités à l'aide des résultats de la simulation du tour précédent
      a = Pi[2*i-3]
      b = Pi[2*i-2]
      
      #création des vecteurs parents
      Pere = sample(x=c(0,1,2),size=P,replace=T, prob = c(a,1-(a+b),b))
      Mere = sample(x=c(0,1,2),size=P,replace=T, prob = c(a,1-(a+b),b))
      #on selectionne un allèle de chaque parent
      Me = ifelse(Mere==0,0,ifelse(Mere==1,sample(x=c(0,1),size=P,replace=T),1))
      Pe = ifelse(Pere==0,0,ifelse(Pere==1,sample(x=c(0,1),size=P,replace=T),1))
      
      #création du vecteur enfant
      Enfant=Me+Pe
      
      #On compte combien d'enfants ont les deux allèles bleus ou marrons (BBi et MMi) suite à la génération aléatoire précédente
      for(j in 1:(P-2)){
        if(Enfant[j]==0){
          BBi[i]=BBi[i]+1
        }
        else if(Enfant[j]==2){
          MMi[i]=MMi[i]+1
        }
      }
      BBi[i]=BBi[i]+1
      MMi[i]=MMi[i]+1
      #On enregistre les résultats obtenus dans Pi
      Pi[i*2-1]=BBi[i]/P
      Pi[i*2]=MMi[i]/P
      
    }
    
    #Affichage du graphique
    if(k==1){
      if(N==1){
        plot(MMi/P,type='l',col="brown",lwd=epais,ylim=c(0,1),xlim=c(0,Imax),xlab="Génération",ylab="Proportion d'individus selon leurs allèles",main="Simulation unique")
      }
      else{
        plot(MMi/P,type='l',col="brown",lwd=epais,ylim=c(0,1),xlim=c(0,Imax),xlab="Génération",ylab="Proportion d'individus selon leurs allèles",main="N Simulations différentes")
      }
      lines(BBi/P,type='l',col="deepskyblue4",lwd=epais)
      lines(1-(MMi+BBi)/P,type='l',col="darkgoldenrod2",lwd=epais)
    }
    else{
      lines(MMi/P,type='l',col="brown",lwd=epais)
      lines(BBi/P,type='l',col="deepskyblue4",lwd=epais)
      lines(1-(MMi+BBi)/P,type='l',col="darkgoldenrod2",lwd=epais)
    }
    if(Imax<80){
      points(MMi/P,pch=20,col="brown")
      points(BBi/P,pch=20,col="deepskyblue4")
      points(1-(MMi+BBi)/P,pch=20,col="darkgoldenrod2" )
    }
    legend("topleft",legend=c("MM","BB","MB"),col=c("brown","deepskyblue4","darkgoldenrod2"),lty=1:1,cex=0.8);
  }
}

generation2<-function(P,Imax,BB0,MM0){
  generation2N(P,Imax,1,BB0,MM0)
}

Regardons l’impact d’une telle modification sur les mêmes situations que celles observées précédemment dans la question 1:

P0=(4,12)

generation2N(P = 20,Imax = 200,N = 10,BB0 = 4,MM0 = 12)

generation2(P = 20,Imax = 200,BB0 = 4,MM0 = 12)

P0=(12,4)

generation2N(P = 20,Imax = 200,N = 10,BB0 = 12,MM0 = 4)

generation2(P = 20,Imax = 200,BB0 = 12,MM0 = 4)

P0=(5,5)

generation2N(P = 20,Imax = 200,N = 10,BB0 = 5,MM0 = 5)

generation2(P = 20,Imax = 200,BB0 = 5,MM0 = 5)

Ce changement a causé d’importantes modifications dans le comportement des courbes. En effet même après 200 générations il n’y a pas une proportion d’individus nettement supérieure aux autres. Ainsi dans les 3 cas la propertion d’individus MB est autour de 50% en variant de 30% à 60% ~. Même si dans certains cas on observe une prédominance des individus BB ou MM, en général leur proportion est aux alentours de 20%. En effet puisqu’il y a toujours au moin un individu ayant les allèles BB et un autre les allèles MM, la situations peut toujours s’inverser. On a vu que dans le cas de population réduite, les proportioins changent très rapidement donc même s’il ne reste que 2 allèles BB au tour suivant il peut il y avoir plusieurs BB ou du moins plusieurs MB et donc la proportion de BB peut augmenter. (->Resp MM) On obtient donc ces schémas qui présentent quelques pics d’une population donnée mais qui comme l’indique le mot pic finissent par diminuer.

Question 4 : Conclusion

Les résultats restent conforment à ceux que j’imaginais au départ. En effet, il faut bien distinguer la population aux yeux bleus ou marrons et la population d’individus BB, MB ou MM. Cependant, j’étais partie du principe que les populations étaient équivalentes au départ sans faire varier les probabilités. En plus de vérifier les hypothèses que j’avais émises au début de ce tp, j’ai pu découvrir les différentes situations qui résultaient du postulat de départ. Ma priorité si je devais modifier le modèle serait de prendre en compte la localisation des personnes. En effet si on effectue une étude sur un lieu restreint et donc sur un nombre restreint de personnes, il n’est pas imortant de prendre en compte le lieu ou se trouvent les personnes aux yeux BB, MB ou MM. Cependant si l’étude porte sur un très grand territoire, il est important de le prendre en compte. Par exemple si on effectue un étude en Europe, on peut voir que la proportion de personnes aux yeux bleus est très importante au nord de l’Europe et au contraire très faible au Sud. Les parents ayant plus de chance de se rencontrer si il sont proches sur le territoire, il faut prendre cet élément en compte.

Dans tous les cas il est impossible de repésenter la réalité car de trop nombreux paramètres sont à prendre en compte: les allèles M et B ne sont pas les seuls existants et d’autres allèles sont à prendre en compte également.