+ All Categories
Home > Education > Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Date post: 27-Jan-2015
Category:
Upload: keiichiro-ono
View: 116 times
Download: 1 times
Share this document with a friend
Description:
Slide for http://baliga.systemsbiology.net/events/workshop2012/
Popular Tags:
48
Cytoscape 3 Architecture, Current Status, and Future Plan Keiichiro Ono University of California, San Diego Trey Ideker Lab
Transcript
Page 1: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Cytoscape 3Architecture, Current Status, and Future Plan

Keiichiro OnoUniversity of California, San Diego

Trey Ideker Lab

Page 2: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Who am I?- Keiichiro Ono

- Cytoscape Core Developer since 2005- University of California, San Diego Trey

Ideker Lab

Page 3: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Outline

- Why Cytoscape 3?- Architecture- Current Status- Future Plan

Page 4: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Quick Introduction to Cytoscape

- Open source platform for biological network- data integration- analysis- visualization

Page 5: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

ENSG00000234012PIK3CA

KLHDC8B

CCNA1

ATRX

ABL1

LDB2

MSH3

DUSP3

LSP1

BACH1

MED1

KPNA3

HRAS

BUB1

PTEN

FAM175A

CDK8

ARIH1

UBE2N

CHGA

ELAC2

FBXW4

FGF11

EP400UBA1

GTF2F1

HERC2

POLR2A

FBXO10 FBXW11

CSNK2B

TOP2A

TAF10

HIST2H2AC

FEN1

MZT2B

UBE4B

XRCC1

DEPDC1B

TPX2

MAP3K1

DAPK1

MLH1

CDC6

GTF2E1

RNF40

PAXIP1

TRIM28

NCOA2

RPS6KB2

HSD17B1

FOS

NBN

TAF2G

PLK1FBXO4

AURKA

BRD7

EZH1

PSMD14

SMAD2

RAD23B

GCGRVAT1

MAGED2

MGMT

EDIL3

UBE2L3

STAT5A

ERCC5

CTBP1

YY1NPM1

LAT DNAH8 ENSG00000137337VCPNF1 XRCC6

EXO1

BIRC5

NEK2

YRDC

PLK3

RNF2

JUN

DNAJA3

CDK1

CREBBPCCNA2

ORC2L

WWP2UBE2D3

FANCG

ID4

GPR3SMAD4H2AFX

CDC25C

TRRAP

NEK10

XRCC3

ACACA

ORC3L

C11orf30

GMNN

C17orf70 CASP3

PGR

CHGB

9606.ENSP00000358154

RNASEL

RCHY1UIMC1

CDK13

RARB

BLM

NFKB1

CDK7

FANCD2

HSD17B1P1

FAM175B

ERBB2

POLL

RAD54B

GTF2H4

PMS2

STK11

RNF11

SMAD3

TFDP2

RFC1

CCNB1

SMURF2

RAD51

TP53

SUMO1

DPPA3AR

MCM4

PRC1

PSMC3IPZCCHC8

SCG2

C5orf4

RAD50

INSC

FANCI

Brca1

LIG3

TP53BP1COBRA1 TUBG1

RND2

HDAC2

CDK2BRAP

BRCC1

BRCA1

BARD1

LMO4

RBBP7

EP300

BRCA1

MAP3K3

RBBP8CLSPN

RNF53

BRIP1

BAP1

DCLRE1C

RBBP4

FANCFMYC

FANCE

FANCC

DDB2

FANCL FGFR2

CHD8

RAD17

WHSC2

KIAA1182

MED13

E2F4

HIST1H4ANUFIP1

RNF53

BRE

CREB1

RASSF1

TADA3

NBR2

NFYA

CTCF

BMI1XPAENSG00000204435

TSC1

POU4F1

EREGPARP1KPNA6

SIRT1DLK1

ASPM

IFI16DHX9

FHL2

WDR48

H2AFY

KIF11C19orf62

RAD52XRCC2

STAT3

ARNT

SRC

AKT1

E2F1

ATRIP

CCNE1

