Coder Social home page Coder Social logo

alenzhao / leanback Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nachocab/leanback

0.0 0.0 0.0 240 KB

Interactive javascript plots of biological data using D3.js (moved to bit.ly/rclickme as longitudinal_heatmap)

Home Page: http://bl.ocks.org/timelyportfolio/5225228

License: Other

CoffeeScript 97.33% CSS 2.67%

leanback's Introduction

Leanback

Leanback is a way to visualize longitudinal data interactively. It was built to overcome the limitations of static heatmaps. The main advantage of adding a parallel coordinates plot, is that lines are a more intuitive way to make comparisons than comparing different shades of color in a heatmap.

Usage

git clone git://github.com/nachocab/leanback.git
cd leanback
python -m SimpleHTTPServer 8888 # or your favorite server

Open in Chrome/Firefox: http://localhost:8888/examples/longitudinal/index.html?groups=1&clusters=1 or look at a live example

HIV Flu groups clusters

URL Parameters

file=PATH

You can specify any CSV file with a header row. It should have a column containing the names of each row. Columns containing the heatmap values should follow the format: group_timepoint_number (ex: hiv_day_3 or spain_year_2012). Optionally, a column named "cluster" may be added.

Open in Chrome/Firefox: http://localhost:8888/examples/longitudinal/index.html?file=../data/hiv_fake_data.csv or look at a live example

clusters=1

If this options is specified, and there is a column named "cluster" in the input file, lines in the parallel coordinate plot will be colored according to its cluster. Clicking on each cluster button will update the heatmap and the parallel coordinates plot accordingly.

Open in Chrome/Firefox: http://localhost:8888/examples/longitudinal/index.html?clusters=1 or look at a live example

tags=PATH

You can optionally specify a file without a header, that presents a comma-separated list of annotations or tags for each row in the heatmap. You can click on a tag to only show rows that are annotated with that tag.

Open in Chrome/Firefox: http://localhost:8888/examples/longitudinal/index.html?clusters=1&groups=1&tags=../data/hiv_fake_tags.csv or look at a live example

HIV groups clusters tags

groups=1

If this option is specified, and the columns in the input file follow the convention group_timepoint_number, each group will be displayed separately in the parallel coordinates plot.

Open in Chrome/Firefox: http://localhost:8888/examples/longitudinal/index.html?clusters=1&groups=1 or look at a live example

JS parameters

Other parameters are set in the code. Take a look at the file: examples/longitudinal/index.html

var userOptions = { urlVars: urlVars, rowNameColumn: "gene_symbol", rowType: "DE genes" };
var parsedGenesModel = new window.LongitudinalModel(parsedGenes, userOptions);
  • urlVars: represents the URL parameters
  • rowNameColumn: name of the column in the input file that contains the row names. For example: "gene_symbol"
  • rowType: type of content displayed, used to display in the title. For example: "DE genes" (Differentially Expressed)

Requirements

Leanback uses D3.js, CoffeeScript, Backbone.js, Twitter Bootstrap and jQuery

Contributing

This project is at very early stages, so email me with any contributions or thoughts on how to improve it.

leanback's People

Contributors

nachocab 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.