Skip to main content

Utilities for working with the Kinetic Simulation Algorithm Ontology (KiSAO)

Project description

Python package for working with the the Kinetic Simulation Algorithm Ontology (KiSAO), an ontology of algorithms for simulating and analyzing biological models, as well as the characteristics of these algorithms, their input parameters, and their outputs.

Installing this package

Requirements

  • Python >= 3.7

  • pip

Installation

Please run the following command to install this package:

pip install kisao

To generate a matrix of the substitutability among algorithms, install this package with the substitutability-matrix option:

pip install kisao[substitutability-matrix]

Tutorial

from kisao import Kisao
from kisao import utils
from kisao.data_model import AlgorithmSubstitutionPolicy

# load the ontology
kisao = Kisao()

# get a term
term = kisao.get_term('KISAO_0000019')

# get the name of the term
term.name
>> 'CVODE'

# get sets of methods
algs = utils.get_ode_algorithms()
sorted([alg.name for alg in algs])[0:5]
>> [
      'Adams method',
      'Adams predictor-corrector method',
      'Adams-Bashforth method',
      'Adams-Moulton method',
      'Bader-Deuflhard method',
   ]

algs = utils.get_sde_algorithms()
algs = utils.get_pde_algorithms()
algs = utils.get_tau_leaping_algorithms()
algs = utils.get_ode_algorithms()
algs = utils.get_gillespie_like_algorithms()
algs = utils.get_tau_leaping_algorithms()
algs = utils.get_rule_based_algorithms()
algs = utils.get_sde_algorithms()
algs = utils.get_pde_algorithms()
algs = utils.get_flux_balance_algorithms()
algs = utils.get_logical_algorithms()
algs = utils.get_hybrid_algorithms()

# get a set of substitutable algorithms for a specific substitution policy
cvode = kisao.get_term('KISAO_0000019')
euler_forward = kisao.get_term('KISAO_0000030')
lsoda = kisao.get_term('KISAO_0000088')
lsodar = kisao.get_term('KISAO_0000089')
fba = kisao.get_term('KISAO_0000437')
fva = kisao.get_term('KISAO_0000526')

alt_algs = utils.get_substitutable_algorithms_for_policy(cvode,
    substitution_policy=AlgorithmSubstitutionPolicy.SIMILAR_APPROXIMATIONS)
sorted([alt_alg.name for alt_alg in alt_algs])[0:5]
>> [
      'Adams method',
      'Adams predictor-corrector method',
      'Adams-Bashforth method',
      'Adams-Moulton method',
      'Bader-Deuflhard method',
   ]

# get a preferred substitution for an algorithm
requested_alg = lsoda
implemented_algs_in_preferred_order = [cvode, lsoda, lsodar, euler_forward]
alt_alg = utils.get_preferred_substitute_algorithm(requested_alg, implemented_algs_in_preferred_order,
    substitution_policy=AlgorithmSubstitutionPolicy.SIMILAR_APPROXIMATIONS)
alt_alg.name
>> 'LSODA'

requested_alg = lsoda
implemented_algs_in_preferred_order = [cvode, euler_forward]
alt_alg = utils.get_preferred_substitute_algorithm(requested_alg, implemented_algs_in_preferred_order,
    substitution_policy=AlgorithmSubstitutionPolicy.SIMILAR_APPROXIMATIONS)
alt_alg.name
>> 'CVODE'

requested_alg = lsoda
implemented_algs_in_preferred_order = [fba, fva]
alt_alg = utils.get_preferred_substitute_algorithm(requested_alg, implemented_algs_in_preferred_order,
    substitution_policy=AlgorithmSubstitutionPolicy.SIMILAR_APPROXIMATIONS)
alt_alg
>> None

Browsing KiSAO

KiSAO can be browsed through BioPortal and OLS.

Browsing the substitutability of algorithms catalogued by KiSAO

A matrix of the substitutability of algorithms catalogued by KiSAO is available here. The documentation for this package describes the queries and rules used to define this matrix.

Contributing to KiSAO

Please see the KiSAO repository for information about contributing to KiSAO and this package.

License

This package is released under Artistic License 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kisao-2.34.tar.gz (109.4 kB view hashes)

Uploaded Source

Built Distribution

kisao-2.34-py2.py3-none-any.whl (111.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page