IFI27

RPA2

DMC1

FHIT

CDKL4 MZT1

GNA11

ENSG00000182481

PIK3R1

XPC

RB1

TERF1

MNAT1

SP1

FBXO21

ZNF350

CYP17A1

FBXO7CSTF2

GADD45A

PCNA

SMAD1

RAD51C HOXA5

MAP4K4

FBXO9

TRAF7

OPCML

SMARCA2

XRCC4

CSNK2A1

CCNB2

GLI1

KIF1B

HSD17B2

PSAP

MAP2K1

RPA1

WWP1

ANTXR1

PALB2

BRCC3

PEG3

FBXL7

JUND

WNT2B

AP2B1

FLI1

TOPBP1

ECHDC1

JAK1

MSH2

KPNA1NME1

STAT1

DNMT1PARK2

OTUB1

FANCB

TSPAN9

DCUN1D1

FBXO25

MED17

CDC25A

PARP2

RNF31

ELK4

TOX3

ECT2

CDK4

PPP1CA

SMARCB1

SMARCC2

FBXO11

HYRC

GSTP1

SMC1A

CYP19A1

CAND1 KAT5UBE2E1

CHD4

RRM1

RFC2

TIPARP

BUB1B

CDH1

TUBGCP4

MED23

CDKN2A

MED24

CHTF18

C19orf40

RBL2

SPO11

DPH1

NR1H2

POLR2K

MKI67

PIAS4

E2F6 CDK5

BRCA2

CCND1

JAK2

MDC1KAT2A

BATF

MAD2L1

UBE3A

RAD51L3

CHEK1

RAD54L

ATRG5A

LIG4

CCND3

SUPT3H

FBXL5

CBLL1

RAD51AP1 PIAS1

ATF1

ATM

RNF20

FBXO8FANCM

MPP3

TWSG1

POU4F2

TUBGCP6

FBXL4

DDX5

KRT5

TUBGCP5

KPNA4

MCPH1

IFI35

HNRNPA1

RPL31

ERCC3

FBXO24

USF2

RELA

MSH6

SUMO2

CNR1

MDM2

PMS1

RNF8

SUGT1

UBA52

ELK1

MELK

UBB

RBMXL2

LMO7

WT1 UBC

NBR1

PPP1R3A

ERCC4

RBL1

ERCC1

XRCC5

UBE2I

MRE11A

RNF144B

ETS1WRN

ESR1

NMI

SHFM1

EZH2

ERCC2

TUBB2A

MAP3K4

POU2F1HIC1

PML

DCAF11

CDKN1AAPLP2CDC45

TSPAN17

NUP153

EGFR

FBXL3

CTCFL

SMARCE1

GATA3

CHEK2

TOP3AEIF4G1

HSPA8

DDB1

PAX6

KRT14

TERF2

CSTF1PPT1

NCOA3

CDK16

SMARCA4

SMARCD2SMARCC1

DHFR

TUBA4A

IGF1R

RNF168

BRCA1 PPM1D

JUNB

MED21FANCA

AKAP10

HMMRCDKN1B

NUSAP1

RAD9A

Page 6: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 7: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 8: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Plugins Apps

Page 9: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

