Layout
of a SBML document.
There are specific interfaces for all entity pool nodes and for all arcs.
The package also contains the interfaces
LayoutFactory
and
LayoutBuilder
, giving the methods necessary to
create a graphical representation of a SBML model.
The different SBGN objects are represented in the following class hierarchy:
SBGNArc
: SBGN arcs, supported:
Catalysis
, Consumption
,
Inhibition
, Modulation
,
NecessaryStimulation
, Production
,
Stimulation
, ReversibleConsumption
SBGNNode
: SBGN entity pool nodes,
supported: Compartment
, Macromolecule
,
NucleicAcidFeature
, PerturbingAgent
,
SimpleChemical
, SourceSink
,
UnspecifiedNode
SBGNProcessNode
: SBGN process nodes,
supported: AssociationNode
,
DissociationNode
, OmittedProcessNode
,
ProcessNode
, UncertainProcessNode
LayoutDirector
is used to start and direct the
drawing. It uses two components:
LayoutAlgorithm
: to determine dimensions and positions of
unlayouted elements
LayoutBuilder
: to actually produce the graphical representation
of the layout
The method LayoutDirector.buildLayout(org.sbml.jsbml.ext.layout.Layout)
builds the
product. This procedure consists of four steps:
LayoutAlgorithm
.
LayoutAlgorithm
completes all missing information.
LayoutBuilder
.
SimpleLayoutAlgorithm
ImplementationLayoutAlgorithm
.
It provides the some features and follows specific conventions not found
in any specification:
ReactionGlyph
positioning. The position of the
reaction glyph is the center of two defining points: If there are no curves, the two
points are the center of the main substrate and the main product. If there are
multiple species marked as substrates and/or products, the first substrate/product found
is used. If there are curves for the main substrate and/or product the last points of the
curves (i.e. the points directly at the reaction glyph) are used.
ReactionGlyph
rotation. The rotation of the reaction
glyph is determined by the two points used for the positioning. The small extents of the
reaction glyph are located on the line determined by the two points. All rotational angles
are given in degrees.
ReactionGlyph
dimensions. Regardless of desired rotation,
the dimensions of a reaction glyph have to be defined as if the reaction glyph would be
positioned horizontally, i.e. it has always a greater width than height.
SimpleLayoutAlgorithm
provides the methods SimpleLayoutAlgorithm.calculateDockingForEllipseSpecies(double, double, double, double, double, double)
,
SimpleLayoutAlgorithm.calculateDockingForQuadraticSpecies(org.sbml.jsbml.ext.layout.Point, org.sbml.jsbml.ext.layout.SpeciesGlyph, org.sbml.jsbml.ext.layout.Point)
,
SimpleLayoutAlgorithm.calculateDockingForRoundSpecies(double, double, double, double, double, org.sbml.jsbml.ext.layout.SpeciesReferenceRole)
.
LayoutDirector
can read in map of
fluxes. This is a special application for the modification of a layout and
should not be defined here. The product of LayoutDirector
is a
layout. further modification of the layout should be performed separately.
org.sbml.jsbml.examples
packageInterface | Description |
---|---|
AssociationNode<T> | |
Catalysis<T> |
interface all the different graphical representations for catalysis arcs have
to implement
|
Consumption<T> |
interface all the different graphical representations for consumption arcs
have to implement
|
DissociationNode<T> | |
Inhibition<T> |
interface all the different graphical representations for inhibition arcs
have to implement
|
LayoutAlgorithm |
Interface for defining an algorithm to create bounding boxes, dimensions and
points missing in the layout.
|
LayoutBuilder<P> |
LayoutBuilder provides methods to build graphical representations for
all glyph types.
|
LayoutFactory<NodeT,ArcT> |
Interface that defines methods to create and return the different types of
nodes and arcs.
|
Modulation<T> |
Interface for the SBGN specified modulation arc.
|
NecessaryStimulation<T> |
Interface for the SBGN specified necessary stimulation arc.
|
OmittedProcessNode<T> | |
ProcessNode<T> | |
Production<T> |
interface all the different graphical representations for production arcs
have to implement
|
ReversibleConsumption<T> |
Interface for all reversible consumption processes.
|
SBGNArc<T> |
interface for the different types of connecting arcs
consumption
reversible consumption
production
catalysis
inhibition
|
SBGNNode<T> |
interface for the different types of entity pool nodes
unspecified entity
simple chemical
macromolecule
source/sink
|
SBGNNodeWithCloneMarker<T> | |
SBGNProcessNode<T> |
Interface for all SBGN specified process nodes.
|
Stimulation<T> |
Interface for the SBGN specified stimulation arc.
|
UncertainProcessNode<T> |
Class | Description |
---|---|
AbstractLayoutBuilder<P,NodeT,ArcT> |
This abstract class combines the interfaces
LayoutBuilder and
LayoutFactory . |
AbstractSBGNnode<T> | |
AbstractSBGNNodeWithCloneMarker<T> | |
AbstractSBGNProcessNode<T> | |
Compartment<T> | |
Geometry | |
GlyphCreator |
This class creates a SBML layout for a model without layout information.
|
LayoutDirector<P> |
LayoutDirector produces a graphical representation of a layout of an
SBMLDocument . |
Macromolecule<T> |
interface all the different graphical representations for macromolecule nodes
have to implement
|
NucleicAcidFeature<T> | |
PerturbingAgent<T> | |
RenderProcessor |
A currently very preliminary class with inaccurate interpretation of rendering
information.
|
SimpleChemical<T> |
Abstract class that all the different graphical representations for simple
chemical nodes have to extend.
|
SimpleLayoutAlgorithm |
SimpleLayoutAlgorithm is a partial implementation of the
LayoutAlgorithm interface which collects functions which are
independent of the output format of the LayoutDirector . |
SourceSink<T> |
Abstract class that all the different graphical representations for the empty
set sign have to implement
|
UnspecifiedNode<T> |
Abstract class that all the different graphical representations for
unspecified entity pool nodes have to implement
|
Enum | Description |
---|---|
SimpleLayoutAlgorithm.RelativePosition |
Enumeration types (enums) for relative positions.
|