Skip to content

Commit

Permalink
Merge branch 'gh-pages'
Browse files Browse the repository at this point in the history
  • Loading branch information
simonbrent committed Oct 23, 2019
2 parents b46d566 + cc3140f commit 82125ce
Show file tree
Hide file tree
Showing 104 changed files with 13,523 additions and 16,405 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
/data*
*.DS_Store

node_modules/*
22 changes: 22 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
language: node_js
node_js:
- "6"
branches:
only:
- gh-pages
- /.*/

# The following is needed for canvas to compile (taken from https://github.com/Automattic/node-canvas/blob/master/.travis.yml)
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libcairo2-dev
- libjpeg8-dev
- libpango1.0-dev
- libgif-dev
- g++-4.9
env:
- CXX=g++-4.9
sudo: false
4 changes: 3 additions & 1 deletion README → README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# Genoverse [![Build Status](https://travis-ci.org/wtsi-web/Genoverse.svg?branch=gh-pages)](https://travis-ci.org/wtsi-web/Genoverse)

Genoverse is a portable, customizable, back-end independent JavaScript and HTML5 based genome browser which allows the user to explore data in a dynamic and interactive manner.

Data is visualized in the browser, meaning Genoverse can be installed on any website and show data from a wide range of online or local sources.

Genoverse works with a variety of formats, such as XML, JSON, BED, VCF, GFF, GFF3 or delimited text files, and can be customized to parse and display any data source as required.

More information coming soon. If you have any questions, please contact [email protected]
If you have any questions, please contact [email protected]

Example: http://genoverse.org
65 changes: 43 additions & 22 deletions css/genoverse.css
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,16 @@
height: 100%;
}

.gv-canvas-container .gv-track-container .gv-scroll-container-offset {
height: 100%;
overflow: hidden;
position: absolute;
/*
margin-left to be set in the track, with the gv-scroll-container being given a margin-left of -(this element's margin-left) to hide the first n pixels of the scroll container.
Used to stop a track with a vertical scalebar at its left edge from displaying features on top of the scalebar
*/
}

.gv-canvas-container .gv-message-container {
position: absolute;
top: 0;
Expand All @@ -72,8 +82,7 @@

.gv-canvas-container .gv-message-container .gv-messages {
float: right;
padding-right: 10px;
padding-left: 15px;
padding: 0 5px;
margin-bottom: -6px;
}

Expand All @@ -86,18 +95,11 @@
text-decoration: underline;
}

.gv-canvas-container .gv-message-container .gv-control {
position: absolute;
height: 14px;
cursor: pointer;
}

.gv-canvas-container .gv-message-container .gv-control:hover { text-decoration: underline; }
.gv-canvas-container .gv-message-container .gv-expand,
.gv-canvas-container .gv-message-container.gv-collapsed .gv-messages,
.gv-canvas-container .gv-message-container.gv-collapsed .gv-collapse { display: none; }
.gv-canvas-container .gv-message-container .gv-collapse { display: inline; }
.gv-canvas-container .gv-message-container.gv-collapsed .gv-expand { display: inline; position: relative; }
.gv-canvas-container .gv-message-container.gv-collapsed .gv-expand { display: inline; }

.gv-canvas-container .gv-image-container {
height: 100%;
Expand All @@ -115,11 +117,12 @@
background: rgba(204,204,204,0.4);
}

