Giter Club home page Giter Club logo

BioDynaMo logo

The open-source Biology Dynamics Modeller

User's guide | Developer's guide | Report an issue or bug

What is BioDynaMo?

BioDynaMo is a software platform to easily create, run, and visualise 3D agent-based simulations.

  • Blazing fast: The core of the platform is written in C++ and is highly optimized to harness the computational power of modern hardware.
  • Modular: Reuse, adapt, or create modules that represents a specific biological behavior or entity. With BioDynaMo you don't need to start from scratch anymore!
  • Visual: Effortlessly create astonishing images and animations of your simulations. Your publications and presentations will stand out even more!

Installation

Simply run the following command:

curl https://biodynamo.github.io/install | bash

For more information, check out our user's guide documentation that is designed for people who will use BioDynaMo on a day-to-day basis, and aims at providing users with all essential info to make full use of BioDynaMo.

Contributing

The main purpose of this repository is to evolve BioDynaMo, making it faster and easier to use. Development of BioDynaMo happens in the open on Github, and we are grateful to the community for contributing bugfixes and improvements. Please read our contribution guide and learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to BioDynaMo.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community in BioDynaMo. Thus, we expect all contributors to adhere to our covenant for contributors.

Citation

When publishing work that relies on BioDynaMo, please cite the following manuscripts, which underwent rigorous peer review. Citations are crucial to improve your work's reproducibility, show funding agencies that our work is valuable to the community, and increase your peers' knowledge about our terrific tool.

Lukas Breitwieser, Ahmad Hesam, Jean de Montigny, Vasileios Vavourakis, Alexandros Iosif, Jack Jennings, Marcus Kaiser, Marco Manca, Alberto Di Meglio, Zaid Al-Ars, Fons Rademakers, Onur Mutlu, Roman Bauer, BioDynaMo: a modular platform for high-performance agent-based simulation, Bioinformatics, Volume 38, Issue 2, January 2022, Pages 453–460, https://doi.org/10.1093/bioinformatics/btab649

@article{breitwieser_biodynamo_2022,
    author = {Breitwieser, Lukas and Hesam, Ahmad and de Montigny, Jean and Vavourakis, Vasileios and Iosif, Alexandros and Jennings, Jack and Kaiser, Marcus and Manca, Marco and Di Meglio, Alberto and Al-Ars, Zaid and Rademakers, Fons and Mutlu, Onur and Bauer, Roman},
    title = "{BioDynaMo: a modular platform for high-performance agent-based simulation}",
    journal = {Bioinformatics},
    volume = {38},
    number = {2},
    pages = {453-460},
    year = {2021},
    month = {09},
    issn = {1367-4803},
    doi = {10.1093/bioinformatics/btab649},
    url = {https://doi.org/10.1093/bioinformatics/btab649}
}

Lukas Breitwieser, Ahmad Hesam, Fons Rademakers, Juan Gómez Luna, and Onur Mutlu. 2023. High-Performance and Scalable Agent-Based Simulation with BioDynaMo. In Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (Montreal, QC, Canada) (PPoPP ’23). Association for Computing Machinery, New York, NY, USA, 174–188. https://doi.org/10.1145/3572848.3577480 arXiv:2301.06984 [cs.DC]

@inproceedings{breitwieser_biodynamo_2023,
  author = {Breitwieser, Lukas and Hesam, Ahmad and Rademakers, Fons and Luna, Juan G\'{o}mez and Mutlu, Onur},
  title = {High-Performance and Scalable Agent-Based Simulation with BioDynaMo},
  year = {2023},
  isbn = {9798400700156},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  url = {https://doi.org/10.1145/3572848.3577480},
  doi = {10.1145/3572848.3577480},
  booktitle = {Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming},
  pages = {174–188},
  numpages = {15},
  keywords = {NUMA, HPC, performance evaluation, parallel computing, space-filling curve, high-performance simulation, performance optimization, agent-based modeling, memory layout optimization, memory allocation, scalability},
  location = {Montreal, QC, Canada},
  series = {PPoPP '23},
  archivePrefix = "arXiv",
  eprint        = "2301.06984",
  primaryClass  = "cs.DC"
}

We recommend specifying the exact BioDynaMo version used in the methods section. For example:

We use BioDynaMo v1.04.5-e9db03a1 \cite{breitwieser_biodynamo_2022, breitwieser_biodynamo_2023} 
for all simulations in this article. 

The version can be obtained by executing biodynamo --version and can be interpreted as follows: vMAJOR.MINOR.PATCH-SHA SHA is the git commit hash that can be used to check out the exact BioDynaMo version with git checkout SHA.

License

BioDynaMo is Apache 2.0 licensed.

BioDynaMo's Projects

bdm-docker icon bdm-docker

Create and publish Docker images for the BioDynaMo project

biodynamo icon biodynamo

BioDynaMo is a high-performance and modular, agent-based simulation platform.

jsoncpp icon jsoncpp

A C++ library for interacting with JSON.

prototype icon prototype

Repository for proof of principle prototypes

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.