sig
exception Bad of string
type sb_math_operator =
MPlus
| MMinus
| MTimes
| MDivide
| MPower
| MRoot
| MAbs
| MExp
| MLn
| MLog
| MFloor
| MCeiling
| MFactorial
| MEq
| MNeq
| MGt
| MLt
| MGeq
| MLeq
| MAnd
| MOr
| MXor
| MNot
| MSin
| MCos
| MTan
| MArcsin
| MArccos
| MArctan
| MDelay
| MFundef of string
type sb_math =
MApply of Biocaml_sbml.sb_math_operator * Biocaml_sbml.sb_math list
| MLambda of string list * Biocaml_sbml.sb_math
| MPiecewise of (string * Biocaml_sbml.sb_math) list * string
| MFloatNumber of float
| MIntNumber of int
| MIdentifier of string
| MTime
| MTrue
| MFalse
| MNAN
| MPi
| MExponent
| MInfinity
| MNoMath
type sb_unit = {
unit_kind : string;
unit_exponent : int;
unit_scale : int;
unit_multiplier : float;
}
type sb_function_definition = {
fundef_id : string;
fundef_name : string;
fundef_math : Biocaml_sbml.sb_math;
}
type sb_unit_definition = {
unitdef_id : string;
unitdef_name : string;
unitdef_unitlist : Biocaml_sbml.sb_unit list;
}
type sb_compartment = {
compart_id : string;
compart_name : string;
compart_spatialDimensions : int;
compart_size : float;
compart_units : string;
compart_outside : string;
compart_constant : bool;
}
type sb_species_ref = {
specref_species : string;
specref_id : string;
specref_name : string;
specref_stoichiometry : int;
}
type sb_species = {
species_id : string;
species_name : string;
species_type : string;
species_compartment : string;
species_initialAmount : float;
species_initialConcentration : float;
species_substanceUnits : string;
species_hasOnlySubstanceUnits : bool;
species_boundaryCondition : bool;
species_constant : bool;
}
type sb_parameter = {
param_id : string;
param_name : string;
param_value : float;
param_units : string;
param_constant : bool;
}
type sb_kinetic_law = {
klaw_math : Biocaml_sbml.sb_math;
klaw_parameters : Biocaml_sbml.sb_parameter list;
}
type sb_reaction = {
react_id : string;
react_name : string;
react_boundaryCondition : bool;
react_fast : bool;
react_reactants : Biocaml_sbml.sb_species_ref list;
react_products : Biocaml_sbml.sb_species_ref list;
react_kineticLaw : Biocaml_sbml.sb_kinetic_law;
}
type sb_initial_assignment = {
ia_symbol : string;
ia_math : Biocaml_sbml.sb_math;
}
type sb_algebraic_rule = { ar_math : Biocaml_sbml.sb_math; }
type sb_generic_rule = {
gr_variable : string;
gr_math : Biocaml_sbml.sb_math;
}
type sb_rule =
RateRule of Biocaml_sbml.sb_generic_rule
| AssignmentRule of Biocaml_sbml.sb_generic_rule
| AlgebraicRule of Biocaml_sbml.sb_algebraic_rule
type sb_math_container = { math : Biocaml_sbml.sb_math; }
type sb_delay = Delay of Biocaml_sbml.sb_math_container
type sb_trigger = Trigger of Biocaml_sbml.sb_math_container
type sb_event_assignment = {
ea_variable : string;
ea_math : Biocaml_sbml.sb_math;
}
type sb_event = {
event_id : string;
event_name : string;
event_useValuesFromTriggerTime : bool;
event_trigger : Biocaml_sbml.sb_trigger;
event_delay : Biocaml_sbml.sb_delay;
event_assignments : Biocaml_sbml.sb_event_assignment list;
}
type sb_model = {
sbm_id : string;
sbm_name : string;
sbm_functionDefinitions : Biocaml_sbml.sb_function_definition list;
sbm_unitDefinitions : Biocaml_sbml.sb_unit_definition list;
sbm_compartments : Biocaml_sbml.sb_compartment list;
sbm_species : Biocaml_sbml.sb_species list;
sbm_reactions : Biocaml_sbml.sb_reaction list;
sbm_parameters : Biocaml_sbml.sb_parameter list;
sbm_initialAssignments : Biocaml_sbml.sb_initial_assignment list;
sbm_rules : Biocaml_sbml.sb_rule list;
sbm_events : Biocaml_sbml.sb_event list;
}
val math_to_string : Biocaml_sbml.sb_math -> string
val in_sbml : Pervasives.in_channel -> Biocaml_sbml.sb_model
end