Whether graph layout extension will solve the problem?
29 Oct '03 11:18
SBML has no means for graphic presentation of SBML models structure. To solve this problem an extension to SBML that would allow us to store this layout information in SBML files was suggested by Ralph Gauges, Ursula Rost, Sven Sahle and Katja Wegner from European Media Laboratory:
The document describes comprehensive approach for a graphical layout of a reaction network in biochemical terms. The suggested approach should allow different software to produce the same drawings (diagrams) for corresponding SBML models.
However rendering the SBML model diagram is only the part of SBML model life cycle. Generally software should be able to edit SBML models and this is terra incognita for the suggested approach.
Let us consider SBML model editing and what problems may occur when software will need to update corresponding model drawing. When new specie is created some image for new specie should be also created. But what should be this image? One of the possible approaches is allow to software to create some arbitrary image (for example text label with specie name) that can be further edited by user. However the main problem of this approach is inconsistency: if the same diagram will be edited by different software different image types will be created for the same object types.
The other problem if some SBML specie removed from the model and diagram should be updated correspondingly. It can be non-trivial task while there is no strict one-to-one connection between model elements and layout elements.
How we can solve these problems? At least two approaches can be suggested:
1. Common visual syntax/graphical notation for SBML diagrams.
SBML community can develop graphical notation for SBML diagrams. Using these rules the software will be able to produce corresponding images for new SBML objects and make reasonable assumptions during diagram editing and objects removing.
2. Diagram type concept.
Diagram type defines:
- what model components can be shown in the diagram.
- diagram view builder - it generates views for all model components. Diagram view builder can process some meta information or extensions for generating corresponding image.
- semantic controller - provides semantic integrity of the diagram during its editing. It takes into account problem domain constraints, for example if some specie is removed on biological pathway diagram, all related reactions should be removed too;
- filters – hide or highlight diagram elements according to some selection criteria, for example to according gene expression specificity or expression level.
DiagramType is one of the key concepts of BioUML workbench:
Here DiagramType, DiagramViewBuilder, SemanticController and DiagramFilter are defined as Java interfaces. However, it is possible to develop some specification that will code their rules as XML statements and then this approach will be language neutral.
Second approach is tightly related with first approach and suggests a mechanism how some graphic notation can be implemented. It also allows us to use several graphic notations: for example one notation can be used for usual SBML models, other for models imported for KEGG, in this case graphic notation can correspond to KEGG/Pathways graphic notation.
Powered by FUDforum. (Copyright Advanced Internet Designs Inc.)