sed-ml / kisao Goto Github PK
View Code? Open in Web Editor NEWOntology of algorithms for analyzing biological models, their parameters, and their outputs
License: Artistic License 2.0
Ontology of algorithms for analyzing biological models, their parameters, and their outputs
License: Artistic License 2.0
name: dfactor
altLabel: fac1
definition: Minimum factor to increase/decrease step size by in one step. The new step-size is chosen subject to the restriction fac1 <= current step-size / old step-size <= fac2.
subClassOf: KISAO_0000242
algorithm: KISAO_0000087, KISAO_0000436
isImplementedIn: SciPy, JModelica, Odespy
Reported by: jonrkarr
For any algorithm with variable step size, sometimes it is helpful to be able to set the minimum step size instead of just the maximum step size.
Reported by: luciansmith
As discussed on the sed-ml mailing list:
https://sourceforge.net/p/sed-ml/mailman/message/34816341/
it turns out that there are situations where a single algorithm must use two different 'maximum order' terms; one for maximum adams order, and a second for maximum BDF order. I know you just added 'maximum order' (at my request--thank you!); can you now add maximum Adams order and maximum BDF order as children of 'maximum order'? Thank you!
Reported by: luciansmith
For algorithms that iterate to a solution (steady state finders in particular), a limit on the number of iterations that should be performed is often helpful.
Reported by: luciansmith
"Such models consist of formal rules governing interactive behaviour. Rule-based simulation methods are methods, used to simulated such models."
should be:
"Such models consist of formal rules governing interactive behaviour. Rule-based simulation methods are methods, used to simulate such models."
and could be:
"Rule-based models consist of formal rules governing interactive behaviour. Rule-based simulation methods simulate such models."
Reported by: dagwa
We suggest to depricate these terms, because the rather describe the update policy of the model than the actual simulation algorithm.
Reported by: dagwa
For any stochastic algorithm, being able to set the seed means you can reproduce your results if you run the same algorithm on the same computer.
Reported by: luciansmith
My request for a new term had a typo I only just found when implementing SED-ML support: the term should be 'minimum damping', not 'minimum dampening'. Sorry!
Reported by: luciansmith
a local optimization algorithm only finds a local optimum of a function. If several optima exist for the function, it usually depends on the starting values for the variables which optimum is found.
This is a kind of optimization algorithm.
Reported by: sahle
name: fraction of optimum
definition: Fraction of the optimum solution which must be maintained
subClassOf: KISAO_0000201
algorithm: FVA
algorithm: pFBA
isImplementedIn: COBRApy
Reported by: jonrkarr
Some solver algorithms and implementations are specifically designed for solving ODE problems (y(0) = y0, y' = f(y, t) ) while others solve more general DAE problems like y(0) = 0, F(x, y, y', t) = 0.
This could be addressed if there was a solver characteristic like 'type of problem'.
Reported by: a1kmm
Create new term: fully asynchronous updating policy
Definition:
An updating policy where all enabled transitions occur either independently or (partially) simultaneously. (i.e. considering all possible combinations of enabled transitions). Thus a state has as many successors as the number of combinations of transitions enabled in this state .
Position:
characteristics branch, as subclass "asynchronous updating policy" (#25), which is suggested to be a subclass of "type of updating policy" (kisao:KISAO_0000451)
Reported by: dagwa
an optimization algorithm tries to find the minumum or maximum of an arbitrary function. It takes a function of one or several variables and determines the values for the variables so that the function value is optimal.
Reported by: *anonymous
name: parallelism
definition: Number of parallel processes to use
subClassOf: KISAO_0000201
algorithm: FVA
algorithm: gFBA
isImplementedIn: COBRApy
Reported by: jonrkarr
Create term: random asynchronous updating policy
Definition:
An updating policy where a single transition is picked randomly from the set of transitions enabled in this state. Thus a state will have at most one successor.
Position:
characteristics branch, as subclass "asynchronous updating policy" (#25), which is suggested to be a subclass of "type of updating policy" (kisao:KISAO_0000451); as a subclass of "random updating policy" (kisao:KISAO_0000452)
Reported by: dagwa
a global optimization algorithm tries to find the global optimum of a function. If a function has several minima/maxima with in the allowed range of variable values, the global minimum/maximum is the one with the smallest/largest function value.
Reported by: sahle
I'd like to propose a term for partitioned leaping:
name: partitioned leaping method
definition:
Multiscale simulation approach for modeling stochasticity in chemical reaction networks.
The approach seamlessly integrates exact-stochastic and "leaping" methodologies into
a single partitioned leaping algorithmic framework. The technique correctly accounts
for stochastic noise at significantly reduced computational cost, requires the definition
of only three modelindependent parameters and is particularly well-suited for simulating
systems containing widely disparate species populations.
subClassOf: KISAO_0000039
isImplementedIn: BioNetGen
parameters: KISAO_0000488
reference: Harris LA, Clancy P. A "partitioned leaping" approach for multiscale modeling of chemical reaction dynamics. J Chem Phys. 125 (14), 144107 (2006).
doi: 10.1063/1.2354085
Reported by: jonrkarr
A bayesian inference algorithm calculates a posterior probability distribution from a prior probability distribution and some additional evidence in the form of a likelyhood function.
Reported by: sahle
Some models require using combined solvers (e.g. CVODE + KINSOL). It would therefore be nice to have a KiSAO term for such combined solvers. The idea is that, using the forthcoming SED-ML L1V4, we will then be able to specify an algorithm as being a "combined solver", which first parameter is the KiSAO term for CVODE and the second parameter the KiSAO term for KINSOL, etc.
Reported by: agarny
name: loopless
definition: Whether to return only loopless flux solutions
subClassOf: KISAO_0000201
algorithm: FVA
isImplementedIn: COBRApy
Reported by: jonrkarr
The fact that kisao only exists as a .owl file makes it very hard to browse. A system like SBO's tree viewer (http://www.ebi.ac.uk/sbo/main/tree) would be very helpful.
Reported by: luciansmith
From KiSAO SurveyMonkey
Q1: Which type of term would you like to suggest?
Algorithm parameter
Q10: Parameter name (e.g. absolute tolerance):
maximum step size
Q11: Parameter type:
double
Q12: Short description:
An upper limit, in the units of the bound variable over which a numerical integration is being performed, that an adaptive step size numerical integration algorithm should take.
Q21: Parameter ancestor/descendants (if any):
error control parameter
Q22: Which algorithms use this parameter?
Multiple, including everything under CVODE-like method, IDA-like method, and specific implementations of many of the multi-step methods and one-step methods.
PAGE 9: Tell us about yourself (optional)
Q23: Your name:
Andrew Miller
Q24: Your e-mail:
Reported by: gambardella
name: beta
definition: Beta parameter for stabilised step size control
subClassOf: KISAO_0000242
algorithm: KISAO_0000087, KISAO_0000436
isImplementedIn: SciPy, JModelica, Odespy
Reported by: jonrkarr
Create new term: synchronous updating policy
Definition:
An updating policy where all enabled transitions occur simultaneously. Thus a state will have at most one successor.
Position:
characteristics branch, as subclass of "type of updating policy" (kisao:KISAO_0000451)
Reported by: dagwa
We suggest to replace the term "Logical Model Simulation Model", because “Discrete Event Simulation algorithm” is more generic, and it refers to the actual type of simulation rather than to the characteristic of the model.
altLabel:
DES
Definition:
Discrete Event Simulation algorithm refers to the simulation of systems whose (countable) discrete states change over time and are event-driven.
Reference: C.G. Cassandras & S. Lafortune "Introduction to Discrete Event Systems", Chapt 1 2nd Ed 2008. Springer
Reported by: dagwa
name: parsimonious Flux Balance Analysis
altLabel: parsimonious FBA
altLabel: pFBA
definition: Method for determining the smallest flux distribution among all flux distributions that satisfy the constraints of the FBA model
subClassOf: KISAO_0000437
seeAlso: 10.1038/msb.2010.47
isImplementedIn: COBRApy
Reported by: *anonymous
To go through the list:
Explicit embedded Runge-Kutta (2, 3) => No term yet
Explicit 4th order (classical) Runge-Kutta => Already KISAO_0000032
Explicit embedded Runge-Kutta-Fehlberg (4, 5) method => Already KISAO_0000086
Explicit embedded Runge-Kutta Cash-Karp (4, 5) method => No term yet
Explicit embedded Runge-Kutta Prince-Dormand (8, 9) method => No term yet.
Implicit Gaussian first order Runge-Kutta => No term yet.
Implicit Gaussian second order Runge-Kutta => No term yet.
Implicit Gaussian 4th order Runge-Kutta => No term yet.
Implicit Bulirsch-Stoer method of Bader and Deuflhard => No term yet.
A variable-coefficient linear multistep Adams method in Nordsieck form. This stepper uses explicit Adams-Bashforth (predictor) and implicit Adams-Moulton (corrector) methods in P(EC)^m functional iteration mode. Method order varies dynamically between 1 and 12 => No term yet.
A variable-coefficient linear multistep backward differentiation formula (BDF) method in Nordsieck form => KISAO_0000030 is vague but that term could describe this algorithm.
Reported by: a1kmm
Hi all,
I would need KISAO terms for the description of dynamic flux balance analysis (DFBA) as algorithms. In the following the 4 short terms, terms and description:
DFBA: dynamic flux balance analysis
"Dynamic flux balance analysis (DFBA) enables the simulation of dynamic biological systems by assuming organisms reach steady state rapidly in response to changes in the extracellular environment. DFBA couples flux balance analysis (FBA) model approaches with dynamic model approaches. There exist three main approaches to simulate DFBA models: the static optimization approach (SOA), the dynamic optimization approach (DOA), and the
direct approach (DA).
SOA-DFBA: stationary optimization approach
Dynamic Flux Balance Analysis (DFBA) couples flux balance analysis (FBA) model approaches with dynamic model approaches. The static optimization approach (SOA) uses the Euler forward method, solving the embedded LPs at each time step. The FBA fluxes are assumed to be constant during the time step.
DOA-DFBA: dynamic optimization approach
Dynamic Flux Balance Analysis (DFBA) couples flux balance analysis (FBA) model approaches with dynamic model approaches. The dynamic optimization approach (DOA) discretizes the time horizon and optimizes simultaneously over the entire time period of interest by
solving a nonlinear programming problem (NLP).
DA-DFBA: direct approach
Dynamic Flux Balance Analysis (DFBA) couples flux balance analysis (FBA) model approaches with dynamic model approaches. The direct approach (DA) includes the LP solver in the right-hand side evaluator for the ordinary differential equations (ODEs) and takes advantage of reliable implicit ODE integrators with adaptive step size for error control.
The terms, namely SOA-DFBA, would be need to encode the simulation algorithm in SED-ML for a publication we are preparing.
For defintion see for instance {Gomez2014},
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-014-0409-8
"Dynamic flux balance analysis (DFBA) enables
the simulation of dynamic biological systems by assuming
organisms reach steady state rapidly in response to
changes in the extracellular environment. Then, the rates
predicted by FBA are used to update the extracellular
environment. There exist three approaches to simulate
DFBA models: the static optimization approach (SOA) [2],
the dynamic optimization approach [2] (DOA), and the
direct approach (DA). The static optimization approach
uses the Euler forward method, solving the embedded
LPs at each time step. Since most DFBA models are
stiff, small time steps are required for stability, making
this approach computationally expensive. Meanwhile, the
DOA approach discretizes the time horizon and optimizes
simultaneously over the entire time period of interest by
solving a nonlinear programming problem (NLP). The
dimension of this NLP increases with time discretization,
therefore it is limited to small-scale metabolic models
[3]. Finally, a DA has been proposed recently by including
the LP solver in the right-hand side evaluator for
the ordinary differential equations (ODEs) and taking
advantage of reliable implicit ODE integrators with adaptive
step size for error control."
Thanks a lot
Matthias
Reported by: matthiaskoenig
As of version 2.6 the CVODES solver by SUNDIALS supports the sparse linear solver KLU from SuiteSparse (http://faculty.cse.tamu.edu/davis/suitesparse.html). Especially for large scale systems with sparse interactions it is important to specify this as linear solver as it will typically yield a substantial computational speedup.
I am not sure whether "algorithm characteristic" is correct. It should be treated the same as other linear solvers such as GMRES.
name: KLU ("Clark Kent" LU factorization algorithm)
type: algorithm characteristic
short description: sparse left-looking LU factorization, using a block triangular form
reference: Davis, Timothy A., and Ekanathan Palamadai Natarajan. "Algorithm 907: KLU, a direct sparse solver for circuit simulation problems." ACM Transactions on Mathematical Software (TOMS) 37.3 (2010): 36.
Reported by: *anonymous
name: safety
altLabel: safe
definition: Safety factor on new step selection
subClassOf: KISAO_0000242
algorithm: KISAO_0000087, KISAO_0000436
isImplementedIn: SciPy, JModelica, Odespy
Reported by: jonrkarr
Hello,
in order to be able to express parameter estimation tasks in SED-ML we need the capability of defining some optimization methods. Under:
KISAO_0000472:
Simulated Annealing
Random Search
Particle Swarm
Genetic Algorithm
and under KISAO_0000471:
Truncated Newton
Steepest Descent
Praxis
NL2SOL
Nelder - Mead
Levenberg - Marquardt
Hooke & Jeeves
description of the methods i like here:
http://copasi.org/Support/User_Manual/Methods/Optimization_Methods/
associated parameters would be nice as well, at the bare minimum we would need (full list of parameters listed on the site above):
Number of Generations:
The parameter is a positive integer value to determine the number of generations the algorithm shall evolve the population.
Population Size:
The parameter is a positive integer value to determine the size of the population
Iteration Limit:
This parameter is positive integer determining the maximum number of iterations the algorithm shall perform.
Tolerance
This parameter is a positive value determining the tolerance with which the solution shall be determined. If the improvement between two steps is less than the tolerance the algorithm stops.
Thank you so much,
best
Frank
Reported by: *anonymous
From KiSAO surveymonkey:
Q3: Algorithm name (e.g. tau-leaping method):
Maximal Timestep Method
Q4: Short description:
Hybrid simulation algorithm integrating Gillespie exact simulation and Gillespie tau leap.
Q5: Reference (e.g. article name, DOI, PubMed id):
PMID: 14990466
Q6: Your comment:
Hybrid simulation method used to simulate systems involving reactions with propensities varying by many orders of magnitude.
Q15: Algorithm ancestor:
hybrid
Q16: Is this method a hybrid one or does it use other algorithms?
yes (please specify which algorithms it uses) Gillespie direct method Gillespie tau leap
Q17: Which characteristics does it possess?
Stochastic simulation of stiff systems
Q18: Which parameters does it use?
Key parameter is Maximal Timestep. If Gillespie waiting time is longer than Maximal Timestep, slow reaction is not fired and tau-leap step is executed for fast reactions. Otherwise, slow reaction is fired and tau-leap is executed with shorter time step.
Q23: Your name:
Andrzej Kierzek
Q24: Your e-mail:
Reported by: gambardella
This should indicate the number of runs that a simulation should perform. It would typically be used to specify the number of runs for a stochastic simulation.
Reported by: cjmyers
name: flux variability analysis
altLabel: FVA
definition: Method for determining the minimum and maximum flux of each reaction that satisfies the flux constraints of the FBA model
subClassOf: KISAO_0000437
seeAlso: 10.1016/j.ymben.2003.09.002
isImplementedIn: COBRApy
Reported by: *anonymous
There should be a way to describe whether the method used to compute the Jacobian matrix is numerical or analytic, and if it is numerical, what algorithm is used (for example, finite differences).
Reported by: a1kmm
The definition reads:
Requested in https://sourceforge.net/p/kisao/feature-requests/12/ the integration method used by the solver
I think part of it is the commit comment :) and the definition should become:
the integration method used by the solver
Reported by: dagwa
Roadrunner has two parameters that one can set for deterministic runs: 'maximum_bdf_order' and 'maximum_adams_order'. Both could be represented by a general 'maximum order' KiSAO term.
Reported by: luciansmith
Create new term: asynchronous updating policy
Definition:
An updating policy where all enabled transitions (events) occur independently. Thus a state has as many successors as the number of transitions enabled in this state.
Position:
characteristics branch, as subclass of "type of updating policy" (kisao:KISAO_0000451)
Reported by: dagwa
name: stop condition
definition: A condition upon which a simulation should terminate.
subClassOf: KISAO_0000201
isImplementedIn: BioNetGen
Reported by: jonrkarr
name: pFBA factor
definition: Maximum permissible sum of absolute fluxes
subClassOf: KISAO_0000201
algorithm: FVA
isImplementedIn: COBRApy
Reported by: jonrkarr
Some algorithms depend on a linear solver, and some implementations let the users pick this type of linear solver (e.g. IDA, which provides direct solvers along with solvers based on Krylov Subspace methods. I suggest Generalised Minimal Residual (GMRES) be a subset of Krylov Subspace Solvers, and Scaled, Preconditioned GMR (SPGMR) be treated as a specific type of GMRES; under Krylov Subspace Methods, Biconjugate Gradient Stabilized Methods, with the scaled, preconditioned variant, a minimum residual method, and a quasi-minimum residual (QMR), with transpose-free QMR (TFQMR) as a type of QMR, and the scaled, preconditioned variant SPTQMR as a variant of that).
Reported by: a1kmm
There doesn't seem to be a KiSAO id for "step size", which would be useful to have for one-step methods such as the Euler forward method. There is maximum step size, but this is really not the same.
Reported by: agarny
name: Complex-valued Variable-coefficient Ordinary Differential Equation solver, with fixed-leading-coefficient implementation
altLabel: ZVODE
definition: ZVODE provides implicit Adams method (for non-stiff problems) and a method based on backward differentiation formulas (BDF) (for stiff problems).
subClassOf: KISAO_0000433
seeAlso: 10.1137/0910062
isImplementedIn: SciPy, Odespy, deSolve, GillesPy2
Reported by: jonrkarr
Remove the "s" at "methods"
Reported by: gambardella
name: geometric Flux Balance Analysis
altLabel: geometric FBA
altLabel: gFBA
definition: Method for determining the central flux distribution among all flux distributions that satisfy the constraints of the FBA model
subClassOf: KISAO_0000437
seeAlso: 10.1016/j.jtbi.2009.01.027
isImplementedIn: COBRApy
Reported by: jonrkarr
name: Explicit Runge-Kutta method of order 3(2)
altLabel: RK23
definition: RK23 uses the Bogacki-Shampine pair of formulas [1]. The error is controlled assuming accuracy of the second-order method, but steps are taken using the third-order accurate formula (local extrapolation is done). A cubic Hermite polynomial is used for the dense output.
subClassOf: KISAO_0000064
seeAlso: 10.1016/0893-9659(89)90079-7
isImplementedIn: SciPy, MATLAB, Odespy, deSolve, Octave, GillesPy2
Reported by: jonrkarr
name: ifactor
altLabel: fac2
definition: Maximum factor to increase/decrease step size by in one step. The new step-size is chosen subject to the restriction fac1 <= current step-size / old step-size <= fac2.
subClassOf: KISAO_0000242
algorithm: KISAO_0000087, KISAO_0000436
isImplementedIn: SciPy, JModelica, Odespy
Reported by: jonrkarr
The dampening factor is a variable for at least some steady state algorithms: roadrunner allows you to set the minimum value for this.
Reported by: luciansmith
name: reactions
definition: Reactions to compute the variablity of
subClassOf: KISAO_0000201
algorithm: FVA
isImplementedIn: COBRApy
Reported by: jonrkarr
name: Real-valued Variable-coefficient Ordinary Differential Equation solver, with fixed-leading-coefficient implementation
altLabel: VODE
altLabel: DVODE
definition: VODE provides implicit Adams method (for non-stiff problems) and a method based on backward differentiation formulas (BDF) (for stiff problems).
subClassOf: KISAO_0000433
seeAlso: 10.1137/0910062
isImplementedIn: SciPy, Odespy, deSolve, GillesPy2
Reported by: jonrkarr
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.