Giter Club home page Giter Club logo

cy-rest-r's Introduction

Sample cyREST workflows in R

Fig. 1: Yeast PPI visualized with Cytoscape (generated by Workflow 1).

by Keiichiro Ono

Introduction

This is a collection of R workflows to use Cytoscaep from R via cyREST app.

Updates

  • 6/15/2015 - First release

System Requirments

Supported platforms

  • Mac OS X (tested on Yosemite)
  • Windows (tested on Windows 8.1 64 bit)
  • Linux (tested on Ubuntu 14.0.4)

Reruired Software Packages

  • R (Tested on R version 3.2.0)
  • Latest version of Java 8
  • Cytoscape 3.2.1 or later
  • RStudio
    • Some of the examples are written in R Markdown format. RStudio is the best application to render and execute them.

R Packages

How to Use

Quick Start Guide

In addition to main workflows, there are some small tutorials in rmarkdown directory. I recommend to try them first.

  • Install all required software
  • Start Cytoscape
  • Open web browser and visit cyREST page in App Store
  • Click Install button to directly install the App from this page
    • Note: Do NOT install app from App menu. It installs older version of cyREST. This is a known bug in Cytoscape.
  • Clone this repository
  • Open the directory with RStudio
  • Run r_markdown/basic1.Rmd to start basic workflow

Basic Lesons

  1. Overview
  2. Working with igraph and Cytoscape
  3. More igraph and Visual Styles

Workflows

There are some workflow* R files in the top directory. They are designed to star from an empty Cytoscape session. To run these scripts, simply start Cytoscape and run the R script from R console. Make sure you installed all dependencies!

Workflow 1: Automatic layout and visualization based on network structure

This workflow is designed to demonstrate how the combination of Cytoscape and igraph makes your network visualization better than manual visuaization. It executes the following steps automatically:

  1. Load SIF network file (yeast network)
  2. Extract largest connected component (subgraph)
  3. Remove duplicate edges
  4. Calculate basic statistics including:
    • Betweenness
    • PageRank
    • Edge Betweenness
  5. Find community structures using multiple algorithms
  6. Convert it into Cytoscpae-conpatible JSON
  7. Generate visual style using statistics and community structure calculated above
  8. Send the data to Cytoscape
  9. Run Kamada-Kawai layout algorithm using community structure
  10. Visualize it

You can use your own network if you want.

How to run
  • Start Cytoscape (w/ latest version of cyREST installed)
  • Start RStudio
  • Run workflow1_structure_based_visualization.R

Workflow 2: Interactome visualization as a collection of subgraphs

This is a simple script to import HumanNet interactome data from their web site, and add some extra annotations using Bioconductor packages. It automatically generates subgraphs using chromosome name (1-22, X/Y, and mitocondrial DNA).

To run this workflow, you need to install some Bioconductor libraries first.

(TBD)

How to Cite

(TBD)

What's Next?

These examples are using low-level, raw cyREST API. It provides full access to most of the data objects, but you need a lot of boilerplate code to do simplu stuff. To avoid this issue, RCytoscape group is working on next generation of RCytoscape using cyREST as its backend:

Once this is ready, we'll add more examples using this Bioconductor package.

Questions?

Please contact me (kono at ucsd edu).


© Keiichiro Ono (UC, San Diego Trey Ideker Lab)

Source code license: MIT

Texts and images are licensed under CC BY 4.0

cy-rest-r's People

Contributors

keiono avatar thomaskelder avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.