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 Issues

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.

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.

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.

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

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.

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.

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.

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

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];
  });
};

make events asynchronous

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

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

splash screen

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

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.