AllegroMCODE APCluster APID2NET BioQualiPlugin BLAST2SimilarityGraph BNMatch CABIN CalculateNodeDegree CentiScaPe ChemViz clusterExplorerPlugin clusterMaker ClusterONE ClusterViz COMA CommFinder CyClus3D CyOog cytoHubba Cytomcl DualLayout dynamicXpr EnhancedSearch EnrichmentMap ExprEssence GraMoFoNe GraphletCounter HiderSlider jActiveModules mcl-new MCODE MINE NeMo NetAtlas NetCirChro netMatch NetworkAnalyzer NetworkEvolut ion OmicsAnalyzer OmicsViz OrthoNets PanGIA Per turbat ionAna lyzer P innac leZ RandomNetworks RDFScsape Reactome F Is RemainingDegreeDistribution ReOrientPlugin ShortestPath Plugin SimTrek structureViz TransClust VennDiagramGenerator VistaClaraPlugin WordCloud BiNoM bioCycPlugin Biogr idPlugin BiomartCl ient BioNetBui lder BisoGenet ConsensusPathDBplugin CoryneRegNetLoader CyThesaurus-ID-Mapping CytoSQL DroID Genoscape GPML-Plugin GraphMLReader IntActWSClient iRefScape KGMLReader MetScape MiMIplugin NCBIClient NCBIEntrezGeneUserInterface Pathintegrator PhosphositePlus Web Service Client Module PICRClient PSICQUICUniversalClient ReConn SessionForWeb SFLDLoader StringWSClient Superpathways-Plugin 3DScape Agi lentLiteratureSearch Cytoprophet DisGeNET DomainGraph ExpressionCorrelation GeneMANIA MetaNetter MONET BiNGO BubbleRouter ClueGO CommonAttributes DisplayNetworkFromFlatFile FluxViz FunNetViz HyperEdgeEditor PiNGO CyGoose CytoscapeRPC GroovyScriptingEngine JavaScriptEngine MiSink PythonScriptingEngine RubyScriptingEngine ScriptEngineManager addParentNeighbors AdvancedNetworkMerge batchTool BiLayout commandTool coreCommands CyAnimator edgeLengthPlugin edgeLister EpiTrace FERN FM3 GoogleChartFunctions GroupTool MetaNodePlugin2 Multi levelLayoutPlugin NamedSelection NatureProtocolsWorkflow NeighborHighlight NetLink nodeCharts PhyloTree VennDiagrams

140+ Apps

Page 10: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

- One of the most successful applications in systems biology field

- Large user/developer community

Page 11: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Why Cytoscape 3?

C

Page 12: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 13: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Problems

Page 14: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Problems

- Apps can’t use conflicting libraries

?!Apache httpcomponents-client-4.1.2 GA

App 1

Apache httpcomponents-client-4.0.3

App 2

Page 15: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Problems

- Apps can’t publish their API

public int calculateDegree()

App 1

public void setNodeSizeByDegree()

App 2

No clean way to access!

Page 16: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Why these are serious?- Reinventing the wheel

- Even if other apps have nice features, there is no standard way to access those (programmatically)

- Crash!- Cytoscape will be unstable if plugins have

conflicting libraries

Page 17: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 18: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Backward Compatibility

- Cytoscape core updates break plugins- No clear definition of API- Versioning

Page 19: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

AllegroMCODE APCluster APID2NET BioQualiPlugin BLAST2SimilarityGraph BNMatch CABIN CalculateNodeDegree CentiScaPe ChemViz clusterExplorerPlugin clusterMaker ClusterONE ClusterViz COMA CommFinder CyClus3D CyOog cytoHubba Cytomcl DualLayout dynamicXpr EnhancedSearch EnrichmentMap ExprEssence GraMoFoNe GraphletCounter HiderSlider jActiveModules mcl-new MCODE MINE NeMo NetAtlas NetCirChro netMatch NetworkAnalyzer NetworkEvolution OmicsAnalyzer OmicsViz OrthoNets PanGIA PerturbationAnalyzer PinnacleZ RandomNetworks RDFScsape Reactome FIs RemainingDegreeDistribution ReOrientPlugin ShortestPath Plugin SimTrek structureViz TransClust VennDiagramGenerator VistaClaraPlugin WordCloud BiNoM bioCycPlugin BiogridPlugin BiomartClient BioNetBuilder BisoGenet ConsensusPathDBplugin CoryneRegNetLoader CyThesaurus-ID-Mapping CytoSQL DroID Genoscape GPML-Plugin GraphMLReader IntActWSClient iRefScape KGMLReader MetScape MiMIplugin NCBIClient NCBIEntrezGeneUserInterface Pathintegrator PhosphositePlus Web Service Client Module PICRClient PSICQUICUniversalClient ReConn SessionForWeb SFLDLoader StringWSClient Superpathways-Plugin 3DScape AgilentLiteratureSearch Cytoprophet DisGeNET DomainGraph ExpressionCorrelation GeneMANIA MetaNetter MONET BiNGO BubbleRouter ClueGO CommonAttributes DisplayNetworkFromFlatFile FluxViz FunNetViz HyperEdgeEditor PiNGO CyGoose CytoscapeRPC GroovyScriptingEngine JavaScriptEngine MiSink PythonScriptingEngine RubyScriptingEngine ScriptEngineManager addParentNeighbors AdvancedNetworkMerge batchTool BiLayout commandTool coreCommands CyAnimator edgeLengthPlugin edgeLister EpiTrace FERN FM3 GoogleChartFunctions GroupTool MetaNodePlugin2 Multi levelLayoutPlugin NamedSelection NatureProtocolsWorkflow NeighborHighlight NetLink nodeCharts PhyloTree VennDiagrams

