GithubHelp home page GithubHelp logo

epiviz / epiviz Goto Github PK

View Code? Open in Web Editor NEW
67.0 13.0 12.0 48.98 MB

EpiViz is a scientific information visualization tool for genetic and epigenetic data, used to aid in the exploration and understanding of correlations between various genome features.

Home Page: http://epiviz.cbcb.umd.edu/help

License: Other

CSS 1.56% PHP 0.22% JavaScript 83.77% ActionScript 0.05% HTML 14.15% Dockerfile 0.01% Python 0.24% Emacs Lisp 0.01% Shell 0.01%
epiviz javascript epigenetic-data visualization bioinformatics

epiviz's Introduction

Epiviz

Epiviz is a scientific information visualization tool for genetic and epigenetic data, used to aid in the exploration and understanding of correlations between various genome features.

For more information, visit - http://epiviz.github.io/

Using any PHP supported webserver

Copy the Epiviz directory to the webserver configured directory. Navigate to /epiviz/index.php on your browser.

Using PHP

PHP (http://php.net/) lets your run local webservers. Navigate to localhost:8181 on your browser. To run epiviz use:

php.exe -S localhost:8181 -t <location of the epiviz directory>

Using Docker

This repository includes a Dockerfile to run a webserver that serves the epiviz web application. It includes a site-settings.js file that sets up data backends pointing to the University of Maryland. Update that file to use a different backend. It is registered in the DockerHub registry: (https://hub.docker.com/r/epiviz/epiviz/)[https://hub.docker.com/r/epiviz/epiviz/]. To run it use:

docker pull epiviz/epiviz
docker run --name epiviz-app -d -p 80:80 epiviz/epiviz

To Compile closure

java -jar compiler.jar --js_output_file=epiviz-compiled-jar.js --js 'src/epiviz/**' --js '!src/epiviz/default-settings.js' --js '!src/epiviz/epivizr-settings.js' --js '!src/epiviz/standalone-settings.js' --entry_point=goog:epiviz.main

epiviz's People

Contributors

florin-chelaru avatar hcorrada avatar jkanche avatar yifanyangebidanko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

epiviz's Issues

add functionality for changing order of charts

Currently, charts are added one after another, and their order cannot be interchanged except by removing and adding them again in a different order. Add functionality to allow this.

find a solution to process sparse data

Currently, EpiViz only handles continuous sequences of data (consecutive global indices). It would be extremely useful, however, if some filtering were done on the data provider side, and only filtered data were sent up to the UI.

google oauth login

EpiViz currently supports log in with either Facebook or Twitter. Google is a better variant and more commonly used in the research community.

simplify the process of plugging Gist/Github scripts into EpiViz

Currently, when a user wants to plug a Gist/Github script into EpiViz, he has to retrieve the raw version of the script. However, Github renders those as:

X-Content-Type-Options: nosniff
Content-Type: text/plain

To get around to that and use them as Content-Type: text/javascript, we ask the users to use the rawgit service.

Create a feature to handle Gist/Github links internally.

add access lists and permissions to workspaces

Currently, anyone with a link to a workspace can view that workspace. It would be great to have a way of sharing some workspaces with only a set of users, and also allow multiple users to have write permissions for some workspaces.

make events asynchronous

Currently, EpiViz events are synchronous by default. Add functionality to optionally make them asynchronous (via setTimeout()).

minify javascript code

The code is documented such that it follows the guidelines of the Google Closure compiler. Use this compiler to minify and optimize it further.

add functional unit tests for code

EpiViz implements a simple unit testing framework, used for running basic performance tests. This framework can be used to test various EpiViz features as well.

epivizr console

Create a chart type that contains a text box where users can type R commands that are send through the WebSocket protocol to the R connection. (Same applies with Python connections, etc.)

log user actions for quality assurance

Currently, the data server only stores minimal information about users, and nothing about their actions. It would be useful to track user actions in order to discover usage patterns and catch bugs.

add code to handle web request errors

Currently, the UI code assumes that all web requests are fulfilled correctly, not allowing for request timeouts or GET/POST server errors. Add exception handling functionality for this issue.

epiviz as genome viewer

Is it possible to load the bam file? I am trying to create publication quality figure for a manuscript. I have assembly data and want to show a specific locus with the assembled transcript and the reads in that locus. The image from IGV and UCSC genome browser isn't looks good. I just came across this tool and liked the presentation.

splash screen

While EpiViz loads, it would improve user experience if there were a splash screen

Use getBBox() to compute where legend text should be drawn

In epiviz.ui.charts.Track.prototype._drawTitle, use the following code to detect where to draw each of the chart entries:

/**
 * @private
 */
epiviz.ui.charts.Track.prototype._drawTitle = function() {
  var textLength = 0;
  var title = '';

  var measurements = this.measurements().toArray();

  var self = this;
  this._svg.selectAll('.chart-title').remove();
  var titleEntries = this._svg
    .selectAll('.chart-title')
    .data(measurements)
    .enter()
    .append('text')
    .attr('class', 'chart-title')
    .attr('font-weight', 'bold')
    .attr('fill', function(m, i) { return self.colors().get(i); })
    .attr('y', self.margins().top() - 5)
    .text(function(m, i) { return m.name(); });

  var textLength = 0;
  var titleEntriesStartPosition = [];

  $('#' + this.id() + ' .chart-title')
    .each(function(i) {
      titleEntriesStartPosition.push(textLength);
      textLength += this.getBBox().width + 3;
    });

  titleEntries.attr('x', function(m, i) {
    return self.margins().left() + titleEntriesStartPosition[i];
  });
};

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.