Skip to content

Commit af18bca

Browse files
authored
Merge pull request #7 from maxplanck-ie/jmv_dev
Gene View solved hex conversion bug
2 parents f134d3e + 926be8d commit af18bca

File tree

3 files changed

+89
-88
lines changed

3 files changed

+89
-88
lines changed

hicbrowser/client/js/views/gene.js

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@ function rgbToHex(r, g, b) {
1616
}
1717

1818
function parseData(data){
19-
19+
2020
var parsed = {};
21-
21+
2222
parsed.tracks = _.compact(_.map(data.tracks, function(track, i){
23-
23+
2424
var feats;
25-
25+
2626
if(track.file_type === 'boundaries'){
27-
27+
2828
parsed.extent = d3.extent(track.x_values);
29-
29+
3030
feats = _.map(track.x_values, function(d, j){
3131
return { x: d, y: track.y_values[j]};
3232
});
33-
34-
33+
34+
3535
return {
3636
type: 'line',
3737
name: track.section_name,
@@ -41,96 +41,96 @@ function parseData(data){
4141
data: feats,
4242
interpolation: 'linear'
4343
};
44-
44+
4545
}else if(track.file_type === 'bed'){
46-
46+
4747
feats = _.map(track.intervals, function(d, j){
48-
48+
4949
var feat = {
50-
x: d.bed[1],
50+
x: d.bed[1],
5151
y: d.bed[2]
5252
};
53-
53+
5454
if(track.title === 'genes')
5555
feat.description = d.bed[3];
56-
57-
if(!_.isUndefined(d.bed[8])) feat.color = rgbToHex.apply(null, d.bed[8]);
58-
56+
57+
if(_.isArray(d.bed[8])) feat.color = rgbToHex.apply(null, d.bed[8]);
58+
5959
return feat;
6060
});
61-
61+
6262
return {
6363
type: 'rect',
6464
name: track.title,
6565
data: feats,
6666
color: 'steelblue'
6767
};
6868
}
69-
69+
7070
}));
71-
71+
7272
return parsed;
73-
73+
7474
}
7575

7676
module.exports = Backbone.View.extend({
77-
77+
7878
initialize: function(options){
7979
this.options = options;
8080
},
81-
81+
8282
render: function(render){
83-
83+
8484
render = _.isUndefined(render) ? {} : render;
8585
render.feature_viewer = _feature_viewer_id;
86-
86+
8787
if(render.id === _gene.id){
8888
return;
8989
}
90-
90+
9191
$(this.el).css({opacity: 0.0, visibility: 'hidden'});
92-
92+
9393
var tpl = templates.gene(render);
94-
95-
if( ! _.isUndefined($div) ) $div.remove();
96-
97-
94+
95+
if( ! _.isUndefined($div) ) $div.remove();
96+
97+
9898
$div = $('<div></div>')
9999
.hide()
100100
.append(tpl);
101-
101+
102102
$(this.el).append($div);
103-
103+
104104
this.renderViewer(render.tracks);
105-
105+
106106
// Select all elements with data-toggle="tooltips" in the document
107-
$('[data-toggle="tooltip"]').tooltip();
107+
$('[data-toggle="tooltip"]').tooltip();
108108
},
109-
109+
110110
setVisible: function(){
111111
$div.show().siblings().hide();
112112
$(this.el).css({opacity: 0.0, visibility: 'visible'}).animate({opacity: 1.0}, 800);
113113
},
114-
114+
115115
renderViewer: function(tracks){
116-
116+
117117
data = parseData(tracks);
118-
119-
118+
119+
120120
var ft = new FeatureViewer(
121121
data.extent[1],
122-
"#"+_feature_viewer_id,
122+
"#"+_feature_viewer_id,
123123
{
124124
showAxis: false,
125125
showSequence: false,
126126
brushActive: true,
127127
toolbar:false,
128128
bubbleHelp:false,
129-
zoomMax:10,
129+
zoomMax:10,
130130
offset: {start: data.extent[0], end: data.extent[1]}
131131
});
132132

133-
133+
134134
_.each(data.tracks, ft.addFeature);
135135
}
136-
});
136+
});

