cytoscape and external data analysis tools

24
Keiichiro Ono UC, San Diego Lab Meeting 4/21/2014 Cytoscape and External Tools

Upload: keiichiro-ono

Post on 28-Aug-2014

340 views

Category:

Software


0 download

DESCRIPTION

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

TRANSCRIPT

  • Keiichiro Ono UC, San Diego Lab Meeting 4/21/2014 Cytoscape and External Tools
  • Agenda - Background - Why external tools? - New Cytoscape Module: RESTful API for Cytoscape - Current design - Proof-of-concept demo - Future plan
  • Problems
  • 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 workow (using R/Python/etc.) - We are losing hardcore users (like you) because of this limitation
  • 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) le 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
  • Data Analysis Tool Ecosystem
  • Network Data Analysis Analysis Visualization
  • Network Data Analysis Analysis s Visualization Desktop Gephi Cytoscape matplotlib Cytoscape.js
  • Network Dat Analysis Graph Analysis NetworkX igraph Cytoscape Python Pandas NumPy SciPy Excel IPython 3rd Party Apps NetworkAnalyzer
  • 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
  • http://visualizing.jp/d3-unconf-2014-2/
  • Tools We Will Support Analysis VisualizationData Preparation
  • Data Exchange
  • Data I/O - Should be platform-independent - Need to support multiple environments - R, Python w/Pandas, MATLAB, Perl, Shell Scripts, or workow engine like Kepler/Taverna - RESTful API Access Cytoscape data and functions via HTTP, which is supported by virtually all platforms
  • 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
  • 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
  • Demo
  • 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
  • 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 rst version, we will use Cytoscape.js style JSON
  • 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
  • Long-Term Goal: Cytoscape Cyberinfrastructure Internet Service 1 Service 2 NDEx (DB) Web Browser Cytoscape Desktop
  • 2014 Keiichiro Ono [email protected]