Simulating evolutionary birth-death processes with EvoId.jl

Hello guys, I am posting here a link to EvoId.jl, a package that I have been developing for my research.
EvoId.jl is purposed for numerical experiments in theoretical evolutionary biology, and implements a few algorithms (Wright Fisher, Gillespie) to simulate the evolutionary dynamics of individuals structured over phenotype spaces and / or a geographical space. Although its scope is limited, it might be of interest to people who would like to simulate evolutionary birth deaths processes. Such models can provide useful perspectives on a number of central issues in evolution :seedling:.

It is (much) less complete than the superb Agents.jl, but might be easier to use for simulating evolutionary individual based models that are rooted in some mathematical framework (point processes).

Here is a sketch visualising what can be done with EvoId.jl. In this scenario, individuals are geographically structured over the vertices of a graph. They are further characterised by a neutral trait u1 that is not under selection, and an adaptive trait s that is selected against. Individuals can migrate from one vertex to an other, can give births to offsprings, and can die. The scatter plots show snapshots of the individuals’ trait distribution on two vertices which select for different trait values θ.

Let me know if you find it interesting - I could register EvoId.jl. I am also happy for any sort of contributions or suggestions. Cheers! :grinning:


Looks cool. Evolutionary simulations are the reason I learned to code in the first place!