What's New in Cytoscape

Preview:

Citation preview

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

Real World Use Cases

cytoscape-publications.tumblr.com

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 3.4.0

www.cytoscape.org/download.php

Download Link:

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 kono@ucsd.edu

• 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