Encoding and exchanging graphical representation: architecture and formats Fedor Kolpakov Institute of Systems Biology Novosibirsk, Russia COMBINE-2010,

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

XML III. Learning Objectives Formatting XML Documents: Overview Using Cascading Style Sheets to format XML documents Using XSL to format XML documents.
Bringing Procedural Knowledge to XLIFF Prof. Dr. Klemens Waldhör TAUS Labs & FOM University of Applied Science FEISGILTT 16 October 2012 Seattle, USA.
Lecture # 11 JavaScript Graphics. Scalable Vector Graphics (SVG) Scalable Vector Graphics (SVG), as the name implies, are - scalable (without pixelation):
CellDesigner Tutorial Laurence Calzone, Andrei Zinovyev UMR U900 INSERM/Institut Curie/Ecole des Mines de Paris Wednesday, April 30th.
BioUML integrated platform for building virtual cell and virtual physiological human Fedor Kolpakov Institute of Systems Biology Laboratory of Bioinformatics,
1 XML and QUERY Shilpi Ahuja CSE Data Mining 4 th April 2002.
Semi-structured Data. Facts about the Web Growing fast Popular Semi-structured data –Data is presented for ‘human’-processing –Data is often ‘self-describing’
1 Chapter 11 Developing Custom Help. 11 Chapter Objectives Use HTML to create customized Help topics for an application Use the HTML Help Workshop to.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
Framework for Model Creation and Generation of Representations DDI Lifecycle Moving Forward.
Internet sources WEB-BASED GENOME BROWSER USING AJAX AND CANVAS TECHNOLOGIES T.F.Valeev 1,2, N.Tolstykh 1, F.A.Kolpakov 1,3 1 Institute of System Biology,
BioUML – open source integrated platform for collaborative and reproducible research in systems biology Fedor Kolpakov, Institute of Systems.
Working with Cascading Style Sheets. Introducing Cascading Style Sheets Style sheets are files or forms that describe the layout and appearance of a document.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 XML Taken from Chapter 7.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Lecture 3: Pathway Generation Tool I: CellDesigner: A modeling tool of biochemical networks Y.Z. Chen Department of Pharmacy National University of Singapore.
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
BioUML Fedor Kolpakov Institute of Systems Biology (spin-off of DevelopmentOnTheEdge.com) Laboratory of Bioinformatics, Design Technological Institute.
CP2022 Multimedia Internet Communication1 HTML and Hypertext The workings of the web Lecture 7.
XP Mohammad Moizuddin Creating Web Pages with HTML Tutorial 1 1 New Perspectives on Creating Web Pages With HTML Tutorial 1: Developing a Basic Web Page.
XML - Why: The HTML-Dilemma HTML, SGML, XML - How: Syntax, Concept, Language Elements Basics Well-formed XML-Documents (without DTD) Valid XML-Documents.
DSpace UI Alexey Maslov. DSpace in general A digital library tool useful for storage, maintenance, and retrieval of digital documents Two types of interaction:
What is XML?  XML stands for EXtensible Markup Language  XML is a markup language much like HTML  XML was designed to carry data, not to display data.
Introduction to HTML. What is a HTML File?  HTML stands for Hyper Text Markup Language  An HTML file is a text file containing small markup tags  The.
Sheet 1XML Technology in E-Commerce 2001Lecture 1 XML Technology in E-Commerce Lecture 1 WWW, HTML, CSS, XML, Meta-modeling.
FIGIS’ML Hands-on training - © FAO/FIGIS An introduction to XML Objectives : –what is XML? –XML and HTML –XML documents structure well-formedness.
Introduction to Applets CS 3505 Client Side Scripting with applets.
XP New Perspectives on The Internet, Sixth Edition— Comprehensive Tutorial 8 1 Creating Effective Web Pages Creating HTML Documents Tutorial 8.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
BioUML Fedor Kolpakov Institute of Systems Biology (spin-off of DevelopmentOnTheEdge.com) Laboratory of Bioinformatics, Design Technological Institute.
Diagram Definition A Case Study with the UML Class Diagram MoDELS 2011, Wellington, NZ By Maged Elaasar 1,2 (Presenter) and Yvan Labiche.
Comprehensive model for formalized description, visualization and simulation of biological systems Fedor A. Kolpakov Biosoft.Ru,
BioUML integrated platform for building virtual cell and virtual physiological human Fedor Kolpakov Institute of Systems Biology Laboratory of Bioinformatics,
BioUML ( Software framework for systems biology Overview Biosoft.Ru, Novosibirsk, Russia. Laboratory of Bioinformatics, Digital Design.
Presented by Nassib Awad
1 3. Computing System Fundamentals 3.1 Language Translators.
Javascript II DOM & JSON. In an effort to create increasingly interactive experiences on the web, programmers wanted access to the functionality of browsers.
The Optimization Plug-in for the BioUML Platform E. O. Kutumova 1,2,*, A. S. Ryabova 1,3, N. I. Tolstyh 1, F. A. Kolpakov 1,2 1 Institute of Systems Biology,
BIological NetwOrk Manager Cytoscape plugin Andrei Zinovyev Institut Curie/INSERM/Ecole de Mines, UMR 900 “Computational Systems Biology of Cancer”
Introduction to XML This presentation covers introductory features of XML. What XML is and what it is not? What does it do? Put different related technologies.
Modular Approach To Modeling Of The Apoptosis Machinery E. O. Kutumova 1,2,*, R. N. Sharipov 1,3,2, F. A. Kolpakov 1,2 1 Institute of Systems Biology,
New possibilities 1. EBI data pack – database modules for main databases supported by EBI: Ensembl, UniProt, ChEBI,Reactome, IntAct, GO, BioModels, SBO.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
L. Anne Spencer (c) 2001 Basic Web Design Document, text, & layout formatting tags & attributes.
2.1 XHTML. Motto High thoughts must have high language. –Aristophanes.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
XML CSC1310 Fall HTML (TIM BERNERS-LEE) HyperText Markup Language  HTML (HyperText Markup Language): December  Markup  Markup is a symbol.
THE SEMANTIC WEB By Conrad Williams. Contents  What is the Semantic Web?  Technologies  XML  RDF  OWL  Implementations  Social Networking  Scholarly.
UI's for inputting and presenting the metadata of hypermedia documents Kai Kuikkaniemi HUT T
Martin Kruliš by Martin Kruliš (v1.1)1.
1 BioUML - Biological Universal Modeling Language Biosoft.Ru, Novosibirsk, Russia. Laboratory of Bioinformatics, Digital Design Technologies.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
XP 2 HTML Tutorial 1: Developing a Basic Web Page.
BioUML – integrated platform for building virtual cell and virtual physiological human Fedor Kolpakov 1,2, Nikita Tolstykh 1,2, Elena Kutumova 1,2, Ilya.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
XML Extensible Markup Language
Rendering XML Documents ©NIITeXtensible Markup Language/Lesson 5/Slide 1 of 46 Objectives In this session, you will learn to: * Define rendering * Identify.
SysML 2.0 Requirements for Visualization
Elaboration popo.
Project 1 Introduction to HTML.
Unit 4 Representing Web Data: XML
Introduction to Internet Programming
SysML 2.0 Concept and Needs for Visualization
Chapter 7 Representing Web Data: XML
.NET and .NET Core 7. XAML Pan Wuming 2017.
XML Data Introduction, Well-formed XML.
Presentation transcript:

Encoding and exchanging graphical representation: architecture and formats Fedor Kolpakov Institute of Systems Biology Novosibirsk, Russia COMBINE-2010, October 7, 2010

Supplementary materials:

SBML… Java client (BioUML workbench) Graph model BioPAX SBGN infoGraphic notation Graph model Formal definition: properties, nodes, edges JavaScript functions: - build node/edge view - semantic controller Diagram view builder Data Model Graphical primitives: (line, box, text, etc.) similar with SBML layout extension Architecture XML formats Merged graph model Rendering, editing Web browser using HTML5 element (BioUML web edition) JSON Graphic notation editor

Rendering of large diagram by web browser (please try: move, zoom, edit)

Graph model

Corresponding mathematical model: Example: system from two chemical reactions A B -k1[A] R1 C -k2[B] K2[B] R k1 - reaction rate for R1 k2 – reaction rate for R2

A B -k1[A] R1 C -k2[B] R System structure is described as a compartmtalised attributed graph Mathematical model of the system Description of system components in the database: predefined standard types + any attributes ID A CC..... // ID R1 A->B... // ID B CC..... // ID R2 B->C... // ID C CC..... // A B -k1[A] R1 C -k2[B] R Meta-model: example of formal description of system from two chemical reactions

Graphic notation

Graphic notation editor main concepts graphic notation is defined formally as XML document graphic notation editor provides user friendly interface for XML document editing SBGN graphic notation (prototype) is implemented BioUML workbench allows to create and edit diagrams using graphic notation defined as XML document

Graphic notation versus graph layout allows edit diagram allows to create new diagram allows formally define SBGN and use it in diagrams from different sources (SBML, BioPAX, TRANSPATH, Reactome, etc.) allows to reuse graphic notation by many tools

Graphic notation – main components properties – formal definition of properties that can be used as properties of nodes and edges (for example, title, multimer, etc.). Definition of property includes: –name, type –short description –controlled vocabulary (optional) node types – definition of node includes: –name –icon –properties –view function (JavaScript) –short description edge types – definition of edge includes: –name –icon –properties –view function (JavaScript) –short description semantic controller – defines rules for semantic control of diagram integrity. For this purpose it defines following functions: –canAccept (JavaScript) –isResizable (JavaScript) –move (JavaScript)

<!ELEMENT graphicNotation ( properties, nodes, edges?, viewOptions?, semanticController?, viewBuilder?)> <!-- <!ATTLIST graphicNotation version CDATA "0.7.9" appVersion CDATA "0.7.9" >

<!ATTLIST property name CDATA #REQUIRED type CDATA #REQUIRED short-description CDATA #IMPLIED value CDATA > <!ATTLIST tag name CDATA #REQUIRED value CDATA #IMPLIED >

<!ATTLIST propertyRef name CDATA #REQUIRED value CDATA > <!ATTLIST node type CDATA #REQUIRED icon CDATA #IMPLIED isCompartment CDATA #IMPLIED > <!ATTLIST edge type CDATA #REQUIRED icon CDATA #IMPLIED >

<!ATTLIST viewOptions > <!ATTLIST viewBuilder prototype CDATA #REQUIRED > <!ATTLIST nodeview type CDATA #REQUIRED > <!ATTLIST edgeView type CDATA #REQUIRED >

<!ATTLIST semanticController prototype CDATA #REQUIRED > <!ATTLIST icon name CDATA #REQUIRED >

Why JavaScript? -can be integrated and executed by programs on different languages, including: -Java – includes JavaScript support from version 1.6, Rhino JavaScript library -C++ – SpiderMonkey library -can be executed by browser HTML 5 standard defines element for drawing. Now diagrams drawing and editing can be done by web browser. (see BioUML web edition as en example)

Access to graph model from JavaScript functions in graphic notation var multimer = node.getValue( "sbgn:multimer", // property name 0); // default value var entityType = node.getValue( "sbgn:entityType", // property name "unspecified");// default value

Graphic Notation Editor user interface

List of specific properties that are used by graphic notation Properties editor

For each node type user can define: - name - properties - icon - view function (JavaScript)

“Examples” node contains a set of diagrams that demonstrates usage of graphic notation.

When user selects some element on the diagram he can edit: - object properties - JavaScript that builds a view for selected diagram element

“Semantic controller” node contains list of JavaScript functions that provide semantic constraints and semantic integrity of the diagram.

SBGN info

SBGN information: main principles initial ideas: SBGN info: - compartmentalized attributed graph (SBGN graph) - references to biological object (SBML, BioPAX, TRANSPATH, etc. elements) - biological statements (complex structure, modifications, etc.) - graph layout - style for rendering - styles info (predefined pens, brus, colors, etc.) SBGN info + graphic notation contains all necessary information to generate and edit diagram SBGN info is stored in XML format - as XML fragment (inserted into SBML element) - as XML document (for example, for BioPAX and TRANSPATH) Information from SBML, BioPAX, Transpath, and other sources is represented as compartmentalized attributed graph and can be merged with SBGN graph using graph element identifiers.

<!ATTLIST node id CDATA #REQUIRED type CDATA #REQUIRED parent CDATA #REQUIRED ref CDATA clone CDATA > <!ATTLIST label value CDATA style CDATA colorFont CDATA >

<!ATTLIST nodeLayout x CDATA #REQUIRED y CDATA #REQUIRED width CDATA #REQUIRED height CDATA > <!ATTLIST nodeRendering style CDATA #REQUIRED pen CDATA brush CDATA >

<!ATTLIST edge id CDATA #REQUIRED type CDATA #REQUIRED from CDATA #REQUIRED to CDATA #REQUIRED ref CDATA >

<!– path concept is based on Java java.awt.geom.GeneralPath concept. Path represents a geometric path constructed from straight lines, and quadratic and cubic (B?zier) curves. --> <!ATTLIST segment type segmentType #REQUIRED x0 CDATA y0 CDATA x1 CDATA y1 CDATA x2 CDATA y2 CDATA >

<!ATTLIST style id CDATA #REQUIRED comment CDATA #REQUIRED > <!ATTLIST pen id CDATA #REQUIRED width CDATA #REQUIRED color CDATA #REQUIRED stroke CDATA > <!ATTLIST brush id CDATA #REQUIRED color CDATA #REQUIRED... >

<!ATTLIST font id CDATA #REQUIRED style CDATA #REQUIRED size CDATA #REQUIRED bold CDATA italic CDATA underline CDATA color CDATA >

Example: SBML diagram in SBGN notation

Example: XML fragment for SBML diagram in SBGN notation <sbgn xmlns:biouml=" notation="./graphic notations/sbgn_simulation.xml"> <node id="CMP0219" parent="" ref="CMP0219“ type="compartment"> <node id="PRT003759" parent="CMP0219.CMP0003“ ref="CMP0219_CMP0003_PRT003759" type="macromolecule"> <node id="PP" parent="CMP0219.CMP0003.PRT003759" ref="" type="variable">

<edge id="RCT005640: PRT as product“ ref="RCT005640: PRT as product" from="CMP0219.CMP0003.RCT005640" to="CMP0219.CMP0003.PRT003081" type="production">...

Example: TRANSPATH pathway in SBGN notation (automatically generated diagram)

SBML… Java client (BioUML workbench) Graph model BioPAX SBGN infoGraphic notation Graph model Formal definition: properties, nodes, edges JavaScript functions: - build node/edge view - semantic controller Diagram view builder Data Model Graphical primitives: (line, box, text, etc.) similar with SBML layout extension Architecture XML formats Merged graph model Rendering, editing Web browser using HTML5 element (BioUML web edition) JSON Graphic notation editor

Acknowledgements Part of this work was partially supported by following grants: European Committee grant “Net2Drug” and “LipidomicNet” Siberian Branch of Russian Academy of Sciences (interdisciplinary projects № 46, 17, 91) BioUML team (2010): Nikita Tolstyh Tagir Valeev Alexey Shadrin Ilya Kiselev Elena Kutumova Anna Ryabova Boris Semisalov