Page 20: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Solutions

Page 21: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

- OSGi- Enforce modularity

- Semantic Versioning- Manage the changes

- Maven- Organize build/release process

Page 22: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Architecture

Page 23: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Overview

Java Virtual Machine

OSGi Framework

Cytoscape API Bundle A

Cytoscape API Bundle B

Cytoscape API Bundle CLib 1 Lib 2

Cytoscape Impl Bundle A Cytoscape Impl Bundle CCytoscape Impl Bundle B

App 1 App 2 App YApp X

Page 24: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 25: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 26: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

OSGi Framework

−Provides runtime container

−Defines module boundaries

−Provides micro service architecture

Page 27: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Collection of Modules

Page 28: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

OSGi Module

= Bundle

= JAR + Metadata

Page 29: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Defines what packages are visible from othersExport-Packages: org.cytocape.model

Defines which modules are required to use thisImport-Packages: org.cytoscape.events

Module X Module YModule Z

API 1

API 2

API 3

Page 30: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Defines public API

Page 31: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

OSGi Service

= Shared Java Object Instances

Page 32: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

OSGi Service

xyz IMPLxyz API

abc IMPL

abc API

Your App

IMPL modules register instances of service interfaces with the Service Registry

Service Registry

Apps depend on classes and service interfaces defined in the API

Apps get on instances of services interfaces from the Service Registry usingONLY the service interfaces!

IMPL modules create instances of service interfaces defined in the API

Cytoscape +

OSGi

Page 33: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Semantic Versioning

- Version number has meaning!

- major.minor.patch- patch - backwards compatible bug fixes

- minor - backwards compatible new features

- major - backwards incompatible changes

Page 34: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Maven

- Build tool- Manages dependencies

- Cytoscape Maven Repository

Page 35: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Summary

- OSGi enforces you to use modular design- Semantic versioning defines how and

when changes happen- Maven provides easy access to correct

version of libraries in the build process

Page 36: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Designing your Apps for 3

Page 37: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Design Guidelines for App Developers

- Define API as a collection of interfaces- Do not publish implementation details- Export useful objects as OSGi services

Page 38: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 39: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 40: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 41: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Future Plan

Page 42: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

What can we do with 3?

- Use Cytoscape modules as a building blocks of other applications

- Add/replace modules- New rendering engines- Graph database backend

Page 43: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Upcoming Projects- New Rendering Engine- Smart Zooming (like Google Map)- Headless/command-line Mode

- Run Cytoscape 3 on clouds- R/Matlab Integration- Graph Database Integration (Neo4j via

Tinkerpop Blueprints)- Publish to cytoscape.js

Page 44: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Release Schedule- Milestone 5 Released - For app developers- User Beta - Late September- User Beta 2- 3.0 Final Release

- At Cytoscape Retreat 2012 @UCSF- December 13, 14

Page 45: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

Where to Start?

- http://wiki.cytoscape.org/Cytoscape_3- http://code.cytoscape.org

Page 46: Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Page 47: Cytoscape 3 (Systems Bioinformatics Workshop 2012)

NIH GM070743-01

P01 HG005062

P41 RR031228


Recommended