what's new in cytoscape
TRANSCRIPT
What’s New In Cytoscape?
Keiichiro Ono UCSD Trey Ideker Lab Cytoscape Core Team
SDCSB Workshop 5/19/2016@Sanford
Keiichiro Ono
Cytoscape Core Developer since 2005 @UCSD Trey Ideker Lab
Area of Interest:Biological Data Integration & Visualization
Outline
- Cytoscape Project Updates
- Cytoscape Core
- Cytoscape and the Web
- Cytoscape Ecosystem and CI
Quick Introduction to Cytoscape
What is Cytoscape?
An Open Source Platform for Biological Network Data Integration, Analysis and Visualization
Cytoscape
Cytoscape 3.4
Cytoscape- Open Source: LGPL
- Free for both commercial and academic use - Developed and maintained by universities, companies, and research
institutions
- De-facto standard software in biological network research community
- 13k downloads / month - Expandable by Apps - Platform, not a stand-alone desktop application
C. Elegans Interactome from BioGRID Database
?
Biological Networks
- Tell us anything by themselves - Just a big hairball…
Module 1
Need a tool to extract meaningful biological modules
Basic Workflow
Networks
Public Interaction Databases
List of Genes
Other Data
APPS.CYTOSCAPE.ORG
Cytoscape Ecosystem
Cytoscape
For Desktop Cytoscape 3.4Publish to the web
For Building Web Applications Cytoscape.js
Interaction Data Repository
NDEx
Cyberinfrastructure (CI)
Sample Services
Fast ID Mapping
Network Image Generator
Format converter
Data Format CX
Job Router ELSA
Visualization Widgets
Network Widget
Table Widget
Composite Widget NDEx Valet
Cytoscape
For Desktop Cytoscape 3.4Publish to the web
For Building Web Applications Cytoscape.js
Interaction Data Repository
NDEx
Cyberinfrastructure (CI)
Sample Services
Fast ID Mapping
Network Image Generator
Format converter
Data Format CX
Job Router ELSA
Visualization Widgets
Network Widget
Table Widget
Composite Widget NDEx Valet
Cytoscape 3.4
Cytoscape 3.4• Latest version of Cytoscape
Desktop application
• New Features:
• New Network View Manager
• App Collections
• Performance Improvements for browsing large number of networks (grid view)
• Lots of bug fixes
New Network View Manager
Grid View
Grid View• Display all networks as
tiles of network images
• Can easily handle hundreds of networks without any performance penalty
Detached View
Detached View
• Display networks in separate windows
• Useful when you have large workspace (e.g. dual display)
App Collections
App Collections
• Users can install multiple Apps at once
• Organized for specific use cases
• Mass Spec
• Omics Analysis
• Functional Enrichment
• EmrichmentMap
Cytoscape
For Desktop Cytoscape 3.4Publish to the web
For Building Web Applications Cytoscape.js
Interaction Data Repository
NDEx
Cyberinfrastructure (CI)
Sample Services
Fast ID Mapping
Network Image Generator
Format converter
Data Format CX
Job Router ELSA
Visualization Widgets
Network Widget
Table Widget
Composite Widget NDEx Valet
Cytoscape
For Desktop Cytoscape 3.4Publish to the web
For Building Web Applications Cytoscape.js
Interaction Data Repository
NDEx
Cyberinfrastructure (CI)
Sample Services
Fast ID Mapping
Network Image Generator
Format converter
Data Format CX
Job Router ELSA
Visualization Widgets
Network Widget
Table Widget
Composite Widget NDEx Valet
Cytoscape and The Web
11 Years Ago…
2005- Cytoscape 2.2: a Java Desktop Application
- Google released an application called Google Maps beta
- “Re-discovery” of JavaScript, or Ajax
- Virtually no smartphone market
Today
Today- JavaScript is a programming language for
large-scale applications
- Tablets and other touch-based devices are important platform for data visualization
- Web is a competitive application platform
Our Approach to the Web
- Cytoscape project should support use cases such as:
- Sharing network data over the web
- Visualizing network data on web browsers
cytoscape.js
- A JavaScript Library
- NOT A WEB APPLICATION!
- A building block for web apps
- For web application programmers
- But there are many web applications using Cytoscape.js
cytoscape.js
http://bit.ly/1W4vBzk
bit.ly/22hkOlv
cytoscape.js
- Fast enough for relatively large networks
- Stable
- Open source (MIT)
ScienceDirect App Publish your networks as interactive diagrams
Interactive paper figuresCollaboration Project with Elsevier
Network Diagrams in Papers
- Problem:
- OK for small networks/pathways
- Does not helpful for large networks
- Solution:
- Make them interactive
- Pan / Zoom
https://www.elsevier.com/books-and-journals/content-innovation/interactive-network-viewer
Example:
Host cell interactome of PA protein of H5N1 influenza A virus in chicken cells – Journal of Proteomics
http://www.sciencedirect.com/science/article/pii/S1874391916300215
How to Export your Networks for Interactive Viewers
Preview
Demo
Load a Network Preview in Web Browser Export
cynetshareA web application using cytoscape.js
bit.ly/1DNmetV
bit.ly/1DNmetV- Location of Network File
- Visual Style
- Zoom Level
- Viewable Area
Cytoscape
For Desktop Cytoscape 3.4Publish to the web
For Building Web Applications Cytoscape.js
Interaction Data Repository
NDEx
Cyberinfrastructure (CI)
Sample Services
Fast ID Mapping
Network Image Generator
Format converter
Data Format CX
Job Router ELSA
Visualization Widgets
Network Widget
Table Widget
Composite Widget NDEx Valet
Cytoscape
For Desktop Cytoscape 3.4Publish to the web
For Building Web Applications Cytoscape.js
Interaction Data Repository
NDEx
Cyberinfrastructure (CI)
Sample Services
Fast ID Mapping
Network Image Generator
Format converter
Data Format CX
Job Router ELSA
Visualization Widgets
Network Widget
Table Widget
Composite Widget NDEx Valet
Cytoscape
For Desktop Cytoscape 3.4Publish to the web
For Building Web Applications Cytoscape.js
Interaction Data Repository
NDEx
Cyberinfrastructure (CI)
Sample Services
Fast ID Mapping
Network Image Generator
Format converter
Data Format CX
Job Router ELSA
Visualization Widgets
Network Widget
Table Widget
Composite Widget NDEx Valet
Cytoscape Cyberinfrastructure
Cyberinfrastructure?
–Wikipedia
Cyberinfrastructure:
Research environments that support advanced data acquisition, data storage, data management, data integration, data mining, data visualization and other computing and information processing services distributed over the Internet beyond the scope of a single institution
?
Computing Infrastructure Community
Computing Infrastructure
Problems in Bioinformatics- No more free lunch
- Even if you buy expensive machines, you cannot get free performance gain anymore. You have to design your code for massively distributed environment. (From Scale-up to Scale-out)
- This is a problem especially when you analyze omics-scale data sets
Problems in Bioinformatics
- Complex Data Analysis Pipeline
- Need to build pipeline by connecting multiple resources, or services
- Needs for complex, customized data visualization
Problems in Bioinformatics
- Reproducibility ➡ Building, deploying, and maintaining reproducible
data analysis / visualization pipeline is not straight-forward
Data Preparation
Analysis Visualization
ALL tools should work nicely together with other popular software packages
REST
What is cyREST?
- Platform-independent, RESTful API module for Cytoscape - Means you can access basic Cytoscape data objects
programmatically - Now this is a Cytoscape Core feature!
REST
Two sides of modern biology
✔
Use Cases- I have 200 networks in my session and I need to create
one PDF per view. How can I do it with Cytoscape?
- I need to use igraph for network analysis, but its visualization feature is limited. I want to use Cytoscape as an external visualization engine for R.
- Usually I use IPython Notebook to record my work. How can I integrate Cytoscape into my workflow?
- I want to generate Style for each time point and create small multiples of networks.
cyREST RESTful API for Cytoscape
https://github.com/idekerlab/cy-rest-R/blob/develop/workflow1_structure_based_visualization.R
cyREST and other programming tools for Cytoscape will be covered in the Advanced Cytoscape Workshop from 3:15PM
Interactive Data Analysis Environments
In-House Databases External Computing Resources
- Graph Layout- Statistical Analysis- Data Pre-processing
RStudio
- NumPy- SciPy- Pandas- NetworkX
IPython Notebook
File / Code Hosting ServicesPublic Data Repository
PSICQUIC Services
EBI RDF Platform
Other Bioinformatics Web Applications / Services
- igraph- rCurl
Command Line Tools
> sed> awk> grep> curl
Web Browsers
Data Repository & Collaboration Service
Data Bus (Internet)
Your Workstation
Cytoscape App Store
Cytoscape Desktop
Apps
Core
REST
Interactive Data Analysis Environments
In-House Databases External Computing Resources
- Graph Layout- Statistical Analysis- Data Pre-processing
RStudio
- NumPy- SciPy- Pandas- NetworkX
IPython Notebook
File / Code Hosting ServicesPublic Data Repository
PSICQUIC Services
EBI RDF Platform
Other Bioinformatics Web Applications / Services
- igraph- rCurl
Command Line Tools
> sed> awk> grep> curl
Web Browsers
Data Repository & Collaboration Service
Data Bus (Internet)
Your Workstation
Cytoscape App Store
Cytoscape Desktop
Apps
Core
REST→ Service Repository
→ Network Data Repository
Service
- Service = ANY program wrapped with REST API - Examples:
- ID Mapping - Format converter
- BioPAX to GraphML - GO Enrichment Analysis
Writing CI Services
1. Write a command line tool
2. Wrap it with REST API
3. Register to job manager (provided by us)
Why this is important?
In most cases, cutting-edge bioinformatics algorithms are published as (hard-to-use) command line tools written by researchers/graduate students
Rewriting it as Cytoscape App is hard
But wrapping it with REST API is not so difficult
Once published as service, it can be called from any tools, including R/Bioconductor, Python, and Cytoscape
Cytoscape
For Desktop Cytoscape 3.4Publish to the web
For Building Web Applications Cytoscape.js
Interaction Data Repository
NDEx
Cyberinfrastructure (CI)
Sample Services
Fast ID Mapping
Network Image Generator
Format converter
Data Format CX
Job Router ELSA
Visualization Widgets
Network Widget
Table Widget
Composite Widget NDEx Valet
Cytoscape
For Desktop Cytoscape 3.4Publish to the web
For Building Web Applications Cytoscape.js
Interaction Data Repository
NDEx
Cyberinfrastructure (CI)
Sample Services
Fast ID Mapping
Network Image Generator
Format converter
Data Format CX
Job Router ELSA
Visualization Widgets
Network Widget
Table Widget
Composite Widget NDEx Valet
Computing Infrastructure Community
Community
- Large user and developer community
- Lots of examples and documents
- Workshops / Lectures
Community is equally important as technology for successful CI
How to Participate
2016 Keiichiro Ono [email protected]
• https://flic.kr/p/bFZpyg
• https://flic.kr/p/bmXUz1
Photo Credits
• https://www.flickr.com/photos/23629083@N03/15409436041/in/photolist-ptFotK-9uS2gj-hypkSp-hypk9F-hypjha-99c472-9Xkuuc-huNmqB-7NMxMz-rg2Xh2-qYABcA-qjnGoB-rg2WVF-rdQYMf-qjaxy7-rg5Aoo-rg2Wre-qYAAt1-rg2Wev-qYAAaA-rg2W1V-rdQXT1-qjawtS-rg9ePH-rg5zb3-qjnEtV-qYHAvc-qYBA9d-rg2V7F-qYHAeF-qYAySA-rg5ys9-rg9dLF-rg2Utg-rg9drH-qYAyew-rg9dmc-rg5xP5-rg5xDA-qYAxV5-rg2TLe-rg5xp7-rg5xfQ-aq32tC-hba7em-hbafzE-gbeABq-gck7Dv-7PoYg1-fkisQL
• https://www.flickr.com/photos/nebulux/10000066526/in/photolist-geEXo7-58r1VP-6GioJH-9juEda-53HFiR-4sq7n3-4gyg7e-8ag9VV-8uqK43-4E89Gc-iWDeiJ-9G47M4-9G71KC-9waYuP-5FWSrX-87Mhxi-9G71XY-7Ai8hs-48vd2B-7B7o6n-6D9uWd-6hffXv-gYExNx-7defC1-66ygvB-4LsWSN-6D5n5k-6hfg5z-eucXAh-8uyuuG-aAY6cH-76QCEX-7f6mdp-RntfW-eFuVBC-5nY8Vc-7utTA2-brdj8F-92k6n3-5KdCfh-83uVKy-8unxG8-3d3zxi-cdz8S7-4HT5qQ-99SwEn-7Akbcb-8y7ds9-fvo9zH-9zZky3
• https://www.flickr.com/photos/stratman2/8613731520/in/photolist-e8aChq-7LLUoQ-8s8eBL-6uGRmE-77wKJF-dqo6ar-6hffGK-7rykRT-6fG8WV-8unyFa-8AeF8A-93Xpo2-9XLXCj-7GVMym-5Tu3dJ-7v58RC-5K9nBF-2MbvpL-2M77nV-et54Ce-6hfgvr-6hffQa-67wNj5-9FDGTz-49NmoE-eFXB7u-76QB7H-brdbSP-brcYHT-22zYYv-6fFZoM-ckuXNC-a8UZ3D-dzGXYU-6nf4MN-4j7TzA-47fYur-2kutoV-56catX-apUJgr-cSJHkG-88w1ie-6Nbj1a-8MYxve-6xL3SF-6fL87j-4G6x71-dUL16b-7auq8Q-6hwbVB
• https://www.flickr.com/photos/gcwest/281385801/in/photolist-5mFJtX-4o3Ria-hD9E92-qSbck-9abnoA-7hsWoU-ntEmgy-oSAQtv-nx5Chg-iuZJCa-j7eWKk-hD7JTZ-4iECHX-j8M2r7-bSrWHc-prpFcX-db7xd-jLmzoF-75mqRx-pnSzL-6gVcao-9F5bop-j77HEs-73Umq1-5kRyNp-hD9cR2-mTvNB8-gyXWaf-Lkro7-idQBY4-fRYu1-5eR2cn-3EK4k-nnxH8u-9uDMLx-4NY3Yi-kDQagt-ioGRSb-75qid1-82RzYt-5qQuwt-n8hvL6-ifemz5-3iYUQG-aJnNiX-mzirX2-23rDNy-qx3KEd-h5UnGW-hD7Jqz