The Community Simulator: A Python package for microbial ecology
arXiv:1904.09367 · doi:10.1371/journal.pone.0230430
Abstract
Natural microbial communities contain hundreds to thousands of interacting species. For this reason, computational simulations are playing an increasingly important role in microbial ecology. In this manuscript, we present a new open-source, freely available Python package called Community Simulator for simulating microbial population dynamics in a reproducible, transparent and scalable way. The Community Simulator includes five major elements: tools for preparing the initial states and environmental conditions for a set of samples, automatic generation of dynamical equations based on a dictionary of modeling assumptions, random parameter sampling with tunable levels of metabolic and taxonomic structure, parallel integration of the dynamical equations, and support for metacommunity dynamics with migration between samples. To significantly speed up simulations using Community Simulator, our Python package implements a new Expectation-Maximization (EM) algorithm for finding equilibrium states of community dynamics that exploits a recently discovered duality between ecological dynamics and convex optimization. We present data showing that this EM algorithm improves performance by between one and two orders compared to direct numerical integration of the corresponding ordinary differential equations. We conclude by listing several recent applications of the Community Simulator to problems in microbial ecology, and discussing possible extensions of the package for directly analyzing microbiome compositional data.
14 pages, 6 figures
References in corpus (10)
- A high-bias, low-variance introduction to Machine Learning for physicists
- CVXPY: A Python-Embedded Modeling Language for Convex Optimization
- A phase transition between the niche and neutral regimes in ecology
- Available energy fluxes drive a transition in the diversity, stability, and functional structure of microbial communities
- A minimal model for microbial biodiversity can reproduce experimentally observed ecological patterns
- A generalized model of island biodiversity
- Effect of resource dynamics on species packing in diverse ecosystems
- Diverse communities behave like typical random ecosystems
- Constrained optimization as ecological dynamics with applications to random quadratic programming in high dimensions
- An analytically tractable model for community ecology with many species