Symbulation – Agent based modeling of symbiont ecology and evolution


Anya Vostinar and contributors.


Symbulation Logo

Symbulation is an artificial life software tool for agent-based modeling of the evolution of biological symbiosis, which can occur along the spectrum between parasitism and mutualism.

CI codecov DOI Documentation Status GitHub contributors

Try out our browser-based GUI. See our documentation at

Interested in starting a new project with Symbulation? We have a cookiecutter template here:

Symbulation is built with the Empirical platform and the cookiecutter includes our recommended directory layout and example analysis files.


Install the latest Cookiecutter:

pip install -U cookiecutter

Generate an Symbulation project:


Move into the new project directory and the SymbulationEmp directory and make:

cd SymbulationProject/SymbulationEmp

Make any changes that you wish to the file SymSettings.cfg and then run:


By default, your data will be output to the files and

We recommend that you copy your symbulation executable to your Data folders:

cp symbulation_default ../Data/sample_treatment
cd ../Data/sample_treatment

You can then use the provided Python script to run several replicates:


You can also then use the provided Python script to transform your data into a format more easily used by R:

cd ../../Analysis/sample_treatment

And then open our provided R script SampleAnalysis.R in R, set your working directory to the Analysis directory and then run all lines to observe the effect of vertical transmission rate on the interaction value evolved.

Created part of my free logo at

This is a software model of symbiosis which allows for evolution of parasitism and mutualism.

Click here to try it out in your web browser!

Checkout our quick start guides for more information on getting started.

Search for any function, class or variable using the search feature in the top left!