Supported SBML packages¶
cy3sbml reads SBML Level 1, 2 and 3 in all versions with JSBML. The SBML core and six Level 3 packages are converted into the network. The node and edge types of each package are listed in Network model.
| Package | Status |
|---|---|
| core | supported |
qual (qualitative models) |
supported |
fbc (flux balance constraints), versions 1, 2 and 3 |
supported |
comp (hierarchical model composition) |
supported |
groups |
supported |
distrib (distributions), version 1 |
supported |
layout, version 1 |
supported (no curves) |
other packages, for example multi |
read by JSBML, not converted |
core¶
All core objects become nodes: compartments, species, reactions, parameters, kinetic laws and local parameters, rules, initial assignments, function definitions, events and event assignments, constraints, and unit definitions with their units. The math of kinetic laws, rules, assignments and event triggers, priorities and delays becomes edges from every referenced object to the object with the math.
qual¶
Qualitative species and transitions become nodes, inputs and outputs become edges. The
levels, signs, thresholds and transition effects are stored as columns with the prefix
qual_.
fbc¶
- Species get the columns
fbc_chargeandfbc_chemicalFormula. The charge is an integer column in fbc version 1 and 2 and a floating point column in fbc version 3, following the type of the attribute in the package version. - Reactions get the columns
fbc_lowerFluxBoundandfbc_upperFluxBoundwith the ids of the bound parameters, and an edge from each bound parameter. The flux bounds of fbc version 1 are read as well; they are values, so the columns hold the value and there is no edge. - Every objective becomes a column
fbc_objective-<objective id>with the coefficients of its reactions. The active objective is not marked. The variable type of a flux objective (fbc version 3,linearorquadratic) is in the columnfbc_objective-<objective id>_variableType. - Gene products become nodes, labelled with their
label. Gene product associations become a tree ofANDandORnodes that ends in the reaction. The gene associations of fbc version 1 are not read. - User defined constraints (fbc version 3),
lowerBound <= sum of components <= upperBound, becomefbc_userDefinedConstraintnodes in the kinetic and all network, with the ids of the bound parameters in the columnsfbc_lowerBoundandfbc_upperBound, and an edge from every parameter of the constraint (the bounds and the coefficients). Every component,coefficient * variableorcoefficient * variable * variable2, is an edge from the reaction or parameter of its variable (and one from its second variable) to the constraint, with the id of the coefficient parameter infbc_coefficientand the variable type infbc_variableType. The info panel shows the constraint as a formula with the values of the parameters. - The key-value pairs of any element (fbc version 3, a
listOfKeyValuePairsin the annotation) are shown in the info panel as a table of key, value and URI. - The COBRA key value pairs in the notes, for example
GENE_ASSOCIATION, become columns.
comp (hierarchical model composition)¶
cy3sbml supports the comp package version 1 release 3.
- Networks. Every model of the file gets its own network collection: the main model,
every model definition, and the model of every external model definition. External
model definitions are read from their source, relative to the imported file (also
sources like
file:model.xml), over the web forhttpandhttpssources, and from the external files they reference in turn. If the main model has submodels, the flattened model is created as well, with the nameFlat__<model id>: every submodel instantiated, deletions removed, replaced elements merged, and the ids prefixed with the submodel path (sub1__S1). See Networks. - Nodes and edges. Submodels, ports, deletions, replaced elements and replaced by elements become nodes. A submodel has an edge to each of its deletions, a replaced element and a replaced by element an edge from the element they belong to and one to their submodel. A reference to an element of the same model gets an edge to it.
- Targets. The target of every port, deletion, replaced element and replaced by is
resolved, also through ports and nested
sBaseRefs into the models of further submodels. The target is usually in the model of a submodel, which is another network; the columnscomp_targetModel,comp_targetId,comp_targetTypeandcomp_targetMetaIdname it, and the info panel links to the node in the network of its model.comp_resolutionsaysresolved, or why the target could not be found. - External files. A missing or unreadable external file skips its network, and the flat network if a submodel instantiates its model, with a warning in the log. External files are found for a file imported from the file system or a URL, whose location is known.
| comp class | Conversion |
|---|---|
SBMLDocument (required, list of external model definitions, list of model definitions) |
a network collection per model; the info panel of the document lists the model definitions and external model definitions with their status |
ExternalModelDefinition (id, name, source, modelRef, md5) |
the model is read from the source and gets a network collection; a different md5 checksum is logged |
| ModelDefinition | a network collection |
| Model (list of submodels, list of ports) | nodes of the submodels and ports |
Submodel (id, name, modelRef, timeConversionFactor, extentConversionFactor, list of deletions) |
node comp_submodel with the columns comp_modelRef, comp_timeConversionFactor, comp_extentConversionFactor and the resolution of the model; edges to the deletions |
SBaseRef (portRef, idRef, unitRef, metaIdRef, sBaseRef) |
columns comp_portRef, comp_idRef, comp_unitRef, comp_metaIdRef, and comp_sBaseRef with the chain of nested references, e.g. submodelRef=A > idRef=B > idRef=y |
Port (id, name, SBaseRef) |
node comp_port, edge to the element it exposes |
Deletion (id, name, SBaseRef) |
node comp_deletion, target columns |
ReplacedElement (submodelRef, deletion, conversionFactor, SBaseRef) |
node comp_replacedElement with comp_submodelRef, comp_deletion, comp_conversionFactor and the target columns; with deletion, an edge to the deletion |
ReplacedBy (submodelRef, SBaseRef) |
node comp_replacedBy with comp_submodelRef and the target columns |
| SBase (list of replaced elements, replaced by) | on every element |

