improving the jsbml/celldesigner plugin interface: combine 2014

22
Improving the JSBML/CellDesigner Plugin Interface Ibrahim Vazirabad 20-8-2014

Upload: yusef-vazirabad

Post on 19-Jun-2015

134 views

Category:

Software


0 download

DESCRIPTION

Presentation by Ibrahim Vazirabad on August 20th at COMBINE 2014 at USC Keck School of Medicine.

TRANSCRIPT

Page 1: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

Improving the JSBML/CellDesigner Plugin Interface

Ibrahim Vazirabad20-8-2014

Page 2: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

2

What is JSBML?Java library to

read/write/manipulate SBML files.

Offers full platform independence.

CellDesigner plugin interface.

20 August 2014 Ibrahim Vazirabad

CellDesigner model and JSBML plugin

Page 3: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

3

What is CellDesigner?CellDesigner is a process

diagram editor for biochemical networks.

 One of most frequently used tools in systems biology. 

Accesses many SBML model databases: BioModels, PANTHER.

Function augmentation: pluginsEssential for project.

20 August 2014 Ibrahim Vazirabad

-CellDesigner sample file: M_phase.xml-PANTHER logo: http://www.pantherdb.org/-BioModels logo: http://www.ebi.ac.uk/biomodels-main/

Page 4: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

4

SBML Layout and Render ExtensionPre-L3 SBML, no way to specify

network layout or appearance.2006: Layout and Render packages

proposed. 1. Layout: element position, size.

2. Render: colors, shapes, line widths, etc.

CellDesigner has own specification.Would like to connect both SBML’s and

CellDesigner’s specifications.

-from SBML Level 3 Package: Layout specification20 August 2014 Ibrahim

Vazirabad

Page 5: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

5

Project MotivationWhy improve CellDesigner/JSBML plugin

interface?1. JSBML users: harness model layout power of

CellDesigner.2. CellDesigner users: access diverse suite of

JSBML tools.3. Plugin developers: Interface can ease plugin

development. Looking to improve a good thing.

20 August 2014 Ibrahim Vazirabad

Page 6: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

6

Project Overview1. CellDesigner provides non-accessed layout/render

information. Want to import these attributes via Layout/Render.

2. CellDesigner/JSBML model synchronization was incomplete.

1. JSBML notified CellDesigner of core Model changes.2. CellDesigner JSBML unimplemented.

When CellDesigner sends events, need to update JSBML Model.

20 August 2014 Ibrahim Vazirabad

Page 7: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

7

Project GoalDevelop small collection of CellDesigner plugins.

1. Visualize Layout/Render data additions from CellDesigner. 

2. Visualize synchronization from CellDesigner to JSBML.

1st step: map CellDesigner plugin interface to Layout/ Render. PluginCompartment, PluginSpeciesAlias, PluginReaction

20 August 2014 Ibrahim Vazirabad

Page 8: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

8

PluginCompartment-JSBML Mapping

20 August 2014 Ibrahim Vazirabad

Page 9: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

9

PluginSpeciesAlias-JSBML Mapping

20 August 2014 Ibrahim Vazirabad

Page 10: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

10

PluginReaction-JSBML Mapping

20 August 2014 Ibrahim Vazirabad

Page 11: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

CellDesigner Plugin CreationTo create plugin, implementation of only two abstract classes

required.Once implemented, link formed between JSBML and CellDesigner.Easily make JSBML application into CellDesigner plugin.

AbstractCellDesignerPlugin

CellDesigner

Loads on start

Declares

Invokes

Calls

-Schematic: Dräger 2014

AbstractCellDesigner

PluginAction

11

Page 12: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

12

Project Progress1. Imported CellDesigner Layout data into

JSBML.1. SBML file export plugin.2. Tree-based Layout visualization plugin.

2. CellDesignerJSBML synchronization completed.

Tree-based SBML visualization plugin.

20 August 2014 Ibrahim Vazirabad

Page 13: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

13

SBML File Export Plugin

20 August 2014 Ibrahim Vazirabad -CellDesigner sample file: MAPK.xml

Page 14: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

14

Layout Visualization: MAPK Pathway

20 August 2014 Ibrahim Vazirabad

-CellDesigner sample file: MAPK.xmlVisualized by SBML Layout ViewerURL: sysbioapps.dyndns.org/Layout

Page 15: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

15

Layout Visualization: De novo nucleotide biosynthesis

20 August 2014 Ibrahim Vazirabad

-PANTHER Model: De novo pyrimidine deoxyribonucleotide biosynthesisVisualized by SBML Layout ViewerURL: sysbioapps.dyndns.org/Layout

Page 16: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

16

Layout Visualization: E. coli TCA Cycle

20 August 2014 Ibrahim Vazirabad

BioModels Model #: BIOMD0000000222Visualized by SBML Layout ViewerURL: sysbioapps.dyndns.org/Layout

Layout information has been translated to JSBML.

Page 17: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

17

CellDesigner/JSBML Synchronization

20 August 2014 Ibrahim Vazirabad

CellDesigner plugins sends notifications when:1. SBaseAdded()2. SBaseChanged()3. SBaseDeleted()4. modelOpened()5. modelSelectChanged()6. modelClosed()

To understand further, created plugin that receives/prints events.

Page 18: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

18

CellDesigner/JSBML Synchronization

20 August 2014 Ibrahim Vazirabad

-CellDesigner sample file: MAPK.xml

Four reactions, one species.

J6, J7 changed, J3, J4 deleted in addition.

One user action, many events sent.Update JSBML Model accordingly.

Page 19: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

19

CellDesigner/JSBML Synchronization

20 August 2014 Ibrahim Vazirabad -CellDesigner sample file:

MAPK.xml

Synchrony maintained between CellDesigner and JSBML.

Page 20: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

20

Next Steps/Further Work1. Render Extension additions are not implemented.

a) JSBML bug prevented Render Extension from being implemented.

b) Good news: bug fixed!

2. Reaction positioning algorithm issues:

1. Guesswork involved in finding the process node.

2. Updated CellDesigner plugin interface released on Sunday.

3. Synchronize Layout Extension changes from JSBML to CellDesigner.

20 August 2014 Ibrahim Vazirabad

Page 21: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

21

Project DiscussionOnce completed, hope that it will make the

interface between CellDesigner and JSBML very fluid.

Will provide a way to communicate between generic functionality of JSBML and visualization function of CellDesigner.

With improvements, it will be a polished addition to current JSBML-CellDesigner bridge.

20 August 2014 Ibrahim Vazirabad

Page 22: Improving the JSBML/CellDesigner Plugin Interface: COMBINE 2014

22

AcknowledgementsMentors:

Dr. Andreas Dräger Alex Thomas

Dr. Akira Funahashi

20 August 2014 Ibrahim Vazirabad

Funding: Thank you! Questions?