The DTD of reaction networks
<!-- This DTD is generated from its documentation, as inspired by Knuth's literated programming.
Please don't change the generated file network.dtd manually. -->
A reaction network may have three kinds of species:
metabolites, proteins, and actors.
<!ENTITY % species-elements "
metabolite
| protein
| actor">
Beside of the species, a network
contains edge clusters, which give references to
species, (internal) reactions, and context inflows and outflows.
<!ELEMENT network (( comment
| %species-elements;
| edgecluster
| context
| reaction )*) >
A network has an identfiier, a kind, and a scale for its graph.
<!ATTLIST network
id CDATA #IMPLIED
kind CDATA #IMPLIED
scale CDATA #IMPLIED >
@id
:
the identifier is relevant when referening to the networks entities withing
latex,
@scale
:
the scale is a positive real number that permits to scale the x-axis
and y-axis simultaneously,
@kind
:
is an identifier which serves for debugging purposes.
The graph of the network contains various kinds of nodes that
must have an identifier and a position
<!ENTITY % node "
id CDATA #REQUIRED
x CDATA #IMPLIED
y CDATA #IMPLIED
comment CDATA #IMPLIED">
Nodes have the follwoing attributes (where x-axis and y-axis
should be given):
@id
:
identifier,
@x
:
coordinate of x-axis,
@y
:
coordinate of y-axis,
@comment
:
a latex comment.
Constraints:
- no identifier may start with
r_
or c_
(these are reserved for the
implementation of reactions and context)
- the value of
@x
must be castable to xs:float
- the value of
@y
must be castable to xs:float
Each species is mapped to a node in the graph.
The node of a species is drawn as circled node with solid lines.
<!ENTITY % species " %node;
essential CDATA #IMPLIED
latex-look CDATA #IMPLIED">
These optional attributes of species have the following meaning:
@essential
:
if present, the circle around the species' node will be drawn in red.
It indicates that the presence of the species is
essential for a network to work properly.
@latex-look
:
if present it specifies a possibly nicer latex display of
the species' name.
Each species may have a set of copy nodes, which are drawn as
dashed circles. All nodes for the same species are linked by a splitpoint,
which also is drawn as a node.
Logically, it doesn't matter whether a species participates in a
reaction or one of its copies.
<!ENTITY % copies "((copy+,splitpoint,comment?)?,comment*)">
<!ELEMENT metabolite %copies; >
<!ATTLIST metabolite %species; >
<!ELEMENT protein %copies;>
<!ATTLIST protein %species;
cluster CDATA #IMPLIED >
<!ELEMENT actor %copies; >
<!ATTLIST actor %species; >
Species of type protein may represent clusters of proteins in
reality. Whether this is the case, can be indicated by the presence
attribute cluster". In this case the species
s node is drawn with a
double-circle:
@cluster
:
the presence of this attribute indicates a protein cluster, its value is
irrelevant.
<!ELEMENT copy (#PCDATA) >
<!ATTLIST copy %node; >
<!ELEMENT splitpoint (#PCDATA) >
<!ATTLIST splitpoint
x CDATA #IMPLIED
y CDATA #IMPLIED
comment CDATA #IMPLIED >
Multiple edges of the network may be clustered for nicer graph presentation.
An edge cluster is represented by a node of the graph, which can be
used everywhere in the same way as a species node can be used.
<!ELEMENT edgecluster (source*)>
A source of an edgecluster is a species, a
copy of species, or an edgecluster that has an outgoing edge
pointing to it.
edgecluster
:
a node that clusters edges from serveral sources.
<!ATTLIST edgecluster %node;
type CDATA #REQUIRED>
The type of an edge cluster is the type of edges that point to it. Only edges of
the same type can be clustered.
type
:
the value is this element one of the 6 types
of reaction complements (see the entity complement
below).
Each source of an edgecluster must contain a reference
to a species
<!ENTITY % species-reference "
spec CDATA #IMPLIED
copy CDATA #IMPLIED
edgecluster CDATA #IMPLIED" >
The combined values of these three attributes must give reference to one or many species:
@spec
:
identfier of a species,
@copy
:
identifier of a copy of that species,
@edgecluster
:
reference to one species or many of them.
Constraints:
-
Either
@spec
or @edgecluster
must be present,
-
the attribute
@copy
is optional in the case where @spec
is present.
- in this case, there must be some species
$species
with
$species/@id=@spec
and $species/copy/@id=@copy
.
<!ELEMENT source (#PCDATA) >
<!ATTLIST source %species-reference; >
A reaction network may have are 3 kinds of reactions, represented
by the following elements:
reaction
:
an internal reaction,
context[input]
:
an inflow from the context,
context[output]
:
an outflow to the context.
A (internal) reaction may have various the three kinds of
modifiers, represented by the following elements:
<!ENTITY % modifier "
inhibitor
| activator
| accelerator">
accelerator
:
an accelerator speeds up the reaction,
activator
:
an activator is an accelerator nececessary to apply the reaction,
inhibitor
:
an inhibitor slows down the reaction
An (internal) reaction may have three other complements beside modifers:
<!ENTITY % complement "
%modifier;
| reactant
| product
| product-inh">
product
:
a product of a reaction,
reactant
:
a reactant of a reaction,
product-inh
:
a product with an implicit degradation reaction.
An internal reaction has a kinetics and a set of complements.
<!ELEMENT reaction ((comment)*,((kinetics)?,(%complement;)*))>
The complements may be modifiers or else reactants, products, and products with an
implicit degradation reaction. Each reaction may either be a candidate for knockout
or not. An internal reaction is drawn as a boxed node. The fill-color of the
box indicates whether the reaction is a candidate for knockout. The nodes
of knockout candidates will be distinguished by a light orange color, while
the others will be clored in gray.
<!ATTLIST reaction %node;
candidate CDATA #IMPLIED >
candidate
:
the presence of this attribute means that the reaction is a candidate for knockout.
A species may interact in three ways with the context, by
inflows, outflows, or both of them.
<!ELEMENT context (input | output | in-out)>
<!ATTLIST context %node; >
The three possible context elements are as follows:
context/input
:
an inflow from the context,
context/output
:
an outflow into the context,
context/in-out
:
both, an inflow and an outflow.
The value of attribute spec
of a context inflow or outflow is
the identifier of the interacting species:
<!ENTITY % species-identifier "
spec CDATA #REQUIRED" >
<!ELEMENT input (#PCDATA)> <!ATTLIST input %species-identifier; >
<!ELEMENT output (#PCDATA)> <!ATTLIST output %species-identifier; >
<!ELEMENT in-out (#PCDATA)> <!ATTLIST in-out %species-identifier; >
Comments are given in latex format:
<!ELEMENT comment (#PCDATA)>
<!ATTLIST comment
latex CDATA #IMPLIED
experiment CDATA #IMPLIED
prediction CDATA #IMPLIED >
<!ELEMENT kinetics (#PCDATA) >
An internal reaction has may have an element kinetics, which
provides a partial description of the real kinetics.
kinetics" the kinetics
descriptor. If the kinetics element
is absent then similarity to expressoin kinetics is
assume by chosing as default <kinetics id="exp">
<!ATTLIST kinetics
id CDATA #IMPLIED
expr CDATA #IMPLIED
mode CDATA #IMPLIED
angle CDATA #IMPLIED >
The kinetics is described either by the identifier @id
or
informally by the latex expression @expr
. Whether the
descriptor is exact or up to similarity is specifie by @mode
.
@id
:
An identfier of a kinetics, which must have either of the following three values
-
exp
: expression kinetics with constant equal to 1
-
ma
: mass action kinetics with rate constant equal to 1
-
deac
: deactivation kinetics with rate constant equal to 1
@expr
:
an arbitrary latex expression describing the kinetics.
It may use the following predefined latex macros:
-
\BS{...}
for binding sites,
-
\Prom{...}
for promoters, and
-
\Op{...}
for operons.
Other latex macros can be user defined by addition to the file
Graph/Latex/macros.sty
.
@mode
:
The interpretation mode may be either modulo similarity or exact. In the
former case, the attribute mode
must be absent, in the latter it must
satisfy mode="equal"
.
@angle
:
The attribute angle
says where the descriptor of the kinetics is annotated at
the reaction node. If the id
attribute is present, then the value of
the annotation is the value of attribute expr
.
Constraints:
- exactely one of the attributes
@id
and @expr
must be present.
- the only possible value for
@mode
is equal
.
- the only possible values for
@id
are exp
,
ma
, and deac
Reactions may have three kinds of modfiers:
inhibitors, activators, accelerators.
<!ELEMENT inhibitor (#PCDATA) >
<!ATTLIST inhibitor %species-reference; >
<!ELEMENT activator (#PCDATA) >
<!ATTLIST activator %species-reference; >
<!ELEMENT accelerator (#PCDATA) >
<!ATTLIST accelerator %species-reference; >
Beside of the modifieres there are three other kinds of reaction complements:
reactants, products, and inhibited products.
<!ENTITY % reaction-complement "%species-reference;
stoichiometry CDATA #IMPLIED" >
<!ELEMENT reactant (#PCDATA) >
<!ATTLIST reactant %reaction-complement; >
<!ELEMENT product (#PCDATA) >
<!ATTLIST product %reaction-complement; >
<!ELEMENT product-inh (#PCDATA) >
<!ATTLIST product-inh %reaction-complement; >
@stoichiometry
:
the value of the stoichiometry attribute it is computed automatically by the implementation.
User defined stoichiometry
values will be overwritten so that they become correct if necessary.