hicbrowser/static/js/App.js

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ this["Templates"] = this["Templates"] || {};
238238
this["Templates"]["browser"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
239239
var alias1=container.lambda, alias2=container.escapeExpression;
240240

241-
return " <div class=\"col-xs-12 img_wrapper\">\n <img class=\"lazy\" data-original=\""
241+
return " <div class=\"col-xs-4 img_wrapper\">\n <img class=\"lazy\" data-original=\""
242242
+ alias2(alias1(depth0, depth0))
243243
+ "\">\n <!--<img src=\""
244244
+ alias2(alias1(depth0, depth0))
@@ -466,22 +466,22 @@ function rgbToHex(r, g, b) {
466466
}
467467

468468
function parseData(data){
469-
469+
470470
var parsed = {};
471-
471+
472472
parsed.tracks = _.compact(_.map(data.tracks, function(track, i){
473-
473+
474474
var feats;
475-
475+
476476
if(track.file_type === 'boundaries'){
477-
477+
478478
parsed.extent = d3.extent(track.x_values);
479-
479+
480480
feats = _.map(track.x_values, function(d, j){
481481
return { x: d, y: track.y_values[j]};
482482
});
483-
484-
483+
484+
485485
return {
486486
type: 'line',
487487
name: track.section_name,
@@ -491,99 +491,100 @@ function parseData(data){
491491
data: feats,
492492
interpolation: 'linear'
493493
};
494-
494+
495495
}else if(track.file_type === 'bed'){
496-
496+
497497
feats = _.map(track.intervals, function(d, j){
498-
498+
499499
var feat = {
500-
x: d.bed[1],
500+
x: d.bed[1],
501501
y: d.bed[2]
502502
};
503-
503+
504504
if(track.title === 'genes')
505505
feat.description = d.bed[3];
506-
507-
if(!_.isUndefined(d.bed[8])) feat.color = rgbToHex.apply(null, d.bed[8]);
508-
506+
507+
if(_.isArray(d.bed[8])) feat.color = rgbToHex.apply(null, d.bed[8]);
508+
509509
return feat;
510510
});
511-
511+
512512
return {
513513
type: 'rect',
514514
name: track.title,
515515
data: feats,
516516
color: 'steelblue'
517517
};
518518
}
519-
519+
520520
}));
521-
521+
522522
return parsed;
523-
523+
524524
}
525525

526526
module.exports = Backbone.View.extend({
527-
527+
528528
initialize: function(options){
529529
this.options = options;
530530
},
531-
531+
532532
render: function(render){
533-
533+
534534
render = _.isUndefined(render) ? {} : render;
535535
render.feature_viewer = _feature_viewer_id;
536-
536+
537537
if(render.id === _gene.id){
538538
return;
539539
}
540-
540+
541541
$(this.el).css({opacity: 0.0, visibility: 'hidden'});
542-
542+
543543
var tpl = templates.gene(render);
544-
545-
if( ! _.isUndefined($div) ) $div.remove();
546-
547-
544+
545+
if( ! _.isUndefined($div) ) $div.remove();
546+
547+
548548
$div = $('<div></div>')
549549
.hide()
550550
.append(tpl);
551-
551+
552552
$(this.el).append($div);
553-
553+
554554
this.renderViewer(render.tracks);
555-
555+
556556
// Select all elements with data-toggle="tooltips" in the document
557-
$('[data-toggle="tooltip"]').tooltip();
557+
$('[data-toggle="tooltip"]').tooltip();
558558
},
559-
559+
560560
setVisible: function(){
561561
$div.show().siblings().hide();
562562
$(this.el).css({opacity: 0.0, visibility: 'visible'}).animate({opacity: 1.0}, 800);
563563
},
564-
564+
565565
renderViewer: function(tracks){
566-
566+
567567
data = parseData(tracks);
568-
569-
568+
569+
570570
var ft = new FeatureViewer(
571571
data.extent[1],
572-
"#"+_feature_viewer_id,
572+
"#"+_feature_viewer_id,
573573
{
574574
showAxis: false,
575575
showSequence: false,
576576
brushActive: true,
577577
toolbar:false,
578578
bubbleHelp:false,
579-
zoomMax:10,
579+
zoomMax:10,
580580
offset: {start: data.extent[0], end: data.extent[1]}
581581
});
582582

583-
583+
584584
_.each(data.tracks, ft.addFeature);
585585
}
586586
});
587+
587588
},{"../templates":6,"d3":32,"feature-viewer":33,"underscore":83}],9:[function(require,module,exports){
588589
var _ = require('underscore');
589590

@@ -824,7 +825,7 @@ module.exports = Backbone.View.extend({
824825
},{"../templates":6,"underscore":83}],13:[function(require,module,exports){
825826
(function (process,__filename){
826827
/** vim: et:ts=4:sw=4:sts=4
827-
* @license amdefine 1.0.0 Copyright (c) 2011-2015, The Dojo Foundation All Rights Reserved.
828+
* @license amdefine 1.0.1 Copyright (c) 2011-2016, The Dojo Foundation All Rights Reserved.
828829
* Available via the MIT or new BSD license.
829830
* see: http://github.com/jrburke/amdefine for details
830831
*/

0 commit comments

Comments
 (0)