Annotation editor.

This massive commit creates a demonstration of the concept.

Launch the server and direct the browser to `/#/curate`.  Login, if need be,
and you will see the first curation task.  Hit `Done` to save the curated gene
model on the server and move to the next task.

Annotation editing functionality builds on the excellent work done by JBrowse
and WebApollo.

JBrowse / WebApollo integration
-------------------------------

JB and WA code, with several modifications, lives as a part of the source tree
in app/src/JBrowse and JBrowse/WebApollo.

JB contains upstream’s src/JBrowse, img, and all CSS (including that of WA --
just one line) compiled into one styles.css.  JB/WA contains upstream’s WA/js.
I hacked JB’s plugin system so that loading CSS for plugins is none of it’s
concern, additionally removing the dependency on lazyload.  JB/main.js loads
styles.css using require-css and WA using the reduced plugin architecture. This
combines JB & WA into one unit.

JB/main.js instantiates JB and returns a facade object.  Rest of Afra
inter-operates with JB through the facade.  At the moment we have a single API
call, `load`, to load a task into JB.  We will need another API call to access
contents of the annotations track.

JB’s dependencies are managed through Bower. I have locked to the latest
point-release of the dependencies that follow semantic versioning.  While we
track rolling updates from Github for the rest -- either Bower doesn’t support
locking to a SHA or it just didn’t work on my Mac.  It’s worth noting that
these dependencies are extremely focussed and move slow: hopefully things won’t
break for a while.  In the near future, we should be able to remove a few more
dependencies and / or lock to a working SHA using Bower.

Modified default track styles for JB so it looks quite presentable.

Perl sub-system of JB & WA is a part of the source tree as well. setup.sh lives
as a part of `rake setup` and installs dependencies to $HOME/.extlib.
Additionally, I dropped support for the deprecated legacy wiggle format and
legacy bam-to-json.pl.

Included for testing, MAKER2 generated gene prediction in GFF3 format for two
scaffolds of fire ant genome.

And,

* drop more than one feature
* make exons resizable
* trying add_exon
* jbrowse refresh hack
* Done button fully functional: put submission, get a new task and load it.

Squashed commits
----------------

mv genome curate

JB: change zoom level on scroll wheel.

overlay zoom buttons over genome viewer in a horizontal orientation

merge wa and jb

1. Removed TrackTransformer stuff - DraggableHTMLFeatures now the default for
FeatureTrack.

2. Merge permission.js and annottrack.js - will eventually remove permission
stuff.

remove jb nav

remove tracklist

remove not needed dep on dijit/

indent

track padding

track-label

tmp

increase initial height of edit track

do not scroll to bottom on page load #6

rework track spacing and padding

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

more buttons

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

make hide/show button work

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

remove horizontal scrollbar

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

remove feature right-click menu

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

lower Done button

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

trimming annottrack.js - removed right click menu and stuff

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

trim annottrack.js -2

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

trim annottrack.js - 3

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

trim annottrack.js - 4

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

trim annottrack.js - 5

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

edit track annot css

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

clear selection after annot dropped

It's causing the app to throw:
Uncaught TypeError: Cannot read property 'options' of undefined
at draggable.js?bust=1389699970232:659

However this error doesn't seem to affect usability.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

use black color for edge matching

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

4px black border for selection

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>

curate.less

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Mention we support Google Chrome only at the moment on #signin.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
daemonize

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
try to change styling in track.json

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
uri decode (not working)

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
fix anno saving

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>