| Literature DB >> 35436294 |
Erickson Fajiculay1,2,3, Chao-Ping Hsu1,4,5.
Abstract
Modeling biochemical systems can provide insights into behaviors that are difficult to observe or understand. It requires software, programming, and understanding of the system to build a model and study it. Softwares exist for systems biology modeling, but most support only certain types of modeling tasks. Desirable features including ease in preparing input, symbolic or analytical computation, parameter estimation, graphical user interface, and systems biology markup language (SBML) support are not seen concurrently in one software package. In this study, we developed a python-based software that supports these features, with both deterministic and stochastic propagations. The software can be used by graphical user interface, command line, or as a python import. We also developed a semi-programmable and intuitively easy topology input method for the biochemical reactions. We tested the software with semantic and stochastic SBML test cases. Tests on symbolic solution and parameter estimation were also included. The software we developed is reliable, well performing, convenient to use, and compliant with most of the SBML tests. So far it is the only systems biology software that supports symbolic, deterministic, and stochastic modeling in one package that also features parameter estimation and SBML support. This work offers a comprehensive set of tools and allows for better availability and accessibility for studying kinetics and dynamics in biochemical systems.Entities:
Mesh:
Year: 2022 PMID: 35436294 PMCID: PMC9015124 DOI: 10.1371/journal.pone.0256409
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.752
Fig 1Schematic diagram showing some of the modeling tasks available in BioSANS.
The basic modeling scheme includes model construction, propagation, and analysis. Except for blue colors, the same color in different branches indicates similar types of analysis under a common category. Green shaded boxes are for analytical expressions, and orange shaded boxes are for numerical results.
Fig 2An example of a topology file that can be used to perform simulations in BioSANS.
Fig 3An example of an ODE file with 2 chemical species.
Fig 4An example of BioSANS structured simulation language (SSL) scripts.
Fig 5An example of the use of BioSANS as a python import or library.
Feature comparison between BioSANS and selected software with a similar purpose.
| Feature | Copasi | Stochkit2 | Stochpy | Cerena | GillesPy2 | pysb | BioSANS |
|---|---|---|---|---|---|---|---|
|
| |||||||
| Exact SSA |
|
|
|
|
|
|
|
| Inexact SSA |
|
|
|
|
|
|
|
| LNA |
|
|
| ||||
| Parameter estimation |
|
|
|
|
|
| |
| Network localization |
| ||||||
|
| |||||||
| Species analytical expression |
|
|
|
| |||
| Steady state concentration |
|
|
|
| |||
| LNA |
| ||||||
| Network localization |
| ||||||
|
| |||||||
| SBML (stochastic) |
|
|
|
|
|
|
|
| SBML (semantic) |
|
|
|
|
|
| |
| Easy to prepare input |
|
|
| ||||
| Actual interval output |
|
|
|
|
|
| |
| Fixed-interval output |
|
|
|
|
|
| |
|
| |||||||
| Auto-correlation |
|
| |||||
| Histogram distance |
| ||||||
| Propensities |
|
| |||||
| Moments |
| ||||||
| Waiting times |
| ||||||
| Probability density with time |
| ||||||
| time-slice of densities |
| ||||||
| Average of trajectory |
| ||||||
| Bootstrapped covariance |
| ||||||
|
| |||||||
| Plotting |
|
|
|
|
|
| |
| Data exportation |
|
|
|
|
|
| |
| GUI |
|
| |||||
| console |
|
|
|
|
|
| |
| Flexible environment |
|
|
|
|
| ||
a—do not necessarily need to type rate law expression, no coding.
b—can be supported with minor to complex coding since the software is based on python.
?—feature not fully supported, with limited capability.
SSA, stochastic simulation algorithm; SBML, systems biology markup language;
GUI, graphical user interface; LNA—linear noise approximation.
Comparison of performance of several software packages for the SBML semantic test case.
| Software | Date submitted | Passed |
|---|---|---|
| BioUML 2018.2 | 18-Jun-18 | 100% |
| Morpheus 2.1 | 18-Jan-19 | 81% |
|
| 7-Dec-20 | 71% |
| BioUML 0.9.5 | 4-Jun-13 | 67% |
| COPASI Build 4.23.189 | 12-Jun-18 | 67% |
| iBioSim 2.4.2 | 4-Feb-13 | 67% |
| Simulation Core Library 1.2 | 28-Mar-13 | 63% |
| libRoadRunner 1.3 | 29-Dec-14 | 60% |
| RoadRunner 2.10.0 | 16-Jan-13 | 60% |
| WinBEST-KIT 2.0.0 | 20-Dec-18 | 60% |
| LibSBMLSim 1.1.0 | 31-Jan-13 | 55% |
| AMICI 0.11.8 | 1-Sep-19 | 20% |
| FluxBalance 1.9 | 21-Jul-14 | 1% |
a -The software included here are those that submit their results to an SBML website.
Comparison between StochPy and BioSANS in passing tests in the SBML discrete stochastic model test suite (DSMTS).
| Algorithm | Mean test | Standard deviation test | ||||||
|---|---|---|---|---|---|---|---|---|
| 100% | 95–99% | 90–95% | <90% | 100% | 95–99% | 90–95% | <90% | |
|
| ||||||||
|
| 36 | 0 | 1 | 2 | 36 | 1 | 1 | 1 |
|
| 36 | 2 | 1 | 0 | 36 | 1 | 1 | 1 |
|
| 35 | 3 | 0 | 1 | 36 | 1 | 0 | 2 |
|
| 37 | 0 | 0 | 2 | 34 | 2 | 2 | 1 |
|
| 31 | 4 | 1 | 3 | 23 | 1 | 0 | 15 |
|
| 31 | 5 | 0 | 3 | 21 | 0 | 0 | 18 |
|
| ||||||||
|
| 37 | 0 | 0 | 2 | 36 | 1 | 0 | 2 |
|
| 36 | 1 | 0 | 2 | 37 | 0 | 0 | 2 |
|
| 37 | 0 | 0 | 2 | 34 | 0 | 1 | 4 |
a—Shown are number of test cases with their corresponding number of cases passed for a percentage range among 39 cases using the exact test. All others were tested by using the inexact test.
b—Very close to 100% and sometimes correct for more than 3 trials.
SSA, stochastic simulation algorithm.
Performance based on simulation time at 10, 100, 1000, and 10000 trajectories.
| cases | SSACSolver | NumPySSASolver | BioSANS SSA | Stochpy SSA | Pysb SSA | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 10 | 100 | 1000 | 10000 | 10 | 100 | 1000 | 10000 | 10 | 100 | 1000 | 10000 | 10 | 100 | 1000 | 10000 | 10 | 100 | 1000 | 10000 | |
|
| ||||||||||||||||||||
|
| 2.5 | 3.1 | 8.1 | 59.7 | 8.5 | 85.2 | 843 | 8902 | 4.6 | 28.7 | 276 | 2673 | 13.6 | 131 | 1292 | 13466 | 0.7 | 3.6 | 31.2 | 327.3 |
|
| 2.6 | 3.2 | 8.3 | 65.8 | 8.6 | 85.9 | 897 | 9173 | 5.0 | 31.2 | 299 | 2966 | 14.0 | 145 | 1357 | 14730 | 0.8 | 3.5 | 31.5 | 322.9 |
|
| ||||||||||||||||||||
|
| 2.5 | 2.5 | 2.8 | 9.7 | 0.1 | 1.0 | 8.7 | 90.4 | 0.1 | 0.4 | 2.9 | 27.3 | 0.2 | 1.5 | 15.1 | 157.4 | 0.5 | 2.0 | 17.4 | 187.5 |
|
| 2.5 | 2.5 | 2.8 | 7.6 | 0.1 | 0.9 | 8.6 | 88.9 | 0.1 | 0.4 | 3.0 | 27.3 | 0.2 | 1.7 | 15.1 | 159.0 | 0.5 | 2.1 | 17.5 | 187.4 |
|
| 2.5 | 2.6 | 2.8 | 7.9 | 0.1 | 0.9 | 9.1 | 95.9 | 0.1 | 0.4 | 2.9 | 27.9 | 0.2 | 1.8 | 16.5 | 167.3 | 0.5 | 2.1 | 17.7 | 188.0 |
|
| 2.5 | 2.5 | 2.8 | 7.6 | 0.1 | 0.9 | 8.8 | 90.9 | 0.1 | 0.4 | 3.0 | 27.1 | 0.2 | 1.6 | 15.0 | 159.1 | 0.5 | 2.1 | 17.5 | 185.9 |
|
| 2.5 | 2.5 | 2.8 | 7.6 | 0.1 | 0.9 | 8.4 | 90.0 | 0.1 | 0.4 | 2.9 | 27.4 | 0.2 | 1.6 | 15.3 | 159.9 | 0.5 | 2.0 | 17.3 | 187.2 |
|
| 2.5 | 2.5 | 2.8 | 7.8 | 0.1 | 0.8 | 8.6 | 90.6 | 0.1 | 0.4 | 2.9 | 27.4 | 0.2 | 1.6 | 15.4 | 159.2 | 0.5 | 2.0 | 17.5 | 187.5 |
|
| 2.6 | 2.6 | 2.8 | 7.5 | 0.1 | 0.9 | 9.0 | 95.4 | 0.1 | 0.4 | 2.9 | 27.8 | 0.2 | 1.6 | 14.5 | 162.5 | 0.5 | 1.9 | 17.4 | 188.6 |
|
| 2.5 | 2.5 | 2.8 | 7.6 | 0.1 | 0.9 | 8.6 | 92.0 | 0.1 | 0.4 | 2.9 | 27.6 | 0.2 | 1.6 | 15.0 | 170.7 | 0.5 | 2.0 | 17.5 | 187.0 |
|
| 2.5 | 2.5 | 2.8 | 7.8 | 0.1 | 0.9 | 9.0 | 95.3 | 0.1 | 0.4 | 2.9 | 27.6 | 0.2 | 1.6 | 14.8 | 161.3 | 0.5 | 2.1 | 18.1 | 193.7 |
|
| 2.5 | 2.5 | 2.8 | 7.9 | 0.1 | 0.9 | 9.3 | 94.9 | 0.1 | 0.5 | 3.0 | 27.6 | 0.2 | 1.6 | 15.0 | 161.6 | 0.6 | 2.1 | 18.3 | 195.2 |
|
| 2.5 | 2.5 | 2.8 | 7.5 | 0.1 | 0.9 | 8.7 | 92.7 | 0.1 | 0.4 | 2.9 | 27.6 | 0.2 | 1.6 | 14.7 | 160.5 | 0.5 | 2.1 | 17.8 | 188.6 |
|
| 2.5 | 2.5 | 2.7 | 7.7 | 0.1 | 1.1 | 8.8 | 92.5 | 0.1 | 0.4 | 3.3 | 27.1 | 0.2 | 1.6 | 14.9 | 159.6 | 0.5 | 2.1 | 17.5 | 186.9 |
|
| 2.5 | 2.6 | 2.8 | 7.9 | 0.1 | 0.7 | 6.4 | 68.2 | 0.1 | 0.3 | 2.2 | 20.0 | 0.2 | 1.4 | 13.5 | 131.3 | 0.6 | 2.3 | 19.3 | 207.8 |
a—DSMTS test cases with SBML syntax that gillespy2 fully supports out of 39 tests cases.
DSMTS—Discrete Stochastic Method Test Suite.
Performance of BioSANS in generating analytical expression for species concentration with different symbolic computation modes.
| Schemes | Variables | Correct expression | No expression |
|---|---|---|---|
|
|
| 50% | 50% |
|
|
| 50% | 50% |
|
| 93% | 7% | |
|
| 97% | 3% |
a—Some of the expressions obtained were correct, but not all of the expressions needed were obtained.
Performance of BioSANS in generating LNA and a steady-state analytical expression.
| Variables | Correct expression | Takes too long | |
|---|---|---|---|
| Steady state | Cov/Var | ||
|
| 95% | 55% | 45% |
|
| 95% | 90% | 10% |
|
| 95% | 55% | 45% |
|
| 95% | 90% | 10% |
a—Numeric answer but symbolically derived.
b—Some returns wrong expression.
Performance of different algorithms in BioSANS for parameter estimation.
| Algorithms | Speed | Rate constant | Trajectory |
|---|---|---|---|
| Percent passed | |||
|
| Fast | 93% | 98% |
|
| Slow | 93% | 93% |
|
| Slow | 93% | 93% |
|
| Slow | 98% | 98% |
|
| Fast | 91% | 91% |
|
| Fast | 80% | 87% |
|
| N/A | 44% | 64% |
a—A rough estimate of the time required. Usually “fast,” within 5 min, with a typical desktop computer. (slow ≥ 30 min).
b—A graphical user interface element for sliding values of parameter.