Cytoscape and External Data Analysis Tools

783 views
685 views

Published on

Introduction to new Cytoscape RESTful API. (Slides used for internal group meeting).

Published in: Software, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
783
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
20
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Cytoscape and External Data Analysis Tools

  1. 1. Keiichiro Ono UC, San Diego Lab Meeting 4/21/2014 Cytoscape and External Tools
  2. 2. Agenda - Background - Why external tools? - New Cytoscape Module: RESTful API for Cytoscape - Current design - Proof-of-concept demo - Future plan
  3. 3. Problems
  4. 4. Problems - Cytoscape is getting more and more user-friendly - Lots of GUI-based Apps - Easy access to interaction databases - But not hardcore-user-friendly! - There is no easy way to embed Cytoscape as a part of larger, automated workflow (using R/Python/etc.) - We are losing hardcore users (like you) because of this limitation…
  5. 5. THE SMALL TOOLS MANIFESTO FOR BIOINFORMATICS - Every single tool should do the smallest possible task really well - Every single tool lives in its own public source code repository - All tools are free and open source software (FOSS) and come with a license approved by the Free Software Foundation (FSF). - Source code should be easy to read and understand by any competent software developer - Error conditions and exceptions should be descriptive and handled in a clear way - When possible tools should support (Unix) pipes - When possible tools provide a useful command line interface - Tools should avoid system dependencies, such as named (absolute) file paths - Every single tool comes with a simple build protocol, at least for Linux - Software installation and deployment dependencies are handled through external package management system https://github.com/pjotrp/bioinformatics
  6. 6. Data Analysis Tool Ecosystem
  7. 7. Network Data Analysis Analysis Visualization
  8. 8. Network Data Analysis Analysis s Visualization Desktop Gephi Cytoscape matplotlib Cytoscape.js
  9. 9. Network Dat Analysis Graph Analysis NetworkX igraph Cytoscape Python Pandas NumPy SciPy Excel IPython 3rd Party Apps NetworkAnalyzer
  10. 10. Network Data Analysis Analysis Graph Analysis NetworkX igraph Cytoscape Python Pandas NumPy SciPy Excel Visualization Desktop Gephi Cytoscape matplotlib Web Cytoscape.js sigma.js d3 NDV3 d3.chart Google Charts Data Storage Graph Neo4j GraphX Document MongoDB Relational MySQL IPython 3rd Party Apps NetworkAnalyzer
  11. 11. http://visualizing.jp/d3-unconf-2014-2/
  12. 12. Tools We Will Support Analysis VisualizationData Preparation
  13. 13. Data Exchange
  14. 14. Data I/O - Should be platform-independent - Need to support multiple environments - R, Python w/Pandas, MATLAB, Perl, Shell Scripts, or workflow engine like Kepler/Taverna - RESTful API ➡ Access Cytoscape data and functions via HTTP, which is supported by virtually all platforms
  15. 15. RESTful API - Example - GET http://localhost:9000/networks ➡ Returns all networks in machine-readable format - GET http://localhost:9000/networks/52 ➡ Returns a network with ID 52 - POST http://localhost:9000/networks ➡ Create a new network from the data
  16. 16. CRUD Resource POST (Create) GET (Read) PUT (Update) DELETE (Delete) /networks Create a new network List all networks Bulk update network data Delete all networks /networks/SUID Error Show all information for the network with SUID Update information for the network with SUID Delete network with SUID
  17. 17. Demo
  18. 18. Data Formats YJR022W pp YOR167C YJR022W pp YLR264W YJR022W pp YNR053C YER116C pp YDL013W YNL307C pp YAL038W YNL216W pd YCR012W YNL216W pd YGR254W YNL216W pd YHR174W YNL216W pd YIL133C YNL216W pd YLR044C YNL216W pd YOL120C YNL216W pd YNL301C YNL216W pd YCL030C
  19. 19. Which Format Should We Support? (1) - Basic data exchange format in RESTful world - JSON (JavaScript Object Notation) - Like XML, not an actual format, just a standard - For the first version, we will use Cytoscape.js style JSON
  20. 20. Which Format Should We Support? (2) - Other File Formats - Networks: GraphML, EdgeList, Adj. Matrix - Tables: CSV/TSV - Open Question:
 Conversion from Standard Data Structure - igraph object to JSON - DataFrame to JSON/CSV
  21. 21. Long-Term Goal: Cytoscape Cyberinfrastructure Internet Service 1 Service 2 NDEx (DB) Web Browser Cytoscape Desktop
  22. 22. 2014 Keiichiro Ono kono@ucsd.edu

×