Cargando…
CBMOS: a GPU-enabled Python framework for the numerical study of center-based models
BACKGROUND: Cell-based models are becoming increasingly popular for applications in developmental biology. However, the impact of numerical choices on the accuracy and efficiency of the simulation of these models is rarely meticulously tested. Without concrete studies to differentiate between solid...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
BioMed Central
2022
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8805507/ https://www.ncbi.nlm.nih.gov/pubmed/35100968 http://dx.doi.org/10.1186/s12859-022-04575-4 |
_version_ | 1784643258638401536 |
---|---|
author | Mathias, Sonja Coulier, Adrien Hellander, Andreas |
author_facet | Mathias, Sonja Coulier, Adrien Hellander, Andreas |
author_sort | Mathias, Sonja |
collection | PubMed |
description | BACKGROUND: Cell-based models are becoming increasingly popular for applications in developmental biology. However, the impact of numerical choices on the accuracy and efficiency of the simulation of these models is rarely meticulously tested. Without concrete studies to differentiate between solid model conclusions and numerical artifacts, modelers are at risk of being misled by their experiments’ results. Most cell-based modeling frameworks offer a feature-rich environment, providing a wide range of biological components, but are less suitable for numerical studies. There is thus a need for software specifically targeted at this use case. RESULTS: We present CBMOS, a Python framework for the simulation of the center-based or cell-centered model. Contrary to other implementations, CBMOS’ focus is on facilitating numerical study of center-based models by providing access to multiple ordinary differential equation solvers and force functions through a flexible, user-friendly interface and by enabling rapid testing through graphics processing unit (GPU) acceleration. We show-case its potential by illustrating two common workflows: (1) comparison of the numerical properties of two solvers within a Jupyter notebook and (2) measuring average wall times of both solvers on a high performance computing cluster. More specifically, we confirm that although for moderate accuracy levels the backward Euler method allows for larger time step sizes than the commonly used forward Euler method, its additional computational cost due to being an implicit method prohibits its use for practical test cases. CONCLUSIONS: CBMOS is a flexible, easy-to-use Python implementation of the center-based model, exposing both basic model assumptions and numerical components to the user. It is available on GitHub and PyPI under an MIT license. CBMOS allows for fast prototyping on a central processing unit for small systems through the use of NumPy. Using CuPy on a GPU, cell populations of up to 10,000 cells can be simulated within a few seconds. As such, it will substantially lower the time investment for any modeler to check the crucial assumption that model conclusions are independent of numerical issues. SUPPLEMENTARY INFORMATION: The online version contains supplementary material available at 10.1186/s12859-022-04575-4. |
format | Online Article Text |
id | pubmed-8805507 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2022 |
publisher | BioMed Central |
record_format | MEDLINE/PubMed |
spelling | pubmed-88055072022-02-03 CBMOS: a GPU-enabled Python framework for the numerical study of center-based models Mathias, Sonja Coulier, Adrien Hellander, Andreas BMC Bioinformatics Software BACKGROUND: Cell-based models are becoming increasingly popular for applications in developmental biology. However, the impact of numerical choices on the accuracy and efficiency of the simulation of these models is rarely meticulously tested. Without concrete studies to differentiate between solid model conclusions and numerical artifacts, modelers are at risk of being misled by their experiments’ results. Most cell-based modeling frameworks offer a feature-rich environment, providing a wide range of biological components, but are less suitable for numerical studies. There is thus a need for software specifically targeted at this use case. RESULTS: We present CBMOS, a Python framework for the simulation of the center-based or cell-centered model. Contrary to other implementations, CBMOS’ focus is on facilitating numerical study of center-based models by providing access to multiple ordinary differential equation solvers and force functions through a flexible, user-friendly interface and by enabling rapid testing through graphics processing unit (GPU) acceleration. We show-case its potential by illustrating two common workflows: (1) comparison of the numerical properties of two solvers within a Jupyter notebook and (2) measuring average wall times of both solvers on a high performance computing cluster. More specifically, we confirm that although for moderate accuracy levels the backward Euler method allows for larger time step sizes than the commonly used forward Euler method, its additional computational cost due to being an implicit method prohibits its use for practical test cases. CONCLUSIONS: CBMOS is a flexible, easy-to-use Python implementation of the center-based model, exposing both basic model assumptions and numerical components to the user. It is available on GitHub and PyPI under an MIT license. CBMOS allows for fast prototyping on a central processing unit for small systems through the use of NumPy. Using CuPy on a GPU, cell populations of up to 10,000 cells can be simulated within a few seconds. As such, it will substantially lower the time investment for any modeler to check the crucial assumption that model conclusions are independent of numerical issues. SUPPLEMENTARY INFORMATION: The online version contains supplementary material available at 10.1186/s12859-022-04575-4. BioMed Central 2022-01-31 /pmc/articles/PMC8805507/ /pubmed/35100968 http://dx.doi.org/10.1186/s12859-022-04575-4 Text en © The Author(s) 2022 https://creativecommons.org/licenses/by/4.0/Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) . The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/ (https://creativecommons.org/publicdomain/zero/1.0/) ) applies to the data made available in this article, unless otherwise stated in a credit line to the data. |
spellingShingle | Software Mathias, Sonja Coulier, Adrien Hellander, Andreas CBMOS: a GPU-enabled Python framework for the numerical study of center-based models |
title | CBMOS: a GPU-enabled Python framework for the numerical study of center-based models |
title_full | CBMOS: a GPU-enabled Python framework for the numerical study of center-based models |
title_fullStr | CBMOS: a GPU-enabled Python framework for the numerical study of center-based models |
title_full_unstemmed | CBMOS: a GPU-enabled Python framework for the numerical study of center-based models |
title_short | CBMOS: a GPU-enabled Python framework for the numerical study of center-based models |
title_sort | cbmos: a gpu-enabled python framework for the numerical study of center-based models |
topic | Software |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8805507/ https://www.ncbi.nlm.nih.gov/pubmed/35100968 http://dx.doi.org/10.1186/s12859-022-04575-4 |
work_keys_str_mv | AT mathiassonja cbmosagpuenabledpythonframeworkforthenumericalstudyofcenterbasedmodels AT coulieradrien cbmosagpuenabledpythonframeworkforthenumericalstudyofcenterbasedmodels AT hellanderandreas cbmosagpuenabledpythonframeworkforthenumericalstudyofcenterbasedmodels |