.gv-canvas-container .gv-image-container.gv-flip {
.gv-canvas-container .gv-image-container.gv-invert {
transform: scaleY(-1);
-moz-transform: scaleY(-1);
-webkit-transform: scaleY(-1);
-o-transform: scaleY(-1);
z-index: 1;
}

.gv-canvas-container .gv-image-container img {
Expand Down Expand Up @@ -177,8 +180,9 @@
}

.gv-label-container li .gv-handle {
float: left;
position: relative;
background-image: url(../i/Grabbar.png);
background-image: url(../i/sort_handle.png);
cursor: move;
display: inline-block;
height: calc(100% - 20px);
Expand All @@ -196,13 +200,11 @@
}

.gv-label-container li .gv-name {
display: inline-block;
position: relative;
float: left;
position: absolute;
overflow: hidden;
vertical-align: top;
margin: 8px 0;
padding-right: 2px;
left: 5px;
left: 15px;
width: 85%;
color: #F2F5F7;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.75);
Expand All @@ -212,10 +214,6 @@
white-space: pre-wrap;
}

.gv-label-container li.gv-unsortable .gv-name {
left: 15px;
}

.gv-label-container li.gv-line-break .gv-name {
text-overflow: inherit;
word-spacing: 1000px;
Expand All @@ -241,7 +239,8 @@
border-color: #000;
}

.gv-canvas-container .gv-wrapper > :last-child.gv-track-container-legend .gv-track-border {
.gv-canvas-container .gv-wrapper > :last-child.gv-track-container-legend .gv-track-border,
.gv-canvas-container .gv-wrapper > :last-child.gv-track-super-container > :last-child.gv-track-container-legend .gv-track-border {
display: none;
}

Expand Down Expand Up @@ -359,6 +358,16 @@
color: #000;
}

.gv-menu .gv-menu-content .gv-menu-scroll-wrapper {
max-height: 300px;
overflow-y: auto;
margin: 10px 10px 10px 0;
}

.gv-menu .gv-menu-content .gv-menu-scroll-wrapper table {
margin: 0 10px;
}

.gv-selector {
position: absolute;
display: none;
Expand Down Expand Up @@ -432,3 +441,15 @@
font-size: 75%;
line-height: 1em;
}

.gv-canvas-container .gv-track-container canvas.gv-barchart-axis,
.gv-canvas-container .gv-track-container canvas.gv-barchart-guide {
display: block!important;
height: auto;
bottom: 0;
z-index: 1;
}

.gv-hide {
display: none!important;
}
62 changes: 55 additions & 7 deletions css/trackControls.css
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,17 @@
background: rgba(0, 0, 0, 0.7);
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls > * {
.gv-track-controls-plugin .gv-track-container div.gv-track-controls .gv-track-controls-container {
display: none;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls.gv-maximized .gv-track-controls-container {
display: inline-block;
border-right: 1px solid white;
padding-right: 5px;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls .gv-track-controls-container > * {
display: inline-block;
min-width: 20px;
text-align: center;
Expand All @@ -32,20 +42,50 @@
text-decoration: underline;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.fa:hover {
text-decoration: none;
}

.gv-track-controls-plugin .gv-track-container:hover > div.gv-track-controls {
display: block;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-hidden {
display: none!important;
.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-track-controls-toggle {
padding-left: 5px;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls.gv-maximized a.gv-track-controls-toggle {
padding: 0 5px 0 10px;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-track-controls-toggle .fa {
margin-right: 5px;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls:not(.gv-maximized) a.gv-track-controls-toggle > :last-child,
.gv-track-controls-plugin .gv-track-container div.gv-track-controls.gv-maximized a.gv-track-controls-toggle > :first-child {
display: none;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-height-toggle {
background: url(../i/auto_height.png) center 1px no-repeat;
position: relative;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-height-toggle .fa-sort-asc,
.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-height-toggle .fa-sort-desc,
.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-height-toggle.gv-auto-height .fa-sort {
display: none;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-height-toggle.gv-auto-height {
background-position: center -17px;
.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-height-toggle.gv-auto-height .fa-sort-asc,
.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-height-toggle.gv-auto-height .fa-sort-desc {
display: inline-block;
position: absolute;
left: 6px;
top: -4px;
}
.gv-track-controls-plugin .gv-track-container div.gv-track-controls a.gv-height-toggle.gv-auto-height .fa-sort-desc {
top: -15px;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls select,
Expand All @@ -58,4 +98,12 @@

.gv-track-controls-plugin .gv-track-container div.gv-track-controls select {
margin: 0 5px;
}
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls label {
margin: 0 0 0 5px;
}

.gv-track-controls-plugin .gv-track-container div.gv-track-controls .gv-track-controls-container > :first-child:not(select):not(label) {
margin-left: 5px;
}
47 changes: 26 additions & 21 deletions expanded.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@

<link rel="stylesheet" type="text/css" href="css/genoverse.css" />
<link rel="stylesheet" type="text/css" href="css/controlPanel.css" />
<link rel="stylesheet" type="text/css" href="css/fileDrop.css" />
<link rel="stylesheet" type="text/css" href="css/font-awesome.css" />
<link rel="stylesheet" type="text/css" href="css/fullscreen.css" />
<link rel="stylesheet" type="text/css" href="css/karyotype.css" />
<link rel="stylesheet" type="text/css" href="css/trackControls.css" />
<link rel="stylesheet" type="text/css" href="css/resizer.css" />
<link rel="stylesheet" type="text/css" href="css/fullscreen.css" />
<link rel="stylesheet" type="text/css" href="css/tooltips.css" />
<link rel="stylesheet" type="text/css" href="css/trackControls.css" />
</head>
<body>
<div id="genoverse"></div>
Expand All @@ -19,66 +21,71 @@
<script type="text/javascript" src="js/lib/jquery.mousewheel.js"></script>
<script type="text/javascript" src="js/lib/jquery.mousehold.js"></script>
<script type="text/javascript" src="js/lib/jquery.tipsy.js"></script>

<script type="text/javascript" src="js/lib/Base.js"></script>
<script type="text/javascript" src="js/lib/rtree.js"></script>
<script type="text/javascript" src="js/lib/dalliance-lib.min.js"></script>

<script type="text/javascript" src="js/lib/jDataView.js"></script>
<script type="text/javascript" src="js/lib/jParser.js"></script>
<script type="text/javascript" src="js/lib/BWReader.js"></script>
<script type="text/javascript" src="js/lib/VCFReader.js"></script>
<script type="text/javascript" src="js/Genoverse.js"></script>
<script type="text/javascript" src="js/Track.js"></script>

<script type="text/javascript" src="js/Track/Controller.js"></script>
<script type="text/javascript" src="js/Track/Model.js"></script>
<script type="text/javascript" src="js/Track/View.js"></script>

<script type="text/javascript" src="js/Track/library/Static.js"></script>

<script type="text/javascript" src="js/Track/Controller/Stranded.js"></script>
<script type="text/javascript" src="js/Track/Model/Stranded.js"></script>

<script type="text/javascript" src="js/Track/library/Graph.js"></script>
<script type="text/javascript" src="js/Track/library/Graph/Line.js"></script>
<script type="text/javascript" src="js/Track/library/Graph/Bar.js"></script>
<script type="text/javascript" src="js/Track/Controller/Sequence.js"></script>
<script type="text/javascript" src="js/Track/Model/Sequence.js"></script>
<script type="text/javascript" src="js/Track/Model/Sequence/Fasta.js"></script>
<script type="text/javascript" src="js/Track/Model/Sequence/Ensembl.js"></script>
<script type="text/javascript" src="js/Track/Model/Sequence/DAS.js"></script>
<script type="text/javascript" src="js/Track/View/Sequence.js"></script>
<script type="text/javascript" src="js/Track/View/Sequence/Variation.js"></script>

<script type="text/javascript" src="js/Track/Model/SequenceVariation.js"></script>

<script type="text/javascript" src="js/Track/Model/Gene.js"></script>
<script type="text/javascript" src="js/Track/Model/Gene/Ensembl.js"></script>
<script type="text/javascript" src="js/Track/View/Gene.js"></script>
<script type="text/javascript" src="js/Track/View/Gene/Ensembl.js"></script>

<script type="text/javascript" src="js/Track/Model/Transcript.js"></script>
<script type="text/javascript" src="js/Track/Model/Transcript/Ensembl.js"></script>
<script type="text/javascript" src="js/Track/Model/Transcript/GFF3.js"></script>
<script type="text/javascript" src="js/Track/View/Transcript.js"></script>
<script type="text/javascript" src="js/Track/View/Transcript/Ensembl.js"></script>

<script type="text/javascript" src="js/Track/Model/File.js"></script>
<script type="text/javascript" src="js/Track/Model/File/BAM.js"></script>
<script type="text/javascript" src="js/Track/Model/File/BED.js"></script>
<script type="text/javascript" src="js/Track/Model/File/GFF.js"></script>
<script type="text/javascript" src="js/Track/Model/File/VCF.js"></script>

<script type="text/javascript" src="js/Track/Model/File/WIG.js"></script>
<script type="text/javascript" src="js/Track/library/Chromosome.js"></script>
<script type="text/javascript" src="js/Track/library/dbSNP.js"></script>
<script type="text/javascript" src="js/Track/library/File.js"></script>
<script type="text/javascript" src="js/Track/library/File/BAM.js"></script>
<script type="text/javascript" src="js/Track/library/File/BED.js"></script>
<script type="text/javascript" src="js/Track/library/File/BIGBED.js"></script>
<script type="text/javascript" src="js/Track/library/File/BIGWIG.js"></script>
<script type="text/javascript" src="js/Track/library/File/GFF.js"></script>
<script type="text/javascript" src="js/Track/library/File/GFF3.js"></script>
<script type="text/javascript" src="js/Track/library/File/VCF.js"></script>
<script type="text/javascript" src="js/Track/library/File/WIG.js"></script>
<script type="text/javascript" src="js/Track/library/Gene.js"></script>
<script type="text/javascript" src="js/Track/library/HighlightRegion.js"></script>
<script type="text/javascript" src="js/Track/library/Legend.js"></script>
<script type="text/javascript" src="js/Track/library/Scaleline.js"></script>
<script type="text/javascript" src="js/Track/library/Scalebar.js"></script>
<script type="text/javascript" src="js/plugins/controlPanel.js"></script>
<script type="text/javascript" src="js/plugins/fileDrop.js"></script>
<script type="text/javascript" src="js/plugins/focusRegion.js"></script>
<script type="text/javascript" src="js/plugins/fullscreen.js"></script>
<script type="text/javascript" src="js/plugins/karyotype.js"></script>
<script type="text/javascript" src="js/plugins/resizer.js"></script>
<script type="text/javascript" src="js/plugins/tooltips.js"></script>
<script type="text/javascript" src="js/plugins/trackControls.js"></script>

<script>
var genoverseConfig = {
window.genoverse = new Genoverse({
container : '#genoverse',
width : 800,
genome : 'grch38',
Expand All @@ -99,16 +106,14 @@
Genoverse.Track.Gene,
Genoverse.Track.extend({
name : 'Regulatory Features',
url : 'http://rest.ensembl.org/overlap/region/human/__CHR__:__START__-__END__?feature=regulatory;content-type=application/json',
url : '//rest.ensembl.org/overlap/region/human/__CHR__:__START__-__END__?feature=regulatory;content-type=application/json',
resizable : 'auto',
model : Genoverse.Track.Model.extend({ dataRequestLimit : 5000000 }),
setFeatureColor : function (f) { f.color = '#AAA'; }
}),
Genoverse.Track.dbSNP
]
}

$(document).ready(function () { window.genoverse = new Genoverse(genoverseConfig); });
});
</script>
</body>
</html>
Binary file removed i/auto_height.png
Binary file not shown.
Binary file removed i/bg.jpg
Binary file not shown.
Binary file removed i/bg.png
Binary file not shown.
Binary file removed i/blue_line.jpg
Binary file not shown.
Binary file removed i/greypx.png
Binary file not shown.
Binary file removed i/loadingBG.png
Binary file not shown.
File renamed without changes
Loading

0 comments on commit 82125ce

Please sign in to comment.