Module Biocaml_sbml (.ml)

SBML file parser. Currently only level 2 version 4 is supported.

module Biocaml_sbml: 
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 sb_math_operator * sb_math list
| MLambda of string list * sb_math
| MPiecewise of (string * 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 : sb_math;
}
type sb_unit_definition = {
   unitdef_id : string;
   unitdef_name : string;
   unitdef_unitlist : 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 : sb_math;
   klaw_parameters : sb_parameter list;
}
type sb_reaction = {
   react_id : string;
   react_name : string;
   react_boundaryCondition : bool;
   react_fast : bool;
   react_reactants : sb_species_ref list;
   react_products : sb_species_ref list;
   react_kineticLaw : sb_kinetic_law;
}
type sb_initial_assignment = {
   ia_symbol : string;
   ia_math : sb_math;
}
type sb_algebraic_rule = {
   ar_math : sb_math;
}
type sb_generic_rule = {
   gr_variable : string;
   gr_math : sb_math;
}
type sb_rule = 
| RateRule of sb_generic_rule
| AssignmentRule of sb_generic_rule
| AlgebraicRule of sb_algebraic_rule
type sb_math_container = {
   math : sb_math;
}
type sb_delay = 
| Delay of sb_math_container
type sb_trigger = 
| Trigger of sb_math_container
type sb_event_assignment = {
   ea_variable : string;
   ea_math : sb_math;
}
type sb_event = {
   event_id : string;
   event_name : string;
   event_useValuesFromTriggerTime : bool;
   event_trigger : sb_trigger;
   event_delay : sb_delay;
   event_assignments : sb_event_assignment list;
}
type sb_model = {
   sbm_id : string;
   sbm_name : string;
   sbm_functionDefinitions : sb_function_definition list;
   sbm_unitDefinitions : sb_unit_definition list;
   sbm_compartments : sb_compartment list;
   sbm_species : sb_species list;
   sbm_reactions : sb_reaction list;
   sbm_parameters : sb_parameter list;
   sbm_initialAssignments : sb_initial_assignment list;
   sbm_rules : sb_rule list;
   sbm_events : sb_event list;
}
val math_to_string : sb_math -> string
Returns a string with sb_math converted into a S-expression
val in_sbml : Pervasives.in_channel -> sb_model
Returns an sb_model read from input stream
end