Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rscherrer/brachypode
Individual-based simulation of a facilitated plant in a patchy landscape
https://github.com/rscherrer/brachypode
adaptation adaptive-dynamics climate-change ecological-facilitation evolution simulation
Last synced: about 5 hours ago
JSON representation
Individual-based simulation of a facilitated plant in a patchy landscape
- Host: GitHub
- URL: https://github.com/rscherrer/brachypode
- Owner: rscherrer
- Created: 2020-09-01T09:08:48.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-18T23:06:07.000Z (about 1 month ago)
- Last Synced: 2024-12-19T00:20:12.797Z (about 1 month ago)
- Topics: adaptation, adaptive-dynamics, climate-change, ecological-facilitation, evolution, simulation
- Language: C++
- Homepage:
- Size: 19.4 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# brachypode
This is the repository for a program simulating the evolution of an annual grass species in a semi-arid patchy environment.
## Model description
This is an agent-based simulation where sessile individuals dwel in a metapopulation consisting of multiple demes, and each deme contains a facilitated and an unfactilitated habitat patch (faciltiated patches are basically the undergrowth of nurse shrubs). The individuals possess genes that determine some level of tolerance against the harsh conditions encountered outside of the shrubs, which trade off with reproductive output. See manuscript for more details.
## Build
You can use the CMake files provided here to build the program, for example by using this [setup](https://github.com/rscherrer/setupp).
## Usage
This program is a command-line interface program. Assuming the name of the executable is `brachypode`, use the following command in the terminal from the working directory to run a simulation with default parameter values:
```shell
./brachypode
```To run a simulation with custom parameters, use:
```shell
./brachypode parameters.txt
```where `parameters.txt` is a text file containing a list of parameter names and values.
### Parameters
The file `parameters.txt` should look like:
```
type 1
popsize 10
pgood 3 0.8 0.6 0.5 0.3 0.1
maxgrowths 1 2
stress 4 0
zwidths 1 2
capacities 100 10000
steep 2
dispersal 0.1
mutation 0.0001
nchrom 1
nloci 50
effect 0.1
allfreq 0.5
xmax 5
ymax 5
tradeoff 1
selfing 0.95
recombination 1
tend 100
tsave 20
seed 12345
sow 1
loadarch 0
savepars 1
savelog 0
savearch 1
talkative 0
choose 0
```and should be present within the working directory where the simulation is launched. Click [here](doc/PARAMETERS.md) for a detailed description of the parameters and their meaning.
### Genetic architecture
For parameters that have to do with the genetic architecture of the evolving traits in this simulation, see [here](doc/ARCHITECTURE).
### Output
The user can choose which variables to save from the simulation. Those have to be encoded in the `whattosave.txt` file provided that parameter `choose` is set to `1` within the `parameters.txt` file, as explained [here](doc/OUTPUT.md). Output data are saved into binary files with the `.dat` extension, which can be read by the custom-made [R](https://www.r-project.org/) package [brachypoder](https://github.com/rscherrer/brachypoder).
## Links
* [brachypoder](https://github.com/rscherrer/brachypoder): package to read the simulations in R
* [brachypode-results](https://github.com/rscherrer/brachypode-results): generated data and analyses of the results
* [brachypode-ms](https://github.com/rscherrer/brachypode-ms): manuscript
* [brachypode-nb](https://github.com/rscherrer/brachypode-approx): Mathematica notebooks used for some derivations## Permissions
Copyright (c) Raphaël Scherrer, 2024 (open source license will be added upon publication). This code comes with no guarantee whatsoever.