Difference between revisions of "Evolution of polymorphism in plants"
Line 22: | Line 22: | ||
:A Butler, A A King 2004 "Phylogenetic comparative analysis: A modeling approach for adaptive evolution" American Naturalist: 164(6): 683-695 | :A Butler, A A King 2004 "Phylogenetic comparative analysis: A modeling approach for adaptive evolution" American Naturalist: 164(6): 683-695 | ||
Back to [[UNIL BSc course: "Solving Biological Problems that require Math 2012"]] | Back to [[UNIL BSc course: "Solving Biological Problems that require Math 2012"]] | ||
+ | |||
+ | '''Separate work on the estimation of the parameters to implement the Ornstein-Uhlenbeck mode''' | ||
+ | :in this work, the goal was to implement the optimization algoritm described in the appendix of Butler and King's just cited paper. | ||
+ | This work was done with the same Supervisors and background as the work on brownian motion just described. | ||
+ | |||
+ | '''Students:''' | ||
+ | :Georg Hoffmann | ||
+ | |||
+ | '''notes on the model:''' | ||
+ | :The model for which i tried to find the parameters, is the simplest form of the Ornstein Uhlenbeck model: the model where at all points | ||
+ | of they evolution, the ancesters had all the same selective optimum. In Butler and King's paper, many different models are tried: | ||
+ | Brownian motion and OU with up to X optimums. In theyr experiment the model with one selective optimum had the worst results in term | ||
+ | of X from all. | ||
+ | Actually, in a first implementation it was possible to choose multiple optimums, but as the code did not give the expected results, it was | ||
+ | rewriten without this option to make it simpler and try to find the error. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | '''Explanation of the implementation''' | ||
+ | :This code failed to give results in accordance with the R packtages Geiger an Ouch, which also showed different results between themselves. | ||
+ | It may be that the data does not allow to get the right results, as only a small number of trees, mostly variations on one tree have been tested. | ||
+ | There are some discussions one can read on the internet about those packtages giving different results, so it does not seem to be something | ||
+ | new. | ||
+ | |||
+ | |||
+ | It seems like the problem with this code lies in the optimization. | ||
+ | In this section we will look at how the code works, wich tests have been done and how some properties described in the reference paper could be verified . | ||
+ | At the same time we will see the algoritm that was implemented. For this, we will follow the order of the algoritm and look at the portions of | ||
+ | code that implement the different parts. |
Revision as of 15:16, 5 June 2012
Evolution of polymorphism in plants
Background:
- Understanding modes of species evolution is the major questions to the current evolutionary biology. As more DNA data become available, an increasing number of researchers is now switching to phylogeny-based stochastic models. Therefore, the key challenge today is to develop and test algorithms which can adequately describe evolution of phenotypes.
Goal:
- The goal of this project is to develop MCMC optimization of Ornstein-Uhlenbeck process with group-specific variance and then use it in phylogenetic comparative analysis to test for signal of directional/divergent selection in a group of plants
Mathematical tools:
- Statistics (stochastic models and MCMC) and programming. The students will learn how to use R to implement stochastic models and develop optimization procedures of the model parameters
Biological or Medical aspects:
- This kind of analysis allow to estimate the most probable way of evolution, and permit to answer a lot of question like phenotypic evolution, comparative analysis between species and more other.
Supervisors:
- Anna Kostikova & Nicolas Salamin
Students:
- Rémy Morier-Genoud
Presentation on Brownian Motion:
Implementation of Brownian Motion in Python: Code & Input examples:
Report: Project Summary & Code explanations
References:
- A Butler, A A King 2004 "Phylogenetic comparative analysis: A modeling approach for adaptive evolution" American Naturalist: 164(6): 683-695
Back to UNIL BSc course: "Solving Biological Problems that require Math 2012"
Separate work on the estimation of the parameters to implement the Ornstein-Uhlenbeck mode
- in this work, the goal was to implement the optimization algoritm described in the appendix of Butler and King's just cited paper.
This work was done with the same Supervisors and background as the work on brownian motion just described.
Students:
- Georg Hoffmann
notes on the model:
- The model for which i tried to find the parameters, is the simplest form of the Ornstein Uhlenbeck model: the model where at all points
of they evolution, the ancesters had all the same selective optimum. In Butler and King's paper, many different models are tried: Brownian motion and OU with up to X optimums. In theyr experiment the model with one selective optimum had the worst results in term of X from all. Actually, in a first implementation it was possible to choose multiple optimums, but as the code did not give the expected results, it was rewriten without this option to make it simpler and try to find the error.
Explanation of the implementation
- This code failed to give results in accordance with the R packtages Geiger an Ouch, which also showed different results between themselves.
It may be that the data does not allow to get the right results, as only a small number of trees, mostly variations on one tree have been tested. There are some discussions one can read on the internet about those packtages giving different results, so it does not seem to be something new.
It seems like the problem with this code lies in the optimization.
In this section we will look at how the code works, wich tests have been done and how some properties described in the reference paper could be verified .
At the same time we will see the algoritm that was implemented. For this, we will follow the order of the algoritm and look at the portions of
code that implement the different parts.