Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cytoscape 3.0: The evolution of an open-source network visualization tool and its new extensible architecture

Cytoscape 3.0: The evolution of an open-source network visualization tool and its new extensible architecture

Oriol Guitart

June 17, 2013
Tweet

Transcript

  1. $ZUPTDBQF The evolution of an open-source network visualization tool and

    its new extensible architecture Oriol Guitart Pla Systems Biology Lab Institut Pasteur Paris
  2. Lille, June 17, 2013 Who am I? • Oriol Guitart

    Pla – Master in Electrical and Computer Science Engineering – Cytoscape Core Developer since March 2012 – Author of Cyni Toolbox App for Cytoscape 3.0 • Systems Biology Lab at Institut Pasteur – Develop novel concepts and tools for ‘omics data integration and network biology – Apply them to decipher complex biological processes – Examples: Dengue/bacterial infection, innate immunity, ... 2
  3. Lille, June 17, 2013 You? • Your Background? – Biologists

    – Bioinformaticians – Mathematicians – Computer Scientists – Molecular Biogists – Other? • Your Cytoscape Experience? – First Time – 2.x Users – 3.0 Users – App/Plugin Developer 3
  4. Lille, June 17, 2013 Outline • Introduction to Cytoscape •

    Cytoscape 3.0 • Apps/Plugins • Advanced topics 4
  5. Lille, June 17, 2013 Introduction to Cytoscape • Overview •

    Core Concepts – Networks & Data Tables(Attributes) – Visual Mapping (VizMapper) – Apps/Plugins • Cytoscape Workflow • Working with Data – Import networks – Import data table (Attributes) • Cytoscape Tips & Tricks 5
  6. Lille, June 17, 2013 Cytoscape •Open source platform for biological

    network data integration, analysis, and visualization –Free! (Open source, LPGL) –Developed and maintained by universities, companies, and research institutions –Expandable by Apps/Plugins 6
  7. Lille, June 17, 2013 www.cytoscape.org 7 Bird’s Eye View Network

    Panel Table Browser Network Views Toolbar
  8. Annotated Network Lille, June 17, 2013 Core Concepts - Integration

    • Networks & Data Tables (Attributes) 8
  9. Annotated Network Lille, June 17, 2013 Core Concepts - Integration

    • Networks & Data Tables (Attributes) 8
  10. Annotated Network Lille, June 17, 2013 Core Concepts - Integration

    • Networks & Data Tables (Attributes) 8
  11. Annotated Network Lille, June 17, 2013 Core Concepts - Integration

    • Networks & Data Tables (Attributes) 8
  12. Annotated Network Lille, June 17, 2013 Core Concepts - Integration

    • Networks & Data Tables (Attributes) 8
  13. • Visual Mapping (VizMapper) Lille, June 17, 2013 Core Concepts

    - Visualization 9 Data Table Use specific line types to indicate different types of interactions VizMapper
  14. • Visual Mapping (VizMapper) Lille, June 17, 2013 Core Concepts

    - Visualization 9 Data Table Use specific line types to indicate different types of interactions Browse extremely dense networks by controlling for the opacity of nodes VizMapper
  15. • Visual Mapping (VizMapper) Lille, June 17, 2013 Core Concepts

    - Visualization 9 Data Table Use specific line types to indicate different types of interactions Browse extremely dense networks by controlling for the opacity of nodes Expression data mapping VizMapper
  16. • Visual Mapping (VizMapper) Lille, June 17, 2013 Core Concepts

    - Visualization 9 Data Table Use specific line types to indicate different types of interactions Browse extremely dense networks by controlling for the opacity of nodes Expression data mapping Set node sizes based on the degree of connectivity of the nodes VizMapper
  17. • Visual Mapping (VizMapper) Lille, June 17, 2013 Core Concepts

    - Visualization 9 Data Table Use specific line types to indicate different types of interactions Browse extremely dense networks by controlling for the opacity of nodes Expression data mapping Set node sizes based on the degree of connectivity of the nodes Encode specific physical entities as different node shapes VizMapper
  18. Show  the   results Cytoscape Workflow Lille, June 17, 2013

    11 VizMapper Layouts Cytoscape   Apps Visualiza(on Computa(onal Analysis Human analysis Filtering Selec8on Data import Data export
  19. Lille, June 17, 2013 Import Networks 12 • Network Data

    Formats – SIF – GML – XGMML – GraphML – BioPAX – PSI-MI – SBML – KGML(KEGG) – Excel – Delimited Text Table – CSV – Tab • Network DataBases – Protein - Protein – STRING - IntAct – Genetic – BioGRID – Protein - Compound – ChEMBL – Human-Curated Pathways – KEGG, Reactome, PathwayCommons
  20. Lille, June 17, 2013 Import Data Table (Attributes) • Data

    Table: Any data that describes or provides details about nodes, edges, and networks • Anything saved as a table can be loaded into Cytoscape – Excel – Tab Delimited Document – CSV • As long as proper mapping key is available, Cytoscape can map them to your networks 13
  21. Lille, June 17, 2013 Import Data Table (Attributes) • Data

    Table: Any data that describes or provides details about nodes, edges, and networks • Anything saved as a table can be loaded into Cytoscape – Excel – Tab Delimited Document – CSV • As long as proper mapping key is available, Cytoscape can map them to your networks 13 BRCA1
  22. Lille, June 17, 2013 Import Data Table (Attributes) • Data

    Table: Any data that describes or provides details about nodes, edges, and networks • Anything saved as a table can be loaded into Cytoscape – Excel – Tab Delimited Document – CSV • As long as proper mapping key is available, Cytoscape can map them to your networks 13 BRCA1 GO Terms: DNA Repair Cell Cycle DNA Binding
  23. Lille, June 17, 2013 Import Data Table (Attributes) • Data

    Table: Any data that describes or provides details about nodes, edges, and networks • Anything saved as a table can be loaded into Cytoscape – Excel – Tab Delimited Document – CSV • As long as proper mapping key is available, Cytoscape can map them to your networks 13 BRCA1 GO Terms: DNA Repair Cell Cycle DNA Binding NCBI Gene ID 672
  24. Lille, June 17, 2013 Import Data Table (Attributes) • Data

    Table: Any data that describes or provides details about nodes, edges, and networks • Anything saved as a table can be loaded into Cytoscape – Excel – Tab Delimited Document – CSV • As long as proper mapping key is available, Cytoscape can map them to your networks 13 BRCA1 GO Terms: DNA Repair Cell Cycle DNA Binding NCBI Gene ID 672 On Chromosome 16
  25. Lille, June 17, 2013 Import Data Table (Attributes) • Data

    Table: Any data that describes or provides details about nodes, edges, and networks • Anything saved as a table can be loaded into Cytoscape – Excel – Tab Delimited Document – CSV • As long as proper mapping key is available, Cytoscape can map them to your networks 13 BRCA1 GO Terms: DNA Repair Cell Cycle DNA Binding NCBI Gene ID 672 On Chromosome 16 Ensemble ID ENSG00000012048
  26. Lille, June 17, 2013 Import Data Table (Attributes) • Data

    Table: Any data that describes or provides details about nodes, edges, and networks • Anything saved as a table can be loaded into Cytoscape – Excel – Tab Delimited Document – CSV • As long as proper mapping key is available, Cytoscape can map them to your networks 13 BRCA1 GO Terms: DNA Repair Cell Cycle DNA Binding NCBI Gene ID 672 On Chromosome 16 Ensemble ID ENSG00000012048 Public Data Sources
  27. Lille, June 17, 2013 Cytoscape Tips & Tricks • When

    you open a large network, you will not get a view by default • Saving a session on a large screen may require some resizing when opened on your laptop • Cytoscape uses a lot of memory • An occasional restart when working with large networks is a good thing • Destroy views when you do not need them • Sometimes, if things get really messed up, deleting (or renaming) “.cytoscape” directory can give a clean state 14
  28. Lille, June 17, 2013 Cytoscape 3.0 • Why a complete

    new version • Main differences with 2.x version • What’s new in 3.0 • Known issues • What next? 15
  29. Lille, June 17, 2013 Why a complete new version? •

    2.x done without explicit design guidelines or standards • API not well defined • Tightly coupled and interdependent (cyclic dependencies) • Hard to maintain and improve • Plugins could not share functionality 16
  30. Lille, June 17, 2013 Main differences with 2.x • 3.0

    almost completely rewritten • New modular architecture based on OSGi • Clear and simplified API • Implementation and API separated in different modules • RootNetwork/SubNetwork – Cytoscape 3 supports multiple root networks • Nodes and edges are shared within a single root network – Networks can have subnetworks • New concept of tables instead of attributes – CyRow and CyColumn interfaces 17
  31. Lille, June 17, 2013 What’s new in 3.0 • Network

    Annotations – Add notes and simple shapes to background or foreground of a network view 21
  32. Lille, June 17, 2013 What’s new in 3.0 • Network

    Collection – Cytoscape 3.0 manages networks based on network collections • Advanced Search Function – Search networks using Lucene syntax 23
  33. Lille, June 17, 2013 Known Issues • Cytoscape 3 uses

    Java 6 or 7. Doesn’t work well on OpenJDK, better to use Oracle JRE/JDK • Cytoscape 2.x sessions work well in 3.0 but not the other way around • Windows XP with more than 1Gb of RAM might fail at the startup • Installation from zip or tar files with older versions installed, better to remove CytoscapeConfiguration folder 24
  34. Lille, June 17, 2013 What next? • Possible 3.0.2 release

    in the next months if any important bug found • 3.1.0 release by the end of the year with several improvements: – Headless Mode ready – New Filtering UI – New VizMapper UI – Semantic zooming – New merge tool for data tables 25
  35. Lille, June 17, 2013 Apps/Plugins • Overview • Simple Apps

    • Bundle Apps • The app Store • Status of Apps/Plugins • A 3.0 App exporting API (Cyni) 26
  36. Lille, June 17, 2013 Cytoscape Apps/Plugins • Allow to extend

    cytoscape functionality • (Almost) all of them are free, so just play with it to learn what is possible • Lots of categories – Pathway Visualization – Data Import – Module Finding – ... • Apps, the new plugins – Cytoscape 3.0 has a new architecture so 2.x plugins are not longer valid – 3.0 new modular and standard architecture guarantee compatibility for all 3.x releases 27
  37. Lille, June 17, 2013 Simple Apps • Inherit from a

    Class and get access to all cytoscape core functionality • Samples provided to help on development • Pros: – Easy. Very similar development approach than 2.x plugins – They do not require any understanding of OSGi • Cons: – Cannot take full advantage of new 3.0 architecture – Single Loader: Same problem than 2.x – No easy way to share functionality 28
  38. Lille, June 17, 2013 Bundle Apps • OSGi based interface

    • A bundle is just a jar file along with a metadata file • Third party libraries can be included in the bundle • Many sample files also provided for development help • Pros: – Loaded independently. Your bundle can have different version of library than other bundles – Since you specifically register services, other apps can “get” those services • Cons: – More difficult development environment – If you export API, need to be careful with your API/ Implementation separation 29
  39. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  40. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  41. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  42. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31 3.0 Apps jActiveModules MCODE AgilentLiterature Search VennDiagramGenerator ClusterONE Centiscape GeneMANIA
  43. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  44. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  45. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31 Integrated in 3.0 Core EnhancedSearch BiomartClient NetworkAnalyzer
  46. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  47. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  48. • 140+ plugins for version 2.x series • 16 apps

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31 Plugins being ported ClusterMaker Genoscape MiMiplugin
  49. Lille, June 17, 2013 Cyni Toolbox App • First 3.0

    app that exports functionality • To biologists: – Cyni is a collection of tools for network inference • To bioinformaticians and inference researchers: – Cyni is a framework that supports and simplifies implementation of new network inference algorithms • Cyni provides – Several commonly used network inference techniques – Data imputation and discretization techniques – Several known metrics (correlation, bayesian,...) – Documented API – Tutorials and sample code 32
  50. Lille, June 17, 2013 Cyni Use case 33 Infer a

    network from gene expression data
  51. Load Data Lille, June 17, 2013 Cyni Use case 33

    Estimate Data Discretize Data
  52. Load Data Lille, June 17, 2013 Cyni Use case 33

    Estimate Data Discretize Data Infer Network
  53. Lille, June 17, 2013 Cytoscape.js • JavaScript version of cytoscape

    for network visualization on the web browsers 35
  54. Lille, June 17, 2013 Cytoscape Retreat 2013 • 9-11 October,

    Institut Pasteur, Paris – Symposium on Systems Biology (300 people Max) – App Expo Poster Session – Cytoscape User and Developer Tutorials (100 people Max) – http://nrnb.org/cyretreat/ 36
  55. Lille, June 17, 2013 Thank you! • Getting help -

    Cytoscape Community – [email protected][email protected] – Tutorials & Manuals – Bug reports • Please cite us • Hope to see you all next fall • Questions: Welcome! 37