Commit 8ab05c2d authored by FAGES Francois's avatar FAGES Francois

tutorial

parent d1bdb425
......@@ -16,21 +16,39 @@
:- doc('
The Biochemical Abstract Machine (Biocham) is a software environment for
modeling and analyzing biochemical systems.
Biocham is mainly composed of:
\\begin{itemize}
\\item a rule-based language for modeling biochemical systems (compatible with
SBML and SBGN),
\\item static analysers for inferring various dynamical properties from the structure of the model;
\\item simulators for the different semantics: continuous (differential equations), stochastic, asynchronous Boolean;
\\item a temporal logic based language to formalize the temporal behaviours of
biological systems, validate models with respect to such specifications by model-checking methods,
infer parameter values in high dimension with temporal logic constraints,
measure parameter sensitivity indices and robustness of temporal properties;
\\item unique features for developing/correcting/completing/reducing/coupling
models.
\\end{itemize}
The Biochemical Abstract Machine (Biocham) is a modelling software for cell systems biology, with some unique features for static and dynamic analyses using temporal logic constraints.
Biocham v4 is mainly composed of :
\\begin{itemize}
\\item
a rule-based language for modeling biochemical processes with reactions and/or influences (respectively SBML2 and SBML3-qual compatible),
\\item
a hierarchy of semantics (differential, stochastic, Petri Net, Boolean) to interpret such models,
\\item
a temporal logic based language to formalize the temporal behaviors of biochemical systems,
\\item
several unique features for developing/analyzing/correcting/completing/calibrating/coupling/synthesizing reaction and influence systems with respect to formal specifications of their behaviour.
\\end{itemize}
Biocham v4 is a complete rewriting of Biocham v3.
It introduces some new features, mainly:
\\begin{itemize}
\\item
\\item
\\item
\\item
\\item
\\end{itemize}
Some features of Biocham v3 have not been implemented yet, mainly:
\\begin{itemize}
\\item the Graphical User Interface (only the notebook)
\\item the graphical editor (SBGN compatible)
\\item the sensivity and robustness measures
\\item the detection of model reductions by subgraph epimorphisms (SEPI)
\\item hybrid simulations
\\end{itemize}
').
:- doc('
Biocham is a free software protected by the GNU General Public License GPL
version 2. This is an Open Source license that allows free usage of this
software.
......
......@@ -14,8 +14,8 @@ Some other file formats are used.').
:- doc('
Biocham models can be imported from, and exported to, other file formats using the following suffixes:
\\begin{itemize}
\\item \\texttt{.xml} for Systems Biology Markup Language (SBML) files, more precisely SBML2 files for reaction systems and SBML3qual files for influence systems;
\\item \\texttt{.ode} for Ordinary Differential Equation files (ODEs in XXPAUT format), allowing us to import a reaction system from ODEs using a heuristic inference algorithm described in \\cite{FGS15tcs}.
\\item \\texttt{.xml} for Systems Biology Markup Language (SBML) files, more precisely SBML2 files for reaction networks and SBML3qual files for influence networks;
\\item \\texttt{.ode} for Ordinary Differential Equation files (ODEs in XXPAUT format), allowing us to infer and import a reaction network from ODEs using a heuristic inference algorithm described in \\cite{FGS15tcs}.
\\end{itemize}
Biocham numerical data time series can be imported/exported in
\\begin{itemize}
......
......@@ -10,7 +10,7 @@
]
).
:- doc('Petri Net Place-invariants provide linear conservation laws for the differential semantics of a reaction system.
:- doc('Petri Net Place-invariants provide linear conservation laws for the differential semantics of a reaction network.
They can be verified or computed with the commands below. Note that such invariants are useful information but it may be not a good idea to use them to reduce
the dimensionality of the system since it may introduce numerical unstabilities.').
......@@ -79,7 +79,7 @@ check_conservations :-
search_conservations :-
biocham_command,
doc(
'computes and displays the P-invariants of the system up to the maximal
'computes and displays the P-invariants of the network up to the maximal
size given by the option conservation_size and defaulting to 4. Such
P-invariants are particular mass conservation laws that are independent
from the kinetics.'
......
......@@ -25,7 +25,7 @@
:- use_module(nusmv). % for ctl_truth
:- doc('The Computation Tree Logic CTL can be used to express qualitative properties of the behavior of a system in a given (set of) initial states, at the boolean level of abstraction \\cite{CCDFS04tcs}.
:- doc('The Computation Tree Logic CTL can be used to express qualitative properties of the behavior of a network in a given (set of) initial states, at the boolean level of abstraction \\cite{CCDFS04tcs}.
CTL extends propositional logic with modal operators to specify where (E: on some path, A: on all paths)
and when (X: next state, F: finally at some future state, G: globally on all states, U: until a second formula is true, R: release)
a formula is true. As in any logic, these modalities can be combined with logical connectives and imbricated,
......@@ -142,7 +142,7 @@ ctl(E) :-
:- devdoc('\\section{Commands}').
:- doc('The qualitative behavior of a system can be specified by a set of CTL formulas using the following commands:').
:- doc('The qualitative behavior of a network can be specified by a set of CTL formulas using the following commands:').
list_ctl :-
......@@ -178,12 +178,12 @@ delete_ctl :-
delete_items([kind: ctl_spec]).
:- doc('The set of CTL formulas of some simple form that are true in the current set of initial states
can also be automatically generated as a specification of the system using the following commands.').
can also be automatically generated as a specification of the network using the following commands.').
generate_ctl(Formula):-
biocham_command,
type(Formula, ctl),
doc('adds to the CTL specification all the CTL formulas that are true, not subsumed by another CTL formula in the specification, and that match the argument formula in which the names that are not molecules are treated as wildcards and replaced by distinct molecules of the system. This command is a variant with subsumption test of \\command{add_ctl} if all names match system molecule names, otherwise it enumerates all m^v instances (where m is the number of molecules and v the number of wildcards in the formula).'),
doc('adds to the CTL specification all the CTL formulas that are true, not subsumed by another CTL formula in the specification, and that match the argument formula in which the names that are not molecules are treated as wildcards and replaced by distinct molecules of the network. This command is a variant with subsumption test of \\command{add_ctl} if all names match network molecule names, otherwise it enumerates all m^v instances (where m is the number of molecules and v the number of wildcards in the formula).'),
normalize_query(Formula,F,Leaves),
enumerate_molecules(Molecules),
subtract(Leaves,Molecules,L),
......
......@@ -15,6 +15,7 @@
(ltl_pattern)/1,
list_ltl_patterns/0,
delete_ltl_pattern/1,
expand_ltl/1,
% Public API
expand_formula/2,
validity_domain/2,
......@@ -253,14 +254,15 @@ variable_objective(Variable -> Value) :-
%:- initial('ltl_pattern differential(Molecule, T, Diff) = F(exists(Concentration, exists(t1, exists(t2, Molecule=Concentration /\\ Time=t1 /\\ t1<=T /\\ X(Time=t2 /\\ t2>T /\\ Diff=(Molecule-Concentration)/(t2-t1))))))').
%:- initial('ltl_pattern differential(Molecule, Diff) = exists(Concentration, exists(t1, exists(t2, Molecule=Concentration /\\ Time=t1 /\\ X(Time=t2 /\\ Diff=(Molecule-Concentration)/(t2-t1)))))').
:- initial('ltl_pattern maximum(Molecule, Concentration) = (G(Molecule <= Concentration) /\\ F(Molecule=Concentration))').
:- initial('ltl_pattern minimum(Molecule, Concentration) = (G(Molecule >= Concentration) /\\ F(Molecule=Concentration))').
:- initial('ltl_pattern maximum(Molecule, Concentration, T) = (G(Molecule <= Concentration) /\\ F(Molecule=Concentration /\\ Time=T))').
:- initial('ltl_pattern minimum(Molecule, Concentration, T) = (G(Molecule >= Concentration) /\\ F(Molecule=Concentration /\\ Time=T))').
%:- initial('ltl_pattern maximum(Molecule, Concentration) = (G(Molecule <= Concentration) /\\ F(Molecule=Concentration))').
:- initial('ltl_pattern maximum(Molecule, Concentration) = (G(Molecule <= Concentration) /\\ F(Molecule>=Concentration))').
:- initial('ltl_pattern minimum(Molecule, Concentration) = (G(Molecule >= Concentration) /\\ F(Molecule<=Concentration))').
:- initial('ltl_pattern maximum(Molecule, Concentration, T) = (G(Molecule <= Concentration) /\\ F(Molecule>=Concentration /\\ Time=T))').
:- initial('ltl_pattern minimum(Molecule, Concentration, T) = (G(Molecule >= Concentration) /\\ F(Molecule<=Concentration /\\ Time=T))').
:- initial('ltl_pattern amplitude(Molecule, Amplitude) = exists(Minimum, exists(Maximum, maximum(Molecule,Maximum) /\\ minimum(Molecule, Minimum) /\\ Amplitude=Maximum-Minimum))').
:- initial('ltl_pattern amplitude2(Molecule, Amplitude) = exists(Minimum, minimum(Molecule,Minimum) /\\ maximum(Molecule, Minimum+Amplitude))'). % infinite loop in PPL ? why ?
:- initial('ltl_pattern amplitude3(Molecule, Amplitude) = exists(Minimum, (G(Minimum <= Molecule /\\ Molecule <= Minimum+Amplitude) /\\ F(Molecule=Minimum) /\\ F(Molecule=Minimum+Amplitude)))').
%:- initial('ltl_pattern amplitude2(Molecule, Amplitude) = exists(Minimum, minimum(Molecule,Minimum) /\\ maximum(Molecule, Minimum+Amplitude))'). % infinite loop in PPL ? why ?
%:- initial('ltl_pattern amplitude3(Molecule, Amplitude) = exists(Minimum, (G(Minimum <= Molecule /\\ Molecule <= Minimum+Amplitude) /\\ F(Molecule=Minimum) /\\ F(Molecule=Minimum+Amplitude)))').
:- doc('\\emph{Local extrema}').
......@@ -327,7 +329,7 @@ validity_domain(Formula) :-
biocham_command,
type(Formula, foltl),
doc('
solves a FOLTL(R) constraint on the current trace, i.e. computes
solves a FOLTL(Rlin) constraint on the current trace, i.e. computes
the validity domain for the free variables
that make the formula true on the numerical trace.
The formula is false if the validity domain of one of its free variables is empty, and satisfiable otherwise.
......@@ -353,7 +355,7 @@ satisfaction_degree(Formula, Objective) :-
option(foltl_magnitude, number, _Magnitude, 'order of magnitude for << and >> operators'),
doc('
computes a continuous satisfaction degree in the interval [0,1] for a
FOLTL(R) constraint on the current trace.
FOLTL(Rlin) constraint on the current trace.
'),
satisfaction_degree(Formula, Objective, Degree),
format('~f\n', [Degree]).
......@@ -377,6 +379,13 @@ list_ltl_patterns :-
list_items([kind: ltl_pattern]).
expand_ltl(Formula) :-
biocham_command,
type(Formula, foltl),
doc('shows the expansion in LTL of a formula with patterns.'),
expand_formula(Formula,ExpandedFormula),
format('~w\n', [ExpandedFormula]).
delete_ltl_pattern(FunctorSet) :-
biocham_command(*),
type(FunctorSet, '*'(functor)),
......@@ -462,6 +471,8 @@ populate_table_columns :-
)
).
expand_formula(curve(Molecule, Time_Value_List), ExpandedFormula):-
!,
expand_curve(Time_Value_List, Molecule, ExpandedFormula).
......
......@@ -14,7 +14,7 @@
format_pivp/2
]).
:- doc('Biocham can also compile mathematical expressions and solutions of polynomial differential equations into biochemical reaction systems using only positive concentration values.').
:- doc('Biocham can also compile mathematical expressions and solutions of polynomial differential equations into biochemical reaction networks using only positive concentration values.').
compile_from_expression(Expr, Input, Output) :-
......@@ -23,7 +23,7 @@ compile_from_expression(Expr, Input, Output) :-
type(Input, name),
type(Output, name),
doc('
creates a biochemical reaction system such that Output = Expr(Input). Use \'time\' as
creates a biochemical reaction network such that Output = Expr(Input). Use \'time\' as
input to get Output = Expr(t).
'),
expression_to_PIVP(Expr, PIVP),
......
......@@ -12,33 +12,31 @@
]
).
:- doc('Bipartite molecule-influence graphs can be associated to both influence models and reaction systems. The influence graph of a reaction system is an abstraction defined from the stoichiometry of the reactions, which is equivalent, under general conditions, to the influence graph defined by the signs of the Jacobian matrix of the ODEs \\cite{FS08fmsb,FGS15tcs}.').
%:- doc('Bipartite molecule-influence graphs can be associated to both influence and reaction systems. The influence graph of a reaction system is an abstraction defined from the stoichiometry of the reactions, which is equivalent, under general conditions, to the influence graph defined by the signs of the Jacobian matrix of the ODEs \\cite{FS08fmsb,FGS15tcs}.').
:- devdoc('\\section{Commands}').
influence_graph :-
biocham_command,
doc('infers the graph of influences of the current model.'),
new_graph,
set_graph_name(influence_graph),
get_current_graph(GraphId),
influence_graph(GraphId).
influence_hypergraph :-
draw_influence_hypergraph :-
biocham_command,
doc('builds the hypergraph of the influence rules of the current model.'),
new_graph,
set_graph_name(influence_hypergraph),
get_current_graph(GraphId),
influence_hypergraph(GraphId).
doc('
Draws the hypergraph of the influence rules of the current model. The hypergraph distinguishes each influence. Equivalent to \\texttt{influence_hypergraph. draw_graph}.
'),
setup_call_cleanup(
new_graph(GraphId),
(
influence_hypergraph(GraphId),
draw_graph(GraphId)
),
delete_item(GraphId)
).
draw_influences :-
biocham_command,
doc('
infers and draws the influence graph of the current model.
Draws the influence graph between molecular species of the current model, by merging the different influences. Equivalent to \\texttt{influence_graph. draw_graph}.
\\begin{example}
'),
biocham_silent(clear_model),
......@@ -56,20 +54,22 @@ draw_influences :-
delete_item(GraphId)
).
influence_hypergraph :-
biocham_command,
doc('builds the hypergraph of the influence rules of the current model.'),
new_graph,
set_graph_name(influence_hypergraph),
get_current_graph(GraphId),
influence_hypergraph(GraphId).
draw_influence_hypergraph :-
influence_graph :-
biocham_command,
doc('
Draws the hypergraph of the influence rules of the current model.
'),
setup_call_cleanup(
new_graph(GraphId),
(
influence_hypergraph(GraphId),
draw_graph(GraphId)
),
delete_item(GraphId)
).
doc('builds the influence graph between molecular species without distinguishing the different influences.'),
new_graph,
set_graph_name(influence_graph),
get_current_graph(GraphId),
influence_graph(GraphId).
:- devdoc('\\section{Public API}').
......
......@@ -19,7 +19,9 @@
:- use_module(doc).
:- use_module(reaction_rules).
:- doc('BIOCHAM models can also be defined by influence systems with forces between molecular species. In the syntax described below, one influence rule (either positive "->" or negative "-<") expresses that a conjunction of sources (or their negation after the separator "/" for inhibitors) has an influence on a target molecular species. This syntax necessitates to write the Boolean activation (resp. deactivation) function of a molecular species in Disjunctive Normal Form with several positive (resp. negative) influences \\cite{FMRS16cmsb}.').
:- doc('BIOCHAM models can also be defined by influence systems with forces, possibly mixed to reactions with rates.').
:- doc('In the syntax described by the grammar below, one influence rule (either positive "->" or negative "-<") expresses that a conjunction of sources (or their negation after the separator "/" for inhibitors) has an influence on a target molecular species. This syntax necessitates to write the Boolean activation (resp. deactivation) functions of the molecular species in Disjunctive Normal Form, i.e. with several positive (resp. negative) influences in which the sources are interpreted by a conjunction \\cite{FMRS16cmsb}.').
:- devdoc('\\section{Grammars}').
......
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -56,7 +56,7 @@
:- dynamic(flag_influences/0).
:- doc('Biocham can also manipulate ODE systems written in the following XPP syntax, and infer a reaction system, or an influence system, with the same ODE semantics. This is useful for using Biocham analyzers on ODE models.').
:- doc('Biocham can also manipulate ODE systems written in the following XPP syntax, and infer a reaction or influence network, with the same ODE semantics. This is useful for importing MatLab models in SBML, and using Biocham analyzers on ODE models.').
:- doc('\\emph{Warning}: XPP format has restrictions on names and does not distinguish between upper case and lower case letters. As a consequence, some complex names may be not properly exported in ode files, and when an ode file is imported, the names are read in lower case.').
......@@ -112,7 +112,7 @@ export_ode(OutputFile) :-
with_current_ode_system(with_output_to_file(OutputFile, print_ode_system)).
:- doc("The following commands infer a reaction system, or an influence system, equivalent to an ODE system in a file.
:- doc("The following commands infer a reaction or influence network, equivalent to an ODE system in a file.
\\begin{example}
\\clearmodel
\\trace{
......
:- doc("This part describes the syntax of BIOCHAM models of biochemical processes. They are essentially of two forms: reaction systems (i.e. Feinberg's Chemical Reaction Networks, CRNs, compatible with SBML) and influence systems (variant of Thomas's regulatory networks, compatible with qualSBML). Both types of models can be interpreted in a hierarchy of semantics, including the differential semantics (Ordinary Differential Equations), stochastic semantics (Continuous-time Markov Chain), Petri Net semantics, and several Boolean semantics \\cite{FMRS16cmsb}.").
:- doc("This part describes the syntax of BIOCHAM models of biochemical processes. They are essentially of two forms:
\\begin{itemize}
\\item reaction systems (i.e. Feinberg's Chemical Reaction Networks, CRNs, compatible with SBML)
\\item and influence systems (variant of Thomas's regulatory networks, compatible with qualSBML).
\\end{itemize}
Both types of models can be interpreted in a hierarchy of semantics, including the differential semantics (Ordinary Differential Equations), stochastic semantics (Continuous-time Markov Chain), Petri net semantics, and Boolean semantics with several variants \\cite{FMRS16cmsb}.").
......@@ -30,8 +30,6 @@
:- devdoc('\\section{Commands}').
:- doc('In Biocham v4, a reaction system is a multiset of reactions. Reactions can thus be in multiple copies in which case their reaction rates are summed.').
:- devcom('\\begin{todo}For several reasons, we should automatically introduce kinetic parameters k_1, k_2, etc. for the default mass action law kinetics of reactions given without kinetic expression. The same could go for initial_state concentrations which BTW should be definable by parameters or functions, introducing concentration parameters c_1, c_2, etc. for present molecules. The pros are an encouragement to use parameters, parameter search, sensitivity and robustness analyses. The cons are an irrelevant encouragement for logical models. \\end{todo}').
add_reaction(Reaction) :-
......@@ -48,6 +46,10 @@ add_reaction(Reaction) :-
)
).
:- doc('\\begin{remark}In Biocham v4, a reaction system is a multiset of reactions. Reactions can thus be added in multiple copies in which case their reaction rates are summed.\\end{remark}').
delete_reaction(Reaction):-
biocham_command,
type(Reaction, reaction),
......
......@@ -24,6 +24,30 @@ Alternatively we could have input/output annotations on molecular species which
Also the linear invariants could be used to enforce theur drawing in row like in MAPK...\\end{todo}').
:- devdoc('\\begin{todo} export_graph in dot file\\end{todo}').
:- doc('
The bipartite graph of molecular reactions can be drawn with the following command.
').
draw_reactions :-
biocham_command,
doc('
Draws the reaction graph of the current model.
Equivalent to \\texttt{reaction_graph. draw_graph.}
\\begin{example}
'),
biocham_silent(clear_model),
biocham(load(library:examples/mapk/mapk)),
biocham(draw_reactions),
doc('
\\end{example}
'),
reaction_graph,
draw_graph.
reaction_graph :-
biocham_command,
doc('Builds the reaction graph of the current model.'),
......@@ -55,24 +79,6 @@ import_reactions_from_graph :-
make_bipartite_graph,
make_reactions.
draw_reactions :-
biocham_command,
doc('
Draws the reaction graph of the current model.
Equivalent to \\texttt{reaction_graph. draw_graph.}
\\begin{example}
'),
biocham_silent(clear_model),
biocham(load(library:examples/mapk/mapk)),
biocham(draw_reactions),
doc('
\\end{example}
'),
reaction_graph,
draw_graph.
draw_rules :-
biocham_command,
doc('
......
......@@ -23,8 +23,9 @@
:- use_module(doc).
:- use_module(objects).
:- doc('A BIOCHAM model can be defined by a reaction system, i.e. a finite (multi)set of directed reaction rules with rate functions using the syntax below.
A reaction system represents a Chemical Reaction Network (CRN) and is compatible with the Systems Biology Markup Language SBML.').
:- doc('(Bio)chemical reaction networks (CRNs) can be described in BIOCHAM by a reaction system,
i.e. a finite (multi)set of directed reaction rules with rate functions, with the syntax defined by the grammar below.
BIOCHAM reaction systems are compatible with the Systems Biology Markup Language SBML version 2.').
:- devdoc('\\section{Grammars}').
......
......@@ -47,14 +47,14 @@ search_parameters(Formula, Parameters, Objective) :-
their current value'
),
doc('
tries to satisfy a FOLTL(R) constraint by varying the parameters listed
tries to satisfy a FOLTL(Rlin) constraint by varying the parameters listed
in \\argument{Parameters}.
This search command uses the stochastic optimization procedure CMA-ES
(covariance matrix adaptation evolution strategy)
with the continuous satisfaction degree of a FO-LTL(Rlin) property as
fitness function.
This satisfaction degree is defined by the distance between the validity
domain of a FOLTL(R) formula with free variables (as given by the command
domain of a FOLTL(Rlin) formula with free variables (as given by the command
domains) and the objective values given in \\command{Objective}.
\\clearmodel
\\begin{example}
......
......@@ -30,7 +30,8 @@
:- use_module(doc).
:- doc('Numerical data time series, produced by biological experiments or by simulations, can be stored in \\texttt{.csv} files, and loaded as a specification of the behavior. They can also be modified by the following commands.').
:- doc('Numerical data time series, produced by biological experiments or by simulations, can be stored in \\texttt{.csv} files, and loaded.
They can also be modified by the following commands.').
:- devdoc('\\section{Commands}').
......
......@@ -2,7 +2,7 @@
** Overview
- doc.pl
- biocham.pl
** Installing and running Biocham locally
** Biocham files, notebooks and call options
- commandline.pl
- util.pl
- counters.pl
......@@ -47,7 +47,7 @@
- influence_graphs.pl
* Events
- events.pl
* Importing and Exporting Models
* Importing and Exporting BIOCHAM Models
** Biocham files
- models.pl
** SBML files
......@@ -106,7 +106,7 @@
- na.pl
** Search of parameter values satisfying FO-LTL(Rlin) properties
- search.pl
* Reaction System Synthesis from Input/Output Functions
* Reaction Network Synthesis from Input/Output Functions
** Synthesis from mathematical expressions
- odefunction.pl
** Synthesis from GPAC circuits
......
......@@ -30,12 +30,16 @@
:- doc('
The exhaustive list of Biocham commands avaiable at toplevel is described in the following sections.
New reactions and new influences can also be entered directly at toplevel, as a short hand for the commands \\texttt{add_reaction} and \\texttt{add_influence} respectively.
The exhaustive list of Biocham commands available at toplevel is described in the rest of this manual.
').
:- doc('
Some commands (e.g., \\command{numerical_simulation/0} in the example below) take named options
New reactions and new influences can also be entered directly at toplevel, as a short hand for the commands \\texttt{add_reaction} and \\texttt{add_influence} respectively.
').
:- biocham_silent('clear_model').
:- doc('Some commands (e.g., \\command{numerical_simulation/0} in the example below) take named options
as arguments.
All the options can be defined either locally for a single command or
globally for the whole model.
......
......@@ -16,11 +16,13 @@
).
:- doc('This section describes commands for continuously varying the values of molecular species or parameters.
:- doc('This section describes commands for continuously varying the values of molecular species or parameters.').
:- doc('
This can be used for drawing dose-response diagrams
under the hypothesis that the input dose is a catalyst not affected by the system.
It can also be used for drawing some simple forms of bifurcation diagrams
obtained by varying forth and back the input value.').
obtained by just varying forth and back an input.').
:- dynamic(initial_value/2).
......@@ -136,7 +138,8 @@ logarithmic_dose_response(Dose, Value1, Value2):-
clear_variation(Dose).
:- doc('\\begin{example}').
:- doc('\\begin{example}This example shows the dose-response diagrams of the MAPK model of Huang and Ferrell in BiomModels revealing the amplifier and analog-digital converter functions
of this network at the second and third level of the cascade. ').
:- biocham_silent(clear_model).
:- biocham('load_sbml(library:examples/mapk/BIOMD0000000009.xml)').
:- biocham('option(time:100, show:{P_KKK,PP_KK,PP_K})').
......@@ -232,7 +235,7 @@ logarithmic_bifurcations(Dose, Value1, Value2):-
clear_variation(Dose).
:- doc('\\begin{example}
:- doc('\\begin{example}This example shows a memory effect (and erroneous dose-response diagrams) in the MAPK network when using too short simulation times.
\\clearmodel
\\trace{
biocham: load_sbml(library:examples/mapk/BIOMD0000000009.xml).
......
......@@ -12,7 +12,7 @@
compile_wgpac/1
]).
:- doc('Biocham can compile a GPAC circuit (Shannon\'s General Purpose Analog Computer) into an abstract reaction system using positive as well as negative concentration values. Only weak GPACs, in which the integration gate is with respect to time and not a variable, are considered. The variables associated to the different points of the circuits can be named with the "::" operator. Dy default they are named x0, x1,... The syntax of weak GPAC circuits is as follows:').
:- doc('Biocham can compile a GPAC circuit (Shannon\'s General Purpose Analog Computer) into an abstract reaction network using positive as well as negative concentration values. Only weak GPACs, in which the integration gate is with respect to time and not a variable, are considered. The variables associated to the different points of the circuits can be named with the "::" operator. Dy default they are named x0, x1,... The syntax of weak GPAC circuits is as follows:').
:- grammar(wgpac).
......@@ -93,7 +93,7 @@ wgpac_well_formed(Y :: B) :-
compile_wgpac(WgpacSet) :-
biocham_command,
type(WgpacSet, {wgpac}),
doc('compiles a set of weak GPAC circuits into a reaction system.'),
doc('compiles a set of weak GPAC circuits into a reaction network.'),
set_counter(fresh, 0),
option(fast_rate, arithmetic_expression, Rate, '
This reaction constant (defaulting to 1000) is used in the reactions for
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment