index.md 2.54 KB
Newer Older
Victor's avatar
Victor committed
1
2
# ABMEv.jl Documentation

Victor's avatar
Victor committed
3
4
5
6
7
This is a suite for simulating the evolutionary dynamics of a population in a multidimensional space. The population is modelled at the level of the individual - this suite hence falls in the realm of *Agent Based Modelling*.
The purpose of this package is to provide a numerical laboratory for evolutionary dynamics, supplying
- a flexible atomic structure of agents and underlying evolutionary space
- algorithms and update rules for the simulations
- analysis tools to investigate the simulations.
8

Victor's avatar
Victor committed
9
## Features
Victor's avatar
Victor committed
10
Agents consist of sets of traits in some combination of vector spaces. A vector space can represent for example **a geographical landscape, a trait space, or genetic structure**. Spaces can be of any dimensions, discrete or continuous, bounded or unbounded. They can equally consist of graphs.
Victor's avatar
Victor committed
11
Vector spaces are used to define birth and death processes, as well as mutation processes.
12

Victor's avatar
Victor committed
13
### Specificities
Victor's avatar
Victor committed
14
15
- [ABMEv.jl allows to keep track of agents' trait lineages](@ref lineages)
- [ABMEv.jl enables to run evolutionary dynamics on graphs!](@ref genetic_structure)
Victor's avatar
Victor committed
16

Victor's avatar
Victor committed
17
## Getting started
Victor's avatar
Victor committed
18
```@repl
Victor's avatar
Victor committed
19
20
21
using ABMEv
```

Victor's avatar
Victor committed
22
23
## Tutorial
We strongly advise to have a look at the tutorial section.
Victor's avatar
Victor committed
24
25
26
27
28
```@contents
Pages = [
    "examples/delta_competition_example.md",
    "examples/changing_environment.md",
    "examples/sympatric_speciation.md",
Victor's avatar
Victor committed
29
    "examples/gradient.md",
Victor's avatar
Victor committed
30
31
32
33
34
    "examples/genetic_structure.md",
    ""
    ]
Depth = 2
```
Victor's avatar
Victor committed
35
## How it works
Victor's avatar
Victor committed
36
General workflow to launch any simulation is the following
Victor's avatar
Victor committed
37

Victor's avatar
Victor committed
38
39
40
41
42
- [Define the combination of vector spaces you are interested in.](manual/space.md)
- Define birth and death function, that depend on agents position in the space
- Define mutation function
- [Define initial population state and time](manual/world)
- [Run the simulation according to some updating algorithm](manual/run_world.md)
Victor's avatar
Victor committed
43
- [Obtain a summary of the population state](manual/callbacks.md)
Victor's avatar
Victor committed
44

Victor's avatar
Victor committed
45
46
### Available algorithms
As of now, three types of simulation algorithm can be used:
Victor's avatar
Victor committed
47
48
49
- [Gillepsie](manual/gillepsie.md)
- [Wright-Fisher](manual/wright_fisher.md)
- [CFM](CFM.md)
Victor's avatar
Victor committed
50
51
52
53
54
55

## References
- [Champagnat and Ferriere founding article](https://linkinghub.elsevier.com/retrieve/pii/S0040580905001632)
- [Champagnat and Ferriere second article - 2008](https://www.tandfonline.com/doi/full/10.1080/15326340802437710)

## Similar packages:
Victor's avatar
Victor committed
56
[Agents.jl](https://juliadynamics.github.io/Agents.jl/) This package is oriented towards general ABM modelling, and miss many of the specificities of ABMEv.jl , such as vector spaces operations, update algorithm, and analysis tools.