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

1693253916162fc2898a4ad95bae6a73?s=128

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

  8. Lille, June 17, 2013 www.cytoscape.org 7 Toolbar

  9. Lille, June 17, 2013 www.cytoscape.org 7 Network Views Toolbar

  10. Lille, June 17, 2013 www.cytoscape.org 7 Network Panel Network Views

    Toolbar
  11. Lille, June 17, 2013 www.cytoscape.org 7 Bird’s Eye View Network

    Panel Network Views Toolbar
  12. Lille, June 17, 2013 www.cytoscape.org 7 Bird’s Eye View Network

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

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

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

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

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

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

    - Visualization 9
  19. • Visual Mapping (VizMapper) Lille, June 17, 2013 Core Concepts

    - Visualization 9 Data Table
  20. • Visual Mapping (VizMapper) Lille, June 17, 2013 Core Concepts

    - Visualization 9 Data Table VizMapper
  21. • Visual Mapping (VizMapper) Lille, June 17, 2013 Core Concepts

    - Visualization 9 Data Table Use specific line types to indicate different types of interactions VizMapper
  22. • 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
  23. • 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
  24. • 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
  25. • 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
  26. Lille, June 17, 2013 Core Concepts - Analysis • Apps/Plugins:

    Expanding Cytoscape Functionality 10
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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
  40. Lille, June 17, 2013 What’s new in 3.0 • New

    Welcome Screen 18
  41. Lille, June 17, 2013 What’s new in 3.0 • Edge

    Bend Visual Property 19
  42. Lille, June 17, 2013 What’s new in 3.0 • Edge

    Bundling 20
  43. 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
  44. Lille, June 17, 2013 What’s new in 3.0 • New

    Data Table Browser 22
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. Lille, June 17, 2013 The App Store • http://apps.cytoscape.org 30

  53. • 140+ plugins for version 2.x series • 16 apps

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

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

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  56. • 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
  57. • 140+ plugins for version 2.x series • 16 apps

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

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  59. • 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
  60. • 140+ plugins for version 2.x series • 16 apps

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

    for 3.x series Lille, June 17, 2013 Status of apps/plugins 31
  62. • 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
  63. 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
  64. Lille, June 17, 2013 Cyni Use case 33

  65. Lille, June 17, 2013 Cyni Use case 33 Infer a

    network from gene expression data
  66. Lille, June 17, 2013 Cyni Use case 33

  67. Load Data Lille, June 17, 2013 Cyni Use case 33

  68. Load Data Lille, June 17, 2013 Cyni Use case 33

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

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

    Estimate Data Discretize Data Infer Network
  71. Lille, June 17, 2013 github.com/cytoscape 34

  72. Lille, June 17, 2013 Cytoscape.js • JavaScript version of cytoscape

    for network visualization on the web browsers 35
  73. 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
  74. Lille, June 17, 2013 Thank you! • Getting help -

    Cytoscape Community – cytoscape-helpdesk@googlegroups.com – cytoscape-discuss@googlegroups.com – Tutorials & Manuals – Bug reports • Please cite us • Hope to see you all next fall • Questions: Welcome! 37