-
Notifications
You must be signed in to change notification settings - Fork 86
/
load_clustergram.js
94 lines (68 loc) · 2.2 KB
/
load_clustergram.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/*
Example files
*/
var hzome = ini_hzome();
make_clust('mult_view.json');
var about_string = 'Zoom, scroll, and click buttons to interact with the clustergram. <a href="http://amp.pharm.mssm.edu/clustergrammer/help"> <i class="fa fa-question-circle" aria-hidden="true"></i> </a>';
function make_clust(inst_network){
d3.json('json/'+inst_network, function(network_data){
// define arguments object
var args = {
root: '#container-id-1',
'network_data': network_data,
'about':about_string,
'row_tip_callback':hzome.gene_info,
'col_tip_callback':test_col_callback,
'tile_tip_callback':test_tile_callback,
'dendro_callback':dendro_callback,
'matrix_update_callback':matrix_update_callback,
'cat_update_callback': cat_update_callback,
'sidebar_width':150,
// 'tile_colors':['#ED9124','#1C86EE'],
// 'ini_view':{'N_row_var':20}
// 'ini_expand':true
};
resize_container(args);
d3.select(window).on('resize',function(){
resize_container(args);
cgm.resize_viz();
});
cgm = Clustergrammer(args);
check_setup_enrichr(cgm);
d3.select(cgm.params.root + ' .wait_message').remove();
});
}
function matrix_update_callback(){
if (genes_were_found[this.root]){
enr_obj[this.root].clear_enrichr_results(false);
}
}
function cat_update_callback(){
console.log('callback to run after cats are updated');
}
function test_tile_callback(tile_data){
var row_name = tile_data.row_name;
var col_name = tile_data.col_name;
}
function test_col_callback(col_data){
var col_name = col_data.name;
}
function dendro_callback(inst_selection){
var inst_rc;
var inst_data = inst_selection.__data__;
// toggle enrichr export section
if (inst_data.inst_rc === 'row'){
d3.select('.enrichr_export_section')
.style('display', 'block');
} else {
d3.select('.enrichr_export_section')
.style('display', 'none');
}
}
function resize_container(args){
var screen_width = window.innerWidth;
var screen_height = window.innerHeight - 20;
d3.select(args.root)
.style('width', screen_width+'px')
.style('height', screen_height+'px');
}