Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
730e924
Display number of selected samples in dropdown row.
kleisb May 24, 2014
4eba9c8
Implemented sample list storing
kleisb May 27, 2014
50f17a0
Added Sample Lists control to atlas
kleisb May 28, 2014
1c90dde
Added item list collection to WebApp.
kleisb May 31, 2014
576dd2c
Fixed sample list union operation.
kleisb Jun 3, 2014
0009e21
Cleanup
kleisb Jun 3, 2014
c58d10d
Cleanup
kleisb Jun 3, 2014
2fe64e6
Added sample list operations template.
kleisb Jun 11, 2014
eedfb01
Sample lists can be created and updated from Atlas
kleisb Jun 12, 2014
5cfc06a
Fixed calls to sample list collection
kleisb Jun 12, 2014
899ef50
Added item set
kleisb Jun 12, 2014
399ed54
completed implmentation for adding statistics to feature matrix
mdmiller53 Jun 12, 2014
4486964
Merge pull request #63 from hrovira/labeling_ffn
hrovira Jun 17, 2014
51c03e9
changed filter for mutated samples to use code_potential_somatic
hrovira Jun 17, 2014
7da98d8
generating unique list of feature tags
hrovira Jun 17, 2014
43e27a1
updated database reference
hrovira Jun 17, 2014
09cc86e
Merge pull request #64 from hrovira/labeling_ffn
hrovira Jun 17, 2014
2a744f1
Merge branch 'labeling_ffn' of https://github.com/cancerregulome/Gene…
kleisb Jun 18, 2014
af598b4
added prominent link to TCGA publication guidelines
hrovira Jun 18, 2014
26e823b
Merge branch 'pub_guidelines' into labeling_ffn
hrovira Jun 18, 2014
dd66a1d
Merge pull request #65 from hrovira/labeling_ffn
hrovira Jun 18, 2014
fb2d1e8
Fixed list update
kleisb Jun 18, 2014
f69df7a
Removed feature matrices mutation map datamodel
kleisb Jun 18, 2014
8f0948c
Add "no data" label to genes for which data is not found.
kleisb Jun 19, 2014
6e9551c
Merge branch 'labeling_ffn' of https://github.com/cancerregulome/Gene…
kleisb Jun 19, 2014
efc4df9
Merge pull request #66 from kleisb/seqpeekv2_integration
kleisb Jun 19, 2014
fc4b9c0
Fixed buttons in template
kleisb Jun 20, 2014
b3779a3
Sample list dropdown opens and closes only by clicking the nav bar
kleisb Jun 20, 2014
0f36803
Merge branch 'labeling_ffn' of https://github.com/cancerregulome/Gene…
kleisb Jun 20, 2014
40c7699
implemented autocomplete against new all_clinical database
hrovira Jun 23, 2014
5ba919d
merged master
hrovira Jun 23, 2014
58f0943
Merge pull request #68 from hrovira/labeling_ffn
hrovira Jun 23, 2014
db457d1
Merge pull request #67 from kleisb/seqpeekv2_integration
kleisb Jun 24, 2014
43f3936
added ordering of feature sources #69
hrovira Jun 24, 2014
4c34f48
Merge branch 'sample_dist_GEXP_i69' into labeling_ffn
hrovira Jun 24, 2014
dd0fbe4
Merge pull request #71 from hrovira/labeling_ffn
hrovira Jun 24, 2014
8405659
corrected data source
hrovira Jun 24, 2014
027435a
implemented uniqueness identifier to facilitate grouping features by …
hrovira Jun 24, 2014
2caed3f
Merge pull request #73 from hrovira/labeling_ffn
hrovira Jun 24, 2014
a4b5570
color by labels for non-continuous variables #74
hrovira Jun 24, 2014
3605471
Merge pull request #75 from hrovira/labeling_ffn
hrovira Jun 24, 2014
9537a17
fixing filter for color by #74
hrovira Jun 24, 2014
a53e616
Merge pull request #76 from hrovira/labeling_ffn
hrovira Jun 24, 2014
9cb7e10
script to adjust values in GEXP features
hrovira Jun 25, 2014
102ede3
Merge pull request #77 from hrovira/labeling_ffn
hrovira Jun 25, 2014
112782c
Merge branch 'master' of https://github.com/hrovira/GeneSpot: get lat…
mdmiller53 Jun 25, 2014
5388232
modified script to throw error on empty values and to set non-values …
mdmiller53 Jun 25, 2014
edee3df
some minor fixes
mdmiller53 Jun 25, 2014
4001fa5
First pass at rendering non-coding mutations in mutations map.
kleisb Jun 25, 2014
48cb4e5
Fixed protein identifier parsing.
kleisb Jun 25, 2014
9fd2ba6
Merge pull request #78 from kleisb/seqpeekv2_integration
kleisb Jun 26, 2014
8fd13fb
added description for STAD dataset and altered template to allow deco…
hrovira Jun 26, 2014
90f185b
Merge pull request #79 from hrovira/labeling_ffn
hrovira Jun 26, 2014
799b89b
filtering out numerical features from color by menu #70
hrovira Jun 27, 2014
727db49
Merge pull request #80 from hrovira/labeling_ffn
hrovira Jun 27, 2014
6ead996
renames
hrovira Jun 27, 2014
4dccef5
Working on non-coding mode
kleisb Jun 30, 2014
8ffd2e3
script to insert copy number gistic all_data_by_genes.txt from Fireho…
hrovira Jun 30, 2014
c3c7a65
Merge branch 'labeling_ffn' of github.com:hrovira/GeneSpot into label…
hrovira Jun 30, 2014
e89f2c4
script to insert copy number gistic all_data_by_genes.txt from Fireho…
hrovira Jun 30, 2014
408d97b
Merge pull request #81 from hrovira/labeling_ffn
hrovira Jun 30, 2014
eceedd3
Added y-axis scale
kleisb Jun 30, 2014
baddf92
Adjusted top tick
kleisb Jun 30, 2014
095c1fb
Added SeqPeek mini locator to mutations map.
kleisb Jul 1, 2014
0490849
Moved mini locator to header row of table.
kleisb Jul 1, 2014
fc95bfe
Updated SeqPeek dependency
kleisb Jul 1, 2014
8ab49e2
Merge branch 'labeling_ffn' of https://github.com/cancerregulome/Gene…
kleisb Jul 1, 2014
580ff96
Fixed calls to SeqPeek mini locator API.
kleisb Jul 2, 2014
7f45073
Merge pull request #82 from kleisb/seqpeekv2_integration
kleisb Jul 2, 2014
14fa07c
fixing how unid is used for feature selection
hrovira Jul 4, 2014
5180e25
updates to complete the FFN/FFV and statistics features
mdmiller53 Jul 7, 2014
7a0f847
add 'ffn_' prefix to ffn scripts
mdmiller53 Jul 7, 2014
dee2474
Merge pull request #83 from mdmiller53/master
mdmiller53 Jul 7, 2014
423aa12
Merge branch 'seqpeekv2_integration' into noncoding_mode
kleisb Jul 7, 2014
f756af0
added scripts to manage database import workflow
hrovira Jul 7, 2014
80e9c1a
fixed dependency
hrovira Jul 7, 2014
0902db3
renaming/dropping
hrovira Jul 7, 2014
218967d
logging updates
hrovira Jul 7, 2014
e61e042
Merge branch 'labeling_ffn' of github.com:hrovira/GeneSpot into label…
hrovira Jul 7, 2014
fd947d7
Merge branch 'labeling_ffn' of github.com:CancerRegulome/GeneSpot int…
hrovira Jul 7, 2014
b3c7692
Merge pull request #84 from hrovira/labeling_ffn
hrovira Jul 7, 2014
ab5cdd7
Implemented non-coding display mode.
kleisb Jul 8, 2014
b0d04b4
reconfigured to use datawarehouse model
hrovira Jul 8, 2014
13823bf
fixed case sensitivity
hrovira Jul 8, 2014
2f4cad9
refactored function
hrovira Jul 8, 2014
24a6049
Merge branch 'labeling_ffn' of github.com:CancerRegulome/GeneSpot int…
hrovira Jul 8, 2014
7196846
Merge pull request #85 from hrovira/labeling_ffn
hrovira Jul 8, 2014
e4161dc
null check
hrovira Jul 8, 2014
b89b3e4
fixed color by mappings
hrovira Jul 8, 2014
a430647
Merge branch 'labeling_ffn' of github.com:CancerRegulome/GeneSpot int…
hrovira Jul 8, 2014
67d6907
Merge pull request #86 from hrovira/labeling_ffn
hrovira Jul 8, 2014
745e808
Fixes for genomic mode region generation.
kleisb Jul 9, 2014
9201c2d
Merge branch 'labeling_ffn' of https://github.com/cancerregulome/Gene…
kleisb Jul 9, 2014
d347b15
Merge pull request #87 from kleisb/seqpeekv2_integration
kleisb Jul 9, 2014
427b256
added mutsig import scripts
hrovira Jul 9, 2014
5076aef
minor fixes
hrovira Jul 9, 2014
2f99f88
change count and logging
hrovira Jul 9, 2014
9b77f96
Merge pull request #88 from hrovira/labeling_ffn
hrovira Jul 9, 2014
ef63a55
added extract_medians.py, a script to extract the median values for g…
mdmiller53 Jul 10, 2014
512e9c0
Merge branch 'labeling_ffn' of https://github.com/cancerregulome/Gene…
mdmiller53 Jul 21, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ dist
.sass-cache
app/components
app/data
db/sh
python
app/bower_components
npm-debug.log
Expand Down
17 changes: 8 additions & 9 deletions app/configurations/atlas.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"default_genelist": ["BRCA1", "RAD51", "TP53", "KRAS", "CC2D1A"],
"all_tags_url": "svc/datastores/FFN/LOOKUPS/all_tags",
"all_clinical_url": "svc/datastores/FFN/LOOKUPS/all_clinical",
"maps": [
{
"id": "mutations_combo",
Expand All @@ -23,14 +24,6 @@
"url_suffix": "/mutation_summary"
},
"mutsig": "datamodel/mutations/mutsig_rankings",
"features": {
"uri": "datamodel/tcga_datawarehouse",
"url_suffix": "/feature_matrix",
"base_query": {
"source": "GNAB",
"label": "y_n_somatic"
}
},
"mutated_samples": {
"uri": "datamodel/tcga_datawarehouse",
"url_suffix": "/mutated_samples"
Expand Down Expand Up @@ -75,6 +68,9 @@
"url_suffix": "/feature_matrix",
"query_clinical_variables": true
}
},
"feature_sources_order": {
"GEXP": 1
}
}
]
Expand All @@ -91,7 +87,10 @@
"view": "views/stacksvis/view",
"label": "Distributions",
"datamodels": {
"copy_number": "datamodel/copy_number/copy_number_gistic2",
"copy_number": {
"uri": "datamodel/tcga_datawarehouse",
"url_suffix": "/copy_number_gistic"
},
"q_value": "datamodel/copy_number/copy_number_qvalue",
"mutated_samples": {
"uri": "datamodel/tcga_datawarehouse",
Expand Down
7 changes: 1 addition & 6 deletions app/configurations/datamodel.json
Original file line number Diff line number Diff line change
Expand Up @@ -141,19 +141,14 @@
"STAD-20140123": {
"tumor_type": "STAD",
"service": "datastores/dev_ffn_20140520/STAD",
"description": "This dataset was prepared from TCGA feature matrices aggregated at ISB",
"description": "This dataset was prepared from TCGA feature matrices aggregated at ISB.<br/><br/>STAD gene expression levels were available from RNAseq data as RPKM only, whereas levels for other tumor types were available in terms of RSEM (June 2014). To approximate RSEM values, STAD values were linearly transformed using the equation 4.550681+ STAD *1.271340. The coefficient were obtained from regressing median gene expression levels for COAD against those for STAD. COAD was selected over other tumor types due to anatomical proximity and the relative concordance of the distributions of the COAD and STAD medians.",
"label": "STAD dataset for January 2014"
}
}
},
"copy_number": {
"label": "Copy Number Datasets",
"catalog": {
"copy_number_gistic2": {
"label": "Copy Number Gistic (13sep)",
"service": "datastores/copy_number/qed_lookups/copyNumber_Gistic2_13sep",
"model": "models/gs/by_tumor_type"
},
"copy_number_qvalue": {
"label": "Copy Number Q-Values",
"service": "datastores/copy_number/qed_lookups/copy_number_qvalue"
Expand Down
3 changes: 0 additions & 3 deletions app/configurations/lookups.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
"NA": "Other"
}
},
"clinical_variables": {
"url": "svc/datastores/FFN/LOOKUPS/clinical_variables"
},
"chromosomes": {
"url": "svc/data/lookups/chromosomes",
"model": "models/annotations"
Expand Down
5 changes: 4 additions & 1 deletion app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,10 @@ <h5>Browser Display Dimensions</h5>
var increment = function () {
progress += 10;
try {
document.getElementById("progressbar").style.width = progress + "%";
var progressbarEl = document.getElementById("progressbar");
if (!progressbarEl) return;

progressbarEl.style.width = progress + "%";
if (progress < 100) setTimeout(increment, 300);
} catch (e) {
console.error(e);
Expand Down
47 changes: 18 additions & 29 deletions app/scripts/models/gs/by_tumor_type.js
Original file line number Diff line number Diff line change
@@ -1,43 +1,32 @@
define(["jquery", "underscore", "backbone"],
function ($, _, Backbone) {
return Backbone.Model.extend({

initialize: function (options) {
_.extend(this, options);
initialize: function(attributes, options) {
this.set(this.parse(attributes));
},

parse: function (data) {
this.set("items", data.items);
var items = data["items"];
this.set("items", items);

if (_.isEmpty(data.items)) {
return { "ROWS": [], "COLUMNS": [], "DATA": [] };
}
if (_.isEmpty(items)) return { "ROWS": [], "COLUMNS": [], "DATA": [] };

var itemsByTumorType = _.groupBy(data.items, "cancer");
var dataByTumorType = {};
_.each(itemsByTumorType, function (items, tumor_type) {
if (_.isEmpty(data.items)) {
dataByTumorType[tumor_type] = { "ROWS": [], "COLUMNS": [], "DATA": [] };
} else {
var ROWS = _.pluck(items, "gene");
var COLUMNS = _.pluck(items[0].values, "id");
var coldict = {};
_.each(COLUMNS, function (col, idx) {
coldict[col] = idx;
});
var ROWS = _.pluck(items, "gene");
var COLUMNS = _.keys(_.first(items)["values"]);
var coldict = {};
_.each(COLUMNS, function (col, idx) {
coldict[col] = idx;
});

var DATA = _.map(items, function (data_item) {
var row_array = [];
_.each(data_item.values, function (value_obj) {
row_array[coldict[value_obj.id]] = value_obj.v;
});
return row_array;
});
dataByTumorType[tumor_type] = { "ROWS": ROWS, "COLUMNS": COLUMNS, "DATA": DATA };
}
var DATA = _.map(items, function (data_item) {
var row_array = [];
_.each(data_item["values"], function (value, id) {
row_array[coldict[id]] = value;
});
return row_array;
});

return { "BY_TUMOR_TYPE": dataByTumorType };
return { "ROWS": ROWS, "COLUMNS": COLUMNS, "DATA": DATA };
}
});
});
82 changes: 82 additions & 0 deletions app/scripts/models/gs/item_set.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
define([
"jquery",
"underscore",
"backbone"
],
function ($, _, Backbone
) {
var URL = "svc/collections/samplelists";

return Backbone.Collection.extend({
"url": URL,

"model": Backbone.Model.extend({
idAttribute: "_id"
}),

initialize: function() {
this.on("add", this.__add_handler, this);
this.on("remove", this.__remove_handler, this);
this.on("change", this.__change_handler, this);
},

__add_handler: function() {

},

__remove_handler: function(model, collection, index) {
Backbone.sync("delete", new Backbone.Model({}), {
"url": URL + "/" + model["id"], "success": this.__refresh
});
},

__change_handler: function() {

},

__createModelForSync: function(model) {
var data = _.omit(model.toJSON(), "uri", "id", "_id");
return new Backbone.Model(data);
},

updateSampleList: function(model_id, sample_list) {
var model = this.get(model_id);
var successFn = _.bind(function() {
model.trigger("change");
}, this);

model.set({
samples: sample_list
});

this.sync("update", this.__createModelForSync(model), {
url: URL + "/" + model["id"],
success: successFn,
context: this
});
},

updateSampleListByUnion: function(model_id, sample_list) {
var sample_id_set = this.get(model_id).get("samples");
Array.prototype.push.apply(sample_id_set, sample_list);
this.updateSampleList(model_id, _.unique(sample_id_set));
},

addSampleList: function(label, sample_id_array) {
var sample_list_model = new this.model({
"label": label,
"samples": sample_id_array
});

var successFn = _.bind(function(response, status) {
this.add(_.extend(sample_list_model, {"id": response["id"]}));
}, this);

this.sync("create", sample_list_model, {
url: URL,
success: successFn,
context: this
});
}
});
});
4 changes: 2 additions & 2 deletions app/scripts/templates/datamodel_collector/container.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<a class="btn btn-mini" href="{{url}}" target="_blank">Web Service API</a>
</div>
<h6>{{label}}</h6>
<small>{{description}}</small>
<small>{{{description}}}</small>
{{#if publications}}
<h6>Related Publications</h6>
<ul class="nav nav-list">
Expand Down Expand Up @@ -49,7 +49,7 @@
<a class="btn btn-mini" href="{{url}}" target="_blank">Web Service API</a>
</div>
<h6>{{label}}</h6>
<small>{{description}}</small>
<small>{{{description}}}</small>
{{#if publications}}
<h6>Related Publications</h6>
<ul class="nav nav-list">
Expand Down
2 changes: 1 addition & 1 deletion app/scripts/templates/fmx_distributions/container.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
<a href="#" onclick="return false;" class="dropdown-toggle" data-toggle="dropdown">
<i class="icon-tint"></i> Color By <b class="caret"></b>
</a>
<ul class="dropdown-menu color_by_selector" role="menu">
<ul class="dropdown-menu color_by_selector pre-scrollable" role="menu">
<li class="active"><a href="#" onclick="return false;" data-id="tumor_type">Tumor Type</a></li>
{{#if sample_types}}
<li><a href="#" onclick="return false;" data-id="sample_type">Sample Type</a></li>
Expand Down
6 changes: 6 additions & 0 deletions app/scripts/templates/gs/atlas.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@
<li>
<a href="#" onclick="return false;" data-toggle="collapse" data-target="#clinvarlist-collapser">Clinical and Sample Variables <i class="pull-right icon-chevron-right"></i></a>
</li>
<li>
<a href="#" onclick="return false;" data-toggle="collapse" data-target="#samplelist-collapser">Sample Lists <i class="pull-right icon-chevron-right"></i></a>
</li>
<li class="divider"/>
<!--<li>-->
<!--<a href="#" onclick="return false;" data-toggle="collapse" data-target="#collected-maps-collapser">Collected Maps <i class="pull-right icon-chevron-right"></i></a>-->
Expand Down Expand Up @@ -60,6 +63,9 @@
<div id="clinvarlist-collapser" class="list-container collapse">
<div class="clinvarlist-container"></div>
</div>
<div id="samplelist-collapser" class="list-container collapse">
<div class="samplelist-container"></div>
</div>
<!--<div id="collected-maps-collapser" class="list-container collapse">-->
<!--<div class="collected-maps-container"></div>-->
<!--</div>-->
Expand Down
4 changes: 2 additions & 2 deletions app/scripts/templates/gs/maps_list_container.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
{{#unless disabled}}
<div class="alert {{#if isPrimary}}alert-success{{/if}}{{#unless isPrimary}}alert-info{{/unless}}">
<h5>{{label}}</h5>
<p>{{description}}</p>
<p>{{{description}}}</p>
<p><button type="button" data-id="{{id}}" class="btn btn-info btn-small open-map">{{#if buttonLabel}}{{buttonLabel}}{{/if}}{{#unless buttonLabel}}open{{/unless}}</button></p>
</div>
{{/unless}}
{{#if disabled}}
<div class="alert alert-danger">
<h5>{{label}}</h5>
<p>{{description}}</p>
<p>{{{description}}}</p>
<p>This map is not currently available</p>
<p><button type="button" class="btn btn-small btn-danger disabled" title="not available">{{#if buttonLabel}}{{buttonLabel}}{{/if}}{{#unless buttonLabel}}disabled{{/unless}}</button></p>
</div>
Expand Down
38 changes: 38 additions & 0 deletions app/scripts/templates/samplelist/container.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<h4>Sample Lists</h4>
<div class="input-append">
<input type="text" class="new-list-name" placeholder="New list name...">
<button class="btn add-new-list" type="button" title="Add a list"><i class="icon-plus"></i></button>
</div>
{{#if samplelists.length}}
<div class="row">
<div class="span7">
<div class="tabs-left">
<ul class="nav nav-tabs sample-lists">
{{#each samplelists}}
<li{{#unless @index}} class="active"{{/unless}} data-id="{{id}}"><a
href="#tab-slists-slist-{{id}}" data-toggle="tab">{{label}}</a></li>
{{/each}}
</ul>
</div>

<div class="tab-content">
{{#each samplelists}}
<div class="tab-pane{{#unless @index}} active{{/unless}}" id="tab-slists-slist-{{id}}">
<h5>{{number_samples}} Samples</h5>
<textarea rows="10" id="samplelist-contents-{{id}}">{{text}}</textarea>
<div>
<button class="btn btn-small list-update" data-id="{{id}}" type="button">Update list contents</button>
</div>
<hr/>
<div class="btn-group">
<button class="btn btn-small list-remover" data-id="{{id}}" type="button"><i class="icon-trash"></i></button>
<button class="btn btn-small list-remover" data-id="{{id}}" type="button">Delete list '{{label}}'</button>
</div>
</div>
{{/each}}
</div>
</div>
</div>
{{else}}
<h5 style="color: red;">No sample lists stored</h5>
{{/if}}
31 changes: 27 additions & 4 deletions app/scripts/templates/seqpeek/mutations_map.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,32 @@
{{/each}}
</ul>
</li>
<button class="btn btn-default seqpeek-zoom-enable">Zoom</button>
<button class="btn btn-default seqpeek-selection-enable">Select</button>
<button class="btn btn-default seqpeek-print-ids">Print selection</button>
<button class="btn btn-default seqpeek-toggle-bars">Bars / Lollipops</button>
<li class="dropdown sample-list-dialog">
<a href="#" onclick="return false;" class="sample-list-dropdown">
<!-- sample_list_dropdown_caption.hbs -->
</a>

<div class="dropdown-menu span5">
<div class="input-append">
<input type="text" class="new-list-name" placeholder="New list name...">
<button class="btn add-new-list" type="button" title="Add a list"><i class="icon-plus"></i></button>
</div>
<div class="sample-list-operations">

</div>
</div>
</li>
<li>
<button class="btn btn-default seqpeek-zoom-enable">Zoom</button>
</li>
<li>
<button class="btn btn-default seqpeek-selection-enable">Select</button>
</li>
<li>
<button class="btn btn-default seqpeek-toggle-bars">Bars / Lollipops</button>
</li>
<li>
<button class="btn btn-default seqpeek-toggle-genomic">Protein / Genomic</button>
</li>
</ul>
<div class="mutations_map_table"></div>
4 changes: 2 additions & 2 deletions app/scripts/templates/seqpeek/mutations_map_table.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<th>Tumor Type</th>
<th>MutSig Rank</th>
<th>Samples (#)</th>
<th></th>
<th style="text-align: center;"><canvas class="seqpeek-mini-locator" width="400" height="24"></canvas></th>
</tr>
</thead>
<tbody>
Expand All @@ -17,7 +17,7 @@
</tr>
{{/each}}
<tr>
<td style="color: blue;">ALL</td>
<td style="color: blue;">COMBINED</td>
<td></td>
<td>{{total.samples}}</td>
<td id="seqpeek-all-row"></td>
Expand Down
Loading