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

Descripción completa

Detalles Bibliográficos
Autores principales: Mathias, Sonja, Coulier, Adrien, Hellander, Andreas
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