A theoretical model to study macroevolution and phylogeographies.
Named after Moritz Wagner (1813-1887), who made important contributions to our understanding of speciation.
The program is written in ANSI C++11. Tested on Linux 64-bit with clang++ 3.0 and g++ 4.7.0.
Working paper: http://arxiv.org/abs/1203.1790
usage and options
Compile with make (requires a modern ANSI C++11 compiler) and execute with
You can change the model with:
The current version supports four models:
0 Neutral model 1 Model with aleph (see arXiv paper) [default] 2 Model with logistic speciation (decreases with the total number of species). 3 Model with both aleph and logistic speciation.
You can also use the following options [default values]:
-seed Seed for the random number generator . -c Number of communities (or vertices, or nodes, or patches) . -t Number of time steps. Needs to be a power of two . -e Per population extinction rate [0.05]. -m Max migration rate [0.04]. -a Aleph for models 1 and 3 [10.0]. -s Speciation rate (or max speciation rate for logistic models) [0.04]. -se With logistic speciation and n species, the speciation rate is 2s/(1 + se^n) [1.02]. -r Radius of the random geometric network [0.2].
Options not followed by an argument
-shuffle After t/2 time steps, shuffle all populations [false].
$ ./ẃagner -model 1 -a 50 -seed 88
Will run the model 1 with aleph = 50, and seed = 88. The order of the options doesn't matter and all parameters should be printed in the xml output file. If the number of time steps supplied is not a power of two, the problem will find the largest power of two that fits in this number.
I use many features from the C++11 standard so it requires a modern compiler.
Philippe Desjardins-Proulx email@example.com