Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Introduction to Biological Network
Analysis and Visualization with
Cytoscape
Keiichiro Ono

Cytoscape Core Developer Team
...
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
n...
Review of Lecture 1
- Network analysis / visualization is a powerful
method to get biological insights from your
screening...
Review of Lecture 1
-Core features of Cytoscape
-Navigation (Pan/Zoom/Select)
-Network / Table Data Import
-Automatic Layo...
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-co...
Problems
- Reproducibility of biological research, especially for in vivo/vitro
experiments, is a hard problem
- But this ...
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
-...
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 othe...
Question
• Cytoscape is a desktop application
• Point & click GUI operation
• Easy to use, but how can we
make our workflow...
REST
What is cyREST?
- Platform-independent, RESTful API module for Cytoscape
- Means you can access basic Cytoscape data objec...
Interactive Data Analysis
Environments
In-House Databases External Computing Resources
- Graph Layout
- Statistical Analys...
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
REST
Lab notebook to record
your workflow
Make Cytoscape
controllable via scripts
Manage
multiple versions of your
notebook...
-
- Two Google Groups
- cytoscape-
discuss@googlegroups.com
- cytoscape-
helpdesk@googlegroups.com
- ANY question is OK!
G...
Further Readings
Further Readings
• My presentation slides
• http://www.slideshare.net/keiono
• cyREST web sites
• http://apps.cytoscape.or...
2016 Keiichiro Ono
kono@ucsd.edu
Introduction to Biological Network Analysis and Visualization with Cytoscape Part 2
Upcoming SlideShare
Loading in …5
×

Introduction to Biological Network Analysis and Visualization with Cytoscape Part 2

2,859 views

Published on

An introduction to building reproducible network visualization workflows with Cytoscape, py2cytoscape, and Jupyter Notebook.

Published in: Science
  • Be the first to comment

Introduction to Biological Network Analysis and Visualization with Cytoscape Part 2

  1. 1. Introduction to Biological Network Analysis and Visualization with Cytoscape Keiichiro Ono Cytoscape Core Developer Team UC, San Diego Trey Ideker Lab / National Resource for Network Biology 5/12/2016 The Scripps Research Institute Lecture 2: Reproducible Workflows with Jupyter Notebook
  2. 2. Lecture slides are available here: http://www.slideshare.net/keiono
  3. 3. 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
  4. 4. 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
  5. 5. Review of Lecture 1 -Core features of Cytoscape -Navigation (Pan/Zoom/Select) -Network / Table Data Import -Automatic Layout -Visual Style
  6. 6. Recap Cytoscape Session File — for sharing results But what about process?
  7. 7. Reproducibility
  8. 8. 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
  9. 9. 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
  10. 10. Typical Workflow
  11. 11. Data Preparation Analysis Visualization
  12. 12. Data Preparation
  13. 13. Data Preparation - Cleansing - Normalization - Missing values - Corrupted values - Reformat - Conversion
  14. 14. Data Preparation Analysis Visualization
  15. 15. Analysis
  16. 16. Analysis - Filtering - Standard graph statistics - Density - Betweenness - Centrality - Clustering - Community Detection - GO enrichment analysis
  17. 17. Data Preparation Analysis Visualization
  18. 18. Visualization
  19. 19. Visualization - Mapping - Data points to visual variables - Layout - For graphs: - Force-directed - Tree
  20. 20. Data Preparation Analysis Visualization
  21. 21. Data Preparation Analysis Visualization
  22. 22. Data Preparation Analysis Visualization
  23. 23. Cytoscape for Interactive Visualization Python for Data Manipulation / Analysis
  24. 24. Lab Notebook for in silico Experiments
  25. 25. Interactive Command-Line + Markdown-based Documents
  26. 26. IPython Notebook? Jupyter?
  27. 27. IPython Notebook Notebook UI + Python Kernel Jupyter Notebook UI + Language Kernel (R/Julia/etc.)
  28. 28. 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
  29. 29. Question • Cytoscape is a desktop application • Point & click GUI operation • Easy to use, but how can we make our workflow reproducible?
  30. 30. REST
  31. 31. 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
  32. 32. 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
  33. 33. REST Cytoscape 3.1+ Clients POST PUT DELETE GET How cyREST Works
  34. 34. Mapping Cytoscape API to HTTP Methods Create Read Update Delete Cytoscape Operations POST GET PUT DELETE HTTP Methods
  35. 35. Get full network with unique ID 52 as JSON GET http://localhost:1234/v1/networks/52
  36. 36. http://localhost:1234/v1/networks/52
  37. 37. Language-Specific Shims For Python For R
  38. 38. REST
  39. 39. REST Lab notebook to record your workflow Make Cytoscape controllable via scripts Manage multiple versions of your notebooks and other scripts
  40. 40. - - Two Google Groups - cytoscape- discuss@googlegroups.com - cytoscape- helpdesk@googlegroups.com - ANY question is OK! Getting Help
  41. 41. Further Readings
  42. 42. 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
  43. 43. 2016 Keiichiro Ono kono@ucsd.edu

×