Giter Site home page Giter Site logo

levifussell / microevo Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 1.0 196.96 MB

Comprehending the assembly and maintenance of microbial diversity in natural communities is a major problem of interest in biology. Here, we present a model of species in a continuous space, with mutual higher order interactions, to examine the assembly and stability of microbial communities.

C++ 88.37% Python 10.07% Shell 1.56%
biology microbiology agent-based-modeling

microevo's Introduction

Spatial Microbial Community Dynamics Using a Continuous Species Interaction Model

by Anshuman Swain*1, Levi Fussell*2, William F Fagan1

1Department of Biology, University of Maryland, College Park, MD, USA

2Institute of Perception, Action and Behaviour, University of Edinburgh, Edinburgh, UK

*contributed equally

Instructions for Running the Interactive Process.

For those interested in running some experiments for themselves, we have outlined the steps below for downloading the code base, compiling it, and running it locally on your machine. These steps focus on MacOS, but should also work for Linux.

(1) Clone the repository to a local path on your machine: git clone https://github.com/levifussell/MicroEvo.

(2) You will need to download SFML, which is the low-level graphics library we use for rendering. First, try it the way we describe here. If this doesn't work for you, then follow the instructions here.

(3) Getting 'g++' installed. Try the following different options: (a) Type g++ into a terminal and it might prompt you on how to install it (or it happens to be installed already. (b) Install XCode (just google), and then you should have it on your terminal (test by typing g++). (c) Try one of the options described here: https://stackoverflow.com/questions/2122425/how-do-i-install-g-on-macos-x

(4) Install SFML according to here: https://www.sfml-dev.org/tutorials/2.5/start-osx.php (or navigate to your approrpiate OS).

(5) Compile the code using 'g++': (a) type and run in a terminal: g++ main_param_select.cpp -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system -o run.out,

or if that fails, g++ --std=c++11 main_param_select.cpp -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system -o run.out,

or if that fails, g++ --std=c++x0 main_param_select.cpp -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system -o run.out,

(6) Run a test: (a) type and run in a terminal: ./run.out <kill radius> <inhibit radius> <grow radius> <mutate size> <kill margin> <inhibit margin> <seed> (b) if the parameter values are reasonable, but the simulation is black, try changing the <seed>.

Abstract

Comprehending the assembly and maintenance of microbial diversity in natural communities, despite the abundance of antagonistic interactions, is a major problem of interest in biology. A common framework to study the problem is through cyclic dominance games over pairwise interactions. Recent papers incorporating higher-order interactions in these models have successfully explained high diversity of microbes, especially in communities where antibiotic producing, sensitive, and resistant strains co-exist. But most of these models are based on a small number of discrete species, assume a notion of pure cyclic dominance, and focus on low mutation rate regimes, none of which best represents the highly interlinked, quickly evolving and continuous nature of microbial phenotypic space. Here, we present a model of species in a continuous space, with mutual higher order interactions, to examine the assembly and stability of microbial communities. Specifically, we focus on toxin production, vulnerability, and inhibition among the simulated species. We observe intricate interaction between certain parameters that generates highly divergent patterns of diversity and spatial community dynamics. We find that spatial properties are better predicted by species interaction constraints rather than mobility, and that community formation time, mobility, and mutation rate best explain the patterns of diversity.

microevo's People

Contributors

anshuman21111 avatar levifussell avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

kang-zhang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.