Cargando…

The Community Simulator: A Python package for microbial ecology

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...

Descripción completa

Detalles Bibliográficos
Autores principales: Marsland, Robert, Cui, Wenping, Goldford, Joshua, Mehta, Pankaj
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7092969/
https://www.ncbi.nlm.nih.gov/pubmed/32208436
http://dx.doi.org/10.1371/journal.pone.0230430
_version_ 1783510206624301056
author Marsland, Robert
Cui, Wenping
Goldford, Joshua
Mehta, Pankaj
author_facet Marsland, Robert
Cui, Wenping
Goldford, Joshua
Mehta, Pankaj
author_sort Marsland, Robert
collection PubMed
description 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.
format Online
Article
Text
id pubmed-7092969
institution National Center for Biotechnology Information
language English
publishDate 2020
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-70929692020-04-01 The Community Simulator: A Python package for microbial ecology Marsland, Robert Cui, Wenping Goldford, Joshua Mehta, Pankaj PLoS One Research Article 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. Public Library of Science 2020-03-24 /pmc/articles/PMC7092969/ /pubmed/32208436 http://dx.doi.org/10.1371/journal.pone.0230430 Text en © 2020 Marsland et al http://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
spellingShingle Research Article
Marsland, Robert
Cui, Wenping
Goldford, Joshua
Mehta, Pankaj
The Community Simulator: A Python package for microbial ecology
title The Community Simulator: A Python package for microbial ecology
title_full The Community Simulator: A Python package for microbial ecology
title_fullStr The Community Simulator: A Python package for microbial ecology
title_full_unstemmed The Community Simulator: A Python package for microbial ecology
title_short The Community Simulator: A Python package for microbial ecology
title_sort community simulator: a python package for microbial ecology
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7092969/
https://www.ncbi.nlm.nih.gov/pubmed/32208436
http://dx.doi.org/10.1371/journal.pone.0230430
work_keys_str_mv AT marslandrobert thecommunitysimulatorapythonpackageformicrobialecology
AT cuiwenping thecommunitysimulatorapythonpackageformicrobialecology
AT goldfordjoshua thecommunitysimulatorapythonpackageformicrobialecology
AT mehtapankaj thecommunitysimulatorapythonpackageformicrobialecology
AT marslandrobert communitysimulatorapythonpackageformicrobialecology
AT cuiwenping communitysimulatorapythonpackageformicrobialecology
AT goldfordjoshua communitysimulatorapythonpackageformicrobialecology
AT mehtapankaj communitysimulatorapythonpackageformicrobialecology