groups¶
Every group becomes a Cytoscape group of the nodes of its members in each network of the model (base, kinetic and all). Each network has its own group with the members that are in this network, for example a group of species and parameters has only the species in the base network; a group without members in a network is not created in it. A group that is a member of another group is a nested Cytoscape group. The groups of every network can be collapsed and expanded independently, also after the session is saved and opened again. The SBO term, notes and annotation of a list of members are applied to the members that do not have their own.
distrib (distributions)¶
cy3sbml supports the distrib package version 1.
- Uncertainties. Every SBML element can have uncertainties, each with uncertainty
parameters (for example
mean,standardDeviation, adistribution, or anexternalParameter) and spans (for example aconfidenceIntervalor arange). They do not become nodes. The node of the element gets the columnsdistrib_uncertainty, a summary of its uncertainties, anddistrib_uncertaintyCount, their number; for a species reference, its reactant or product edge gets them. The summary lists the parameters of an uncertainty separated by;, the uncertainties separated by|and prefixed with their id, for exampleu1: mean=4.2; confidenceInterval=[3.5, 4.9] | u2: standardDeviation=sd_k1: a value with its units, avar(the id of the element with the value), the bounds of a span (?for a bound that is not set), or the math of a distribution, and nested parameters in parentheses. -
Info panel. The info panel of the element shows its uncertainties: the id and name of each uncertainty and a table with the type, value, units and definition URL of every parameter and span, nested parameters indented below their parent. A
varhas a link to the node of the element it references.
-
Distributions in math. The distribution functions in math, for example
normal(mean, sd), are shown in themathcolumn and the info panel like other functions, with the edges from the referenced elements. - The flattened model of a comp model keeps the uncertainties, with the references renamed
like the ids of the elements (
sub1__sd). - libSBML writes the type
coefficientOfVariationascoeffientOfVariation(sbmlteam/libsbml#492); both are read. The draft of distrib with UncertML elements is not read.
layout¶
Every layout becomes a network <name>__layout_<layout id> with a node per glyph at the
position and in the size of the glyph; the several glyphs of one element (aliases) are
nodes with the columns of the element. The curves of the glyphs are not drawn, edges are
straight lines, and the render package is not read. See
Layouts.
COMBINE archives¶
The SBML models of COMBINE archives (OMEX) are imported. See Importing SBML.