https://github.com/cschoel/inamo

Modelica re-implementation of the one-dimensional mathematical model of the atrioventricular node by Inada et al. (2009)

https://github.com/cschoel/inamo

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Modelica re-implementation of the one-dimensional mathematical model of the atrioventricular node by Inada et al. (2009)

Basic Info
  • Host: GitHub
  • Owner: CSchoel
  • License: mit
  • Language: Modelica
  • Default Branch: main
  • Size: 3.43 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 6 years ago · Last pushed over 3 years ago

https://github.com/CSchoel/inamo/blob/main/

# InaMo

![Build Status](https://github.com/CSchoel/inamo/workflows/Run%20tests%20and%20deploy%20docs/badge.svg)
[![Documentation dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://cschoel.github.io/inamo/dev/)

This project contains a reusable, reproducible, understandable, and extensible reimplementation of the one-dimensional model of the rabbit atrioventricular node by Inada et al. [\[1\]](#ref1).
InaMo is written in Modelica and follows our guidelines for writing models in MoDROGH-languages [\[2\]](#ref2).

## Features

* Composed of small modules with minimal interfaces that are reused throughout the code to avoid code duplication
* Declarative code that focuses on conveying biological meaning instead of technical implementation details
* Reference simulation data published in separate repository [inamo-ref](https://github.com/CSchoel/inamo-ref)
* Variables and parameters with speaking names, SI units, and documentation strings
* Explanations and literature references for all model components
* A reference and/or rationale for every parameter value
* Extensive unit tests based on reference plots from literature
* Graphical representation of components and whole model
* HTML documentation that is generated from the model code using [MoST.jl](https://github.com/THM-MoTE/ModelicaScriptingTools.jl) (WIP)
* A [changelog](CHANGELOG.md) that captures all significant changes to this project
* Continuous integration pipelines that guarantees that
  * the full environment required for simulation can be obtained from `.travis.yml`
  * models can be simulated without errors
  * simulations produce identical results to reference
  * simulations work on a machine that is physically separated from development environment
  * units are consistent across all models
  * documentation remains up to date (WIP)

## Quick start for replication

To simulate the models in this repository on your own machine, you can use the following steps:

* Download and install the following software for your operating system
  * [OpenModelica](https://www.openmodelica.org/)
  * [Julia](https://julialang.org/) (for unit tests)
  * The Python distribution [Anaconda](https://www.anaconda.com/products/individual) (for plots)
    * alternatively install the packages listed in `requirements.txt` for your existing Python version
* Clone this repository with Git or download a [ZIP file of the current master branch](https://github.com/CSchoel/hh-modelica/archive/master.zip) and extract it with an archive manager of your choice.
* Run the following commands in a command prompt from the main folder of this project
  * `julia -e 'using Pkg; Pkg.add("ModelicaScriptingTools")'` (installs MoST.jl)
  * `julia scripts/unittests.jl` (runs unittests)
  * `python scripts/plot_validation.py` (produces plots)

Alternatively, you can also simulate the models without Python and Julia by using the OpenModelica Connection Editor (OMEdit):

* Download and install [OpenModelica](https://www.openmodelica.org/) for your operating system
* Start OMEdit and open the folder `InaMo` with "File"  "Load Library".
* Open the model you want to simulate, e.g. `InaMo.Examples.FullCell.AllCells` (select from "Libraries Browser" on the left hand side with a double click).
* Simulate the model with "Simulation"  "Simulate".
* In the "Variables Browser" on the right hand side select the variable `an.cell.v`, `n.cell.v`, and `nh.cell.v`.

## Documentation

A detailed [documentation of InaMo](https://cschoel.github.io/inamo/dev/) can be found on GitHub pages. (WIP)

## References

[1] S. Inada, J. C. Hancox, H. Zhang, and M. R. Boyett, One-dimensional mathematical model of the atrioventricular node including atrio-nodal, nodal, and nodal-his cells, Biophys. J., vol. 97, no. 8, pp. 21172127, 2009, doi: [10.1016/j.bpj.2009.06.056](https://doi.org/10.1016/j.bpj.2009.06.056).

[2] C. Schlzel, V. Blesius, G. Ernst, and A. Dominik, The impact of mathematical modeling languages on model quality in systems biology: A software engineering perspective, bioRxiv, preprint 10.1101/2019.12.16.875260v3, 2020. doi: [10.1101/2019.12.16.875260](https:://doi.org/10.1101/2019.12.16.875260).

## Publication

This project is described in the following article:

C. Schlzel, V. Blesius, G. Ernst, A. Goesmann, and A. Dominik, Countering reproducibility issues in mathematical models with software engineering techniques: A case study using a one-dimensional mathematical model of the atrioventricular node, PLoS ONE, vol. 16, no. 7, p. e0254749, 2021, doi: [10.1371/journal.pone.0254749](https://doi.org/10.1371/journal.pone.0254749).

Owner

  • Name: Christopher Schölzel
  • Login: CSchoel
  • Kind: user
  • Location: Münster, Germany
  • Company: LanguageTool

AI Engineer at LanguageTool with a passion for teaching and open source

GitHub Events

Total
Last Year