-
Notifications
You must be signed in to change notification settings - Fork 51
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Flekschas/overlay tracks 1d and 2d (#524)
* Remove commented out logs and add a warning for SVG export * Prettify code style * Allow setting fill opacity * Enable 1d vertical overlays * Determin orientation from track position to support overlays of combined tracks * Added an example * Add a simple base test for overlay tracks * Extend base test * Remove log
- Loading branch information
1 parent
cdf7a38
commit 4cc7d20
Showing
5 changed files
with
279 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
{ | ||
"editable": true, | ||
"zoomFixed": false, | ||
"trackSourceServers": ["http://higlass.io/api/v1"], | ||
"exportViewUrl": "http://localhost:8000/api/v1/viewconfs/", | ||
"views": [{ | ||
"uid": "aa", | ||
"initialXDomain": [-128227010, 3227095876], | ||
"initialYDomain": [-679063376, 3737688490], | ||
"autocompleteSource": "http://higlass.io/api/v1/suggest/?d=OHJakQICQD6gTD7skx4EWA&", | ||
"genomePositionSearchBoxVisible": false, | ||
"chromInfoPath": "//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv", | ||
"tracks": { | ||
"top": [{ | ||
"server": "http://higlass.io/api/v1", | ||
"tilesetUid": "OHJakQICQD6gTD7skx4EWA", | ||
"uid": "genes-top", | ||
"type": "horizontal-gene-annotations" | ||
}, { | ||
"chromInfoPath": "//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv", | ||
"type": "horizontal-chromosome-labels", | ||
"position": "top", | ||
"uid": "chroms-top" | ||
}], | ||
"left": [{ | ||
"server": "http://higlass.io/api/v1", | ||
"tilesetUid": "OHJakQICQD6gTD7skx4EWA", | ||
"uid": "genes-left", | ||
"type": "vertical-gene-annotations" | ||
}, { | ||
"chromInfoPath": "//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv", | ||
"type": "vertical-chromosome-labels", | ||
"position": "left", | ||
"name": "Chromosome Labels (hg19)", | ||
"uid": "chroms-left" | ||
}], | ||
"center": [{ | ||
"uid": "center", | ||
"type": "combined", | ||
"contents": [{ | ||
"data": { | ||
"type": "divided", | ||
"children": [{ | ||
"server": "http://higlass.io/api/v1", | ||
"tilesetUid": "CQMd6V_cRw6iCI_-Unl3PQ" | ||
}, { | ||
"server": "http://higlass.io/api/v1", | ||
"tilesetUid": "ZCvntCKST0KUvQPGcCbJGA" | ||
}] | ||
}, | ||
"type": "heatmap", | ||
"position": "center", | ||
"options": { | ||
"colorRange": ["#FFFFFF", "#F8E71C", "#F5A623", "#D0021B"], | ||
"colorbarPosition": "topRight", | ||
"colorbarLabelsPosition": "outside", | ||
"maxZoom": null, | ||
"labelPosition": "bottomLeft", | ||
"name": "Rao et al. (2014) GM12878 MboI (allreps) 1kb", | ||
"trackBorderWidth": 0, | ||
"trackBorderColor": "black", | ||
"heatmapValueScaling": "log", | ||
"scaleStartPercent": "0.00000", | ||
"scaleEndPercent": "1.00000" | ||
}, | ||
"uid": "heatmap", | ||
"name": "Rao et al. (2014) GM12878 MboI (allreps) 1kb", | ||
"transforms": [{ | ||
"name": "ICE", | ||
"value": "weight" | ||
}] | ||
}, { | ||
"type": "2d-chromosome-grid", | ||
"chromInfoPath": "//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv", | ||
"tilesetUid": "TIlwFtqxTX-ndtM7Y9k1bw", | ||
"uid": "LUVqXXu2QYiO8XURIwyUyA", | ||
"options": { | ||
"lineStrokeWidth": 1, | ||
"lineStrokeColor": "grey" | ||
} | ||
}] | ||
}], | ||
"right": [], | ||
"bottom": [] | ||
}, | ||
"layout": { | ||
"w": 12, | ||
"h": 12, | ||
"x": 0, | ||
"y": 0, | ||
"i": "aa", | ||
"moved": false, | ||
"static": false | ||
}, | ||
"overlays": [{ | ||
"uid": "overlay", | ||
"type": "", | ||
"includes": ["chroms-top", "chroms-left", "genes-top", "genes-left", "center"], | ||
"options": { | ||
"extent": [ | ||
[1000000000, 1100000000] | ||
] | ||
} | ||
}] | ||
}] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
/* eslint-env node, jasmine */ | ||
|
||
// Utils | ||
// import { | ||
// getTrackObjectFromHGC, | ||
// waitForTilesLoaded | ||
// } from '../app/scripts/utils'; | ||
|
||
import createElementAndApi from './utils/create-element-and-api'; | ||
import removeDiv from './utils/remove-div'; | ||
|
||
import overlayAnnotations1d2dViewConf from './view-configs/overlay-annotations-1d-2d'; | ||
|
||
describe('Overlay Track:', () => { | ||
let hgc = null; | ||
let api = null; | ||
let div = null; | ||
let viewConf; | ||
|
||
describe('Annotation overlays:', () => { | ||
it('Should render', (done) => { | ||
viewConf = overlayAnnotations1d2dViewConf; | ||
|
||
[div, api] = createElementAndApi(viewConf, { bound: true }); | ||
|
||
hgc = api.getComponent(); | ||
|
||
const numNormalTracks = viewConf.views[0].tracks.top.length | ||
+ viewConf.views[0].tracks.right.length | ||
+ viewConf.views[0].tracks.bottom.length | ||
+ viewConf.views[0].tracks.left.length | ||
+ viewConf.views[0].tracks.center.length; | ||
|
||
expect(numNormalTracks).toEqual(4); | ||
|
||
const trackRenderer = hgc.tiledPlots[viewConf.views[0].uid] | ||
.trackRenderer; | ||
|
||
const posTracks = trackRenderer.props.positionedTracks; | ||
|
||
expect(posTracks.length).toEqual(5); | ||
|
||
const overlayTrack = posTracks[posTracks.length - 1]; | ||
|
||
expect(overlayTrack.track.type).toEqual('overlay-track'); | ||
|
||
const overlayTrackInfo = trackRenderer | ||
.trackDefObjects[overlayTrack.track.uid]; | ||
|
||
const overlayTrackDef = overlayTrackInfo.trackDef; | ||
const overlayTrackObj = overlayTrackInfo.trackObject; | ||
|
||
expect(overlayTrackDef.width).toEqual(overlayTrackObj.dimensions[0]); | ||
expect(overlayTrackDef.height).toEqual(overlayTrackObj.dimensions[1]); | ||
|
||
done(); | ||
}); | ||
|
||
afterEach(() => { | ||
if (api && api.destroy) api.destroy(); | ||
if (div) removeDiv(div); | ||
api = undefined; | ||
div = undefined; | ||
}); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
const viewConf = { | ||
editable: false, | ||
zoomFixed: false, | ||
views: [{ | ||
uid: 'aa', | ||
initialXDomain: [-128227010, 3227095876], | ||
tracks: { | ||
top: [ | ||
{ | ||
server: 'http://higlass.io/api/v1', | ||
tilesetUid: 'OHJakQICQD6gTD7skx4EWA', | ||
uid: 'genes-top', | ||
type: 'horizontal-gene-annotations' | ||
}, | ||
{ | ||
chromInfoPath: '//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv', | ||
type: 'horizontal-chromosome-labels', | ||
position: 'top', | ||
uid: 'chroms-top' | ||
} | ||
], | ||
left: [ | ||
{ | ||
server: 'http://higlass.io/api/v1', | ||
tilesetUid: 'OHJakQICQD6gTD7skx4EWA', | ||
uid: 'genes-left', | ||
type: 'vertical-gene-annotations' | ||
}, | ||
{ | ||
chromInfoPath: '//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv', | ||
type: 'vertical-chromosome-labels', | ||
position: 'left', | ||
name: 'Chromosome Labels (hg19)', | ||
uid: 'chroms-left' | ||
} | ||
], | ||
center: [], | ||
right: [], | ||
bottom: [] | ||
}, | ||
layout: { | ||
w: 12, | ||
h: 12, | ||
x: 0, | ||
y: 0, | ||
i: 'aa', | ||
moved: false, | ||
static: false | ||
}, | ||
overlays: [{ | ||
uid: 'overlay', | ||
type: '', | ||
includes: ['chroms-top', 'chroms-left', 'genes-top', 'genes-left'], | ||
options: { | ||
extent: [ | ||
[1000000000, 1100000000] | ||
] | ||
} | ||
}] | ||
}] | ||
}; | ||
|
||
export default viewConf; |