Cytoscape 3 (Systems Bioinformatics Workshop 2012)

4,659 views

Published on

Slide for http://baliga.systemsbiology.net/events/workshop2012/

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,659
On SlideShare
0
From Embeds
0
Number of Embeds
2,909
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cytoscape 3 (Systems Bioinformatics Workshop 2012)

  1. 1. Cytoscape 3Architecture, Current Status, andFuture Plan Keiichiro Ono University of California, San Diego Trey Ideker Lab
  2. 2. Who am I?- Keiichiro Ono - Cytoscape Core Developer since 2005 - University of California, San Diego Trey Ideker Lab
  3. 3. Outline- Why Cytoscape 3?- Architecture- Current Status- Future Plan
  4. 4. Quick Introduction to Cytoscape - Open source platform for biological network - data integration - analysis - visualization
  5. 5. CNR1 MELK PPP1R3A SUMO2 ERCC4 BRCA1 LMO7 MDM2 NBR1 PMS1 IGF1RPBP1 TUBA4A UBA52 PPT1 CSTF1 SMARCA4 RNF168 JUNB TERF2 PPM1D DHFR CDK16 FBXO25 SMARCC1 SMARCD2 NCOA3 FAM175B BRCA1 STK11 MED13 WHSC2 CREB1 SMAD3 E2F4 RBBP7 CHD8 ERBB2 BRE HDAC2 TP53 LMO4 FANCC KIAA1182 RAD17 EP300 BRAP CDK2 FANCE NUFIP1 DCUN1D1 HIST1H4A PMS2 RNF53 BARD1 POLL RBBP8 BRCC1 FANCL FGFR2 CLSPN RFC1 BRCA1 NBR2 MYC FANCF TFDP2 GTF2H4 DCLRE1C MAP3K3 RAD54B DDB2 BRIP1 RBBP4 BAP1 RAD51 DPPA3 AR FBXO9 NFYA RNF11 ZCCHC8 C5orf4 PSMC3IP RNF53 PRC1 SCG2 SMURF2 MCM4 SUMO1 TADA3 CCNB1 RND2 IFI27 INSC HOXA5 Brca1 TP53BP1 COBRA1 TUBG1 FANCI LIG3 RAD50 TSC1 FBXO21 PCNA FHIT MNAT1 ZNF350 KIF11 CYP17A1 SP1 GADD45A DMC1 FBXO7 RASSF1 CSTF2 SIRT1 KPNA6 DLK1 FHL2 ATRIP RAD52 PARP1 EREG XRCC2 ASPM BMI1 DHX9KT1 ENSG00000204435 IFI16 XPA MZT1 POU4F1 WDR48 RPA2 CDKL4 CTCF HSD17B2 CCNE1 GLI1 XRCC4 OPCML CCNB2 ENSG00000182481
  6. 6. Plugins Apps
  7. 7. AllegroMCODE APCluster APID2NET BioQualiPlugin BLAST2SimilarityGraph BNMatch CABINCalculateNodeDegree CentiScaPe ChemViz clusterExplorerPlugin clusterMaker ClusterONEClusterViz COMA CommFinder CyClus3D CyOog cytoHubba Cytomcl DualLayoutdynamicXpr EnhancedSearch EnrichmentMap ExprEssence GraMoFoNe GraphletCounterHiderSlider jActiveModules mcl-new MCODE MINE NeMo NetAtlas NetCirChro netMatchNetworkAnalyzer NetworkEvolution OmicsAnalyzer OmicsViz OrthoNets PanGIAPerturbationAnalyzer PinnacleZ RandomNetworks RDFScsape Reactome FIsRemainingDegreeDistribution ReOrientPlugin ShortestPath Plugin SimTrek structureVizTransClust VennDiagramGenerator VistaClaraPlugin WordCloud BiNoM bioCycPluginBiogridPlugin BiomartClient BioNetBuilder BisoGenet ConsensusPathDBplugin 140+ AppsCoryneRegNetLoader CyThesaurus-ID-Mapping CytoSQL DroID Genoscape GPML-PluginGraphMLReader IntActWSClient iRefScape KGMLReader MetScape MiMIplugin NCBIClientNCBIEntrezGeneUserInterface Pathintegrator PhosphositePlus Web Service Client ModulePICRClient PSICQUICUniversalClient ReConn SessionForWeb SFLDLoader StringWSClientSuperpathways-Plugin 3DScape AgilentLiteratureSearch Cytoprophet DisGeNETDomainGraph ExpressionCorrelation GeneMANIA MetaNetter MONET BiNGO BubbleRouterClueGO CommonAttributes DisplayNetworkFromFlatFile FluxViz FunNetViz HyperEdgeEditorPiNGO CyGoose CytoscapeRPC GroovyScriptingEngine JavaScriptEngine MiSinkPythonScriptingEngine RubyScriptingEngine ScriptEngineManager addParentNeighborsAdvancedNetworkMerge batchTool BiLayout commandTool coreCommands CyAnimatoredgeLengthPlugin edgeLister EpiTrace FERN FM3 GoogleChartFunctions GroupToolMetaNodePlugin2 MultilevelLayoutPlugin NamedSelection NatureProtocolsWorkflowNeighborHighlight NetLink nodeCharts PhyloTree VennDiagrams
  8. 8. - One of the most successful applications in systems biology field- Large user/developer community
  9. 9. Why Cytoscape 3?C
  10. 10. Problems
  11. 11. ProblemsApp 1 Apache httpcomponents-client-4.1.2 GA ?!App 2 Apache httpcomponents-client-4.0.3 - Apps can’t use conflicting libraries
  12. 12. ProblemsApp 1 No clean way to public int calculateDegree() access! App 2 public void setNodeSizeByDegree() - Apps can’t publish their API
  13. 13. 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
  14. 14. Backward Compatibility- Cytoscape core updates break plugins - No clear definition of API - Versioning
  15. 15. AllegroMCODE APCluster APID2NET BioQualiPlugin BLAST2SimilarityGraph BNMatch CABINCalculateNodeDegree CentiScaPe ChemViz clusterExplorerPlugin clusterMaker ClusterONEClusterViz COMA CommFinder CyClus3D CyOog cytoHubba Cytomcl DualLayout dynamicXprEnhancedSearch EnrichmentMap ExprEssence GraMoFoNe GraphletCounter HiderSliderjActiveModules mcl-new MCODE MINE NeMo NetAtlas NetCirChro netMatch NetworkAnalyzerNetworkEvolution OmicsAnalyzer OmicsViz OrthoNets PanGIA PerturbationAnalyzer PinnacleZRandomNetworks RDFScsape Reactome FIs RemainingDegreeDistribution ReOrientPluginShortestPath Plugin SimTrek structureViz TransClust VennDiagramGenerator VistaClaraPluginWordCloud BiNoM bioCycPlugin BiogridPlugin BiomartClient BioNetBuilder BisoGenetConsensusPathDBplugin CoryneRegNetLoader CyThesaurus-ID-Mapping CytoSQL DroIDGenoscape GPML-Plugin GraphMLReader IntActWSClient iRefScape KGMLReader MetScapeMiMIplugin NCBIClient NCBIEntrezGeneUserInterface Pathintegrator PhosphositePlus WebService Client Module PICRClient PSICQUICUniversalClient ReConn SessionForWeb SFLDLoaderStringWSClient Superpathways-Plugin 3DScape AgilentLiteratureSearch Cytoprophet DisGeNETDomainGraph ExpressionCorrelation GeneMANIA MetaNetter MONET BiNGO BubbleRouterClueGO CommonAttributes DisplayNetworkFromFlatFile FluxViz FunNetViz HyperEdgeEditorPiNGO CyGoose CytoscapeRPC GroovyScriptingEngine JavaScriptEngine MiSinkPythonScriptingEngine RubyScriptingEngine ScriptEngineManager addParentNeighborsAdvancedNetworkMerge batchTool BiLayout commandTool coreCommands CyAnimatoredgeLengthPlugin edgeLister EpiTrace FERN FM3 GoogleChartFunctions GroupToolMetaNodePlugin2 MultilevelLayoutPlugin NamedSelection NatureProtocolsWorkflowNeighborHighlight NetLink nodeCharts PhyloTree VennDiagrams
  16. 16. Solutions
  17. 17. - OSGi - Enforce modularity- Semantic Versioning - Manage the changes- Maven - Organize build/release process
  18. 18. Architecture
  19. 19. OverviewApp 1 App 2 App X App YCytoscape Impl Bundle A Cytoscape Impl Bundle B Cytoscape Impl Bundle C Cytoscape API Cytoscape API Cytoscape APILib 1 Lib 2 Bundle A Bundle B Bundle COSGi FrameworkJava Virtual Machine
  20. 20. OSGi Framework−Provides runtime container−Defines module boundaries−Provides micro service architecture
  21. 21. Collection of Modules
  22. 22. OSGi Module = Bundle = JAR + Metadata
  23. 23. Module X Module Y Module ZDefines which modules are required to use this Import-Packages: org.cytoscape.eventsDefines what packages are visible from others Export-Packages: org.cytocape.model API 1 API 3 API 2
  24. 24. Defines public API
  25. 25. OSGi Service = Shared Java Object Instances
  26. 26. OSGi Service Apps depend on Apps get on instances of Your App classes and service services interfaces from interfaces defined in the Service Registry using the API ONLY the service interfaces! Service Registry Cytoscape abc APIIMPL modules +register instances OSGiof serviceinterfaces with theService Registry IMPL modules create instances of service interfaces defined in the xyz API abc IMPL xyz IMPL API
  27. 27. Semantic Versioning- Version number has meaning! - major.minor.patch - patch - backwards compatible bug fixes - minor - backwards compatible new features - major - backwards incompatible changes
  28. 28. Maven- Build tool- Manages dependencies - Cytoscape Maven Repository
  29. 29. 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
  30. 30. Designing your Apps for 3
  31. 31. Design Guidelines for App Developers- Define API as a collection of interfaces- Do not publish implementation details- Export useful objects as OSGi services
  32. 32. Future Plan
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. Where to Start?- http://wiki.cytoscape.org/Cytoscape_3- http://code.cytoscape.org
  37. 37. P41 RR031228NIH GM070743-01 P01 HG005062
  38. 38. www.cytoscape.org

×