Introduction to Biological Network Analysis and Visualization with Cytoscape Part 2

  • View
    989

  • Download
    4

  • Category

    Science

Preview:

Citation preview

Introduction to Biological Network Analysis and Visualization with Cytoscape

Keiichiro OnoCytoscape Core Developer TeamUC, San Diego Trey Ideker Lab / National Resource for Network Biology

5/12/2016 The Scripps Research Institute

Lecture 2: Reproducible Workflows with Jupyter Notebook

Lecture slides are available here:

http://www.slideshare.net/keiono

Agenda

• Lecture 1: Introduction to Biological Network Analysis and Visualization

• What is the benefits of biological network analysis and visualization?

• Introduction to Cytoscape

• Preview of Lecture 2: cyREST

• Lecture 2 (Today):Reproducible Analysis & Visualization

• Introduction to Jupyter Notebook

• Create a reproducible network visualization workflows with Python

Review of Lecture 1

- Network analysis / visualization is a powerful method to get biological insights from your screening result

- Cytoscape is the de-facto standard tool to perform this type of analysis

Review of Lecture 1

-Core features of Cytoscape -Navigation (Pan/Zoom/Select) -Network / Table Data Import -Automatic Layout -Visual Style

Recap

Cytoscape Session File — for sharing results

But what about process?

Reproducibility

http://www.the-scientist.com/?articles.view/articleNo/43632/title/Get-With-the-Program/

https://theconversation.com/how-computers-broke-science-and-what-we-can-do-to-fix-it-49938http://www.nature.com/nature/journal/v483/n7391/full/483531a.html

Reproducibility…it’s a known issue

Problems- Reproducibility of biological research, especially for in vivo/vitro

experiments, is a hard problem

- But this is true even for in silico analysis! - OS version - Revision of scripts - Data analysis software versions - Version of data files - Command line parameters written on a paper napkin - “Black magic” only a grad student knows

- This is something we need to fix, using latest technologies and best practices

Typical Workflow

Data Preparation Analysis Visualization

Data Preparation

Data Preparation

- Cleansing

- Normalization

- Missing values

- Corrupted values

- Reformat

- Conversion

Data Preparation Analysis Visualization

Analysis

Analysis

- Filtering

- Standard graph statistics

- Density

- Betweenness - Centrality

- Clustering

- Community Detection

- GO enrichment analysis

Data Preparation Analysis Visualization

Visualization

Visualization

- Mapping

- Data points to visual variables

- Layout

- For graphs:

- Force-directed

- Tree

Data Preparation Analysis Visualization

Data Preparation

Analysis Visualization

Data Preparation

Analysis Visualization

Cytoscape for Interactive Visualization

Python for Data Manipulation / Analysis

Lab Notebook for in silico Experiments

Interactive Command-Line +

Markdown-based Documents

IPython Notebook? Jupyter?

IPython Notebook

Notebook UI

+ Python Kernel

Jupyter Notebook UI

+

Language Kernel

(R/Julia/etc.)

Language-Agnostic

- From next version (4.x), Python Notebook will be an implementation of Jupyter

- You can switch to other language kernels

- In this lecture, we will use Python, but you can use language of your choice to control Cytoscape

Question

• Cytoscape is a desktop application

• Point & click GUI operation

• Easy to use, but how can we make our workflow reproducible?

REST

What is cyREST?

- Platform-independent, RESTful API module for Cytoscape - Means you can access basic Cytoscape data objects

programmatically - Now it’s a Cytoscape Core feature!

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

REST

Cytoscape 3.1+Clients

POST

PUT

DELETE

GET

How cyREST Works

Mapping Cytoscape API to HTTP Methods

Create

Read

Update

Delete

Cytoscape Operations

POST

GET

PUT

DELETE

HTTP Methods

Get full network with unique ID 52 as JSON

GET http://localhost:1234/v1/networks/52

http://localhost:1234/v1/networks/52

Language-Specific Shims

For Python For R

REST

RESTLab notebook to record

your workflow

Make Cytoscape controllable via scripts

Manage multiple versions of your

notebooks and other scripts

-

- Two Google Groups

- cytoscape-discuss@googlegroups.com

- cytoscape-helpdesk@googlegroups.com

- ANY question is OK!

Getting Help

Further Readings

Further Readings

• My presentation slides

• http://www.slideshare.net/keiono

• cyREST web sites

• http://apps.cytoscape.org/apps/cyrest

• https://github.com/idekerlab/cyREST/wiki

• py2cytoscape — https://github.com/idekerlab/py2cytoscape

2016 Keiichiro Ono kono@ucsd.edu

Recommended