Cytoscape 3 (Systems Bioinformatics Workshop 2012)
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Cytoscape 3 (Systems Bioinformatics Workshop 2012)

on

  • 4,416 views

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

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

Statistics

Views

Total Views
4,416
Views on SlideShare
1,634
Embed Views
2,782

Actions

Likes
0
Downloads
32
Comments
0

6 Embeds 2,782

http://mnemosyne.de-blog.jp 2710
http://baliga.systemsbiology.net 54
http://www.mnemosyne.de-blog.jp 8
http://webcache.googleusercontent.com 6
https://twitter.com 2
http://ranksit.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Cytoscape 3 (Systems Bioinformatics Workshop 2012) Presentation Transcript

  • 1. Cytoscape 3Architecture, Current Status, andFuture Plan Keiichiro Ono University of California, San Diego Trey Ideker Lab
  • 2. Who am I?- Keiichiro Ono - Cytoscape Core Developer since 2005 - University of California, San Diego Trey Ideker Lab
  • 3. Outline- Why Cytoscape 3?- Architecture- Current Status- Future Plan
  • 4. Quick Introduction to Cytoscape - Open source platform for biological network - data integration - analysis - visualization
  • 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. Plugins Apps
  • 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. - One of the most successful applications in systems biology field- Large user/developer community
  • 9. Why Cytoscape 3?C
  • 10. Problems
  • 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. ProblemsApp 1 No clean way to public int calculateDegree() access! App 2 public void setNodeSizeByDegree() - Apps can’t publish their API
  • 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. Backward Compatibility- Cytoscape core updates break plugins - No clear definition of API - Versioning
  • 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. Solutions
  • 17. - OSGi - Enforce modularity- Semantic Versioning - Manage the changes- Maven - Organize build/release process
  • 18. Architecture
  • 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. OSGi Framework−Provides runtime container−Defines module boundaries−Provides micro service architecture
  • 21. Collection of Modules
  • 22. OSGi Module = Bundle = JAR + Metadata
  • 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. Defines public API
  • 25. OSGi Service = Shared Java Object Instances
  • 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. Semantic Versioning- Version number has meaning! - major.minor.patch - patch - backwards compatible bug fixes - minor - backwards compatible new features - major - backwards incompatible changes
  • 28. Maven- Build tool- Manages dependencies - Cytoscape Maven Repository
  • 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. Designing your Apps for 3
  • 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. Future Plan
  • 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. 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. 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. Where to Start?- http://wiki.cytoscape.org/Cytoscape_3- http://code.cytoscape.org
  • 37. P41 RR031228NIH GM070743-01 P01 HG005062
  • 38. www.cytoscape.org