aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xwqflask/wqflask/static/new/css/bar_chart.css44
-rw-r--r--wqflask/wqflask/static/new/css/scatter-matrix.css8
-rwxr-xr-xwqflask/wqflask/static/new/javascript/bar_chart.js70
-rwxr-xr-xwqflask/wqflask/templates/base.html4
-rwxr-xr-xwqflask/wqflask/templates/collections/list.html2
-rwxr-xr-xwqflask/wqflask/templates/marker_regression.html11
-rwxr-xr-xwqflask/wqflask/templates/search_result_page.html6
-rwxr-xr-xwqflask/wqflask/templates/show_trait_details.html2
-rwxr-xr-xwqflask/wqflask/templates/show_trait_statistics_new.html2
9 files changed, 105 insertions, 44 deletions
diff --git a/wqflask/wqflask/static/new/css/bar_chart.css b/wqflask/wqflask/static/new/css/bar_chart.css
index 4da090b9..20730c2f 100755
--- a/wqflask/wqflask/static/new/css/bar_chart.css
+++ b/wqflask/wqflask/static/new/css/bar_chart.css
@@ -1,23 +1,23 @@
-.barchart .axis path,
-.barchart .axis line {
- fill: none;
- stroke: #000;
- shape-rendering: crispEdges;
-}
-
-.bar {
- fill: steelblue;
- shape-rendering: crispEdges;
-}
-
-#legend-left, #legend-right {
- font-size: 20px;
-}
-
-.nvd3 .nv-group {
- fill-opacity: .9 !important;
-}
-
-.nvtooltip table td.legend-color-guide div {
- display: none;
+.barchart .axis path,
+.barchart .axis line {
+ fill: none;
+ stroke: #000;
+ shape-rendering: crispEdges;
+}
+
+.bar {
+ fill: steelblue;
+ shape-rendering: crispEdges;
+}
+
+#legend-left, #legend-right {
+ font-size: 20px;
+}
+
+.nvd3 .nv-group {
+ fill-opacity: .9 !important;
+}
+
+.nvtooltip table td.legend-color-guide div {
+ display: none;
} \ No newline at end of file
diff --git a/wqflask/wqflask/static/new/css/scatter-matrix.css b/wqflask/wqflask/static/new/css/scatter-matrix.css
index 147903be..58150b26 100644
--- a/wqflask/wqflask/static/new/css/scatter-matrix.css
+++ b/wqflask/wqflask/static/new/css/scatter-matrix.css
@@ -1,9 +1,9 @@
#scatter-matrix { font-size: 14px; }
-.axis { shape-rendering: crispEdges; }
-.axis line { stroke: #ddd; stroke-width: 1px; }
-.axis path { display: none; }
-.axis text { font-size: 0.8em; }
+#scatter-matrix .axis { shape-rendering: crispEdges; }
+#scatter-matrix .axis line { stroke: #ddd; stroke-width: 1px; }
+#scatter-matrix .axis path { display: none; }
+#scatter-matrix .axis text { font-size: 0.8em; }
rect.extent { fill: #000; fill-opacity: .125; stroke: #fff; }
rect.frame { fill: #fff; fill-opacity: .7; stroke: #aaa; }
diff --git a/wqflask/wqflask/static/new/javascript/bar_chart.js b/wqflask/wqflask/static/new/javascript/bar_chart.js
index 0ab50b4e..7ec35148 100755
--- a/wqflask/wqflask/static/new/javascript/bar_chart.js
+++ b/wqflask/wqflask/static/new/javascript/bar_chart.js
@@ -221,27 +221,33 @@
return _this.color_dict[d.attr[_this.attribute_name]];
});
_this.add_legend();
+ } else if (typeof _this.trait_color_dict !== 'undefined') {
+ _this.color_dict = _this.trait_color_dict;
+ _this.chart.barColor(function(d) {
+ return _this.color_dict[d['x']];
+ });
} else {
_this.chart.barColor(function() {
return 'steelblue';
});
}
_this.chart.width(raw_data.length * 20);
+ //User should be able to change Y domain, but should still have good default
_this.chart.yDomain([
- 0.9 * _.min((function() {
+ 0.95 * _.min((function() { // ZS: Decreasing this constant decreases the min Y axis value
var j, len, results;
results = [];
for (j = 0, len = values.length; j < len; j++) {
d = values[j];
- results.push(d.y - 1.5 * d.yErr);
+ results.push(d.y - 0.5 * d.yErr); //ZS: the 0.5 was originally 1.5
}
return results;
- })()), 1.05 * _.max((function() {
+ })()), 1.05 * _.max((function() { // ZS: Decreasing this constant decreases the max Y axis value
var j, len, results;
results = [];
for (j = 0, len = values.length; j < len; j++) {
d = values[j];
- results.push(d.y + 1.5 * d.yErr);
+ results.push(d.y + 0.5 * d.yErr); // //ZS: the 0.5 was originally 1.5
}
return results;
})())
@@ -398,17 +404,18 @@
trimmed_samples = this.trim_values(trait_sample_data);
distinct_values = {};
distinct_values["collection_trait"] = this.get_distinct_values(trimmed_samples);
- this.get_trait_color_dict(trimmed_samples, distinct_values);
+ this.trait_color_dict = this.get_trait_color_dict(trimmed_samples, distinct_values);
console.log("TRAIT_COLOR_DICT:", this.trait_color_dict);
- return console.log("SAMPLES:", this.samples);
+ return this.rebuild_bar_graph();
+ //return console.log("SAMPLES:", this.samples);
};
Bar_Chart.prototype.trim_values = function(trait_sample_data) {
var j, len, ref, sample, trimmed_samples;
trimmed_samples = {};
- ref = this.sample_names;
+ ref = this.sample_lists['samples_all'];
for (j = 0, len = ref.length; j < len; j++) {
- sample = ref[j];
+ sample = ref[j]['name'];
if (sample in trait_sample_data) {
trimmed_samples[sample] = trait_sample_data[sample];
}
@@ -424,6 +431,53 @@
return distinct_values;
};
+ Bar_Chart.prototype.get_trait_color_dict = function(samples, vals) {
+ var color, color_range, distinct_vals, i, j, k, key, len, len1, results, sample, this_color_dict, value;
+ trait_color_dict = {};
+ console.log("vals:", vals);
+ for (key in vals) {
+ if (!hasProp.call(vals, key)) continue;
+ distinct_vals = vals[key];
+ this_color_dict = {};
+ this.min_val = d3.min(distinct_vals);
+ this.max_val = d3.max(distinct_vals);
+ if (distinct_vals.length < 10) {
+ color = d3.scale.category10();
+ for (i = j = 0, len = distinct_vals.length; j < len; i = ++j) {
+ value = distinct_vals[i];
+ this_color_dict[value] = color(i);
+ }
+ } else {
+ console.log("distinct_values:", distinct_vals);
+ if (_.every(distinct_vals, (function(_this) {
+ return function(d) {
+ if (isNaN(d)) {
+ return false;
+ } else {
+ return true;
+ }
+ };
+ })(this))) {
+ color_range = d3.scale.linear().domain([d3.min(distinct_vals), d3.max(distinct_vals)]).range([0, 255]);
+ for (i = k = 0, len1 = distinct_vals.length; k < len1; i = ++k) {
+ value = distinct_vals[i];
+ //console.log("color_range(value):", parseInt(color_range(value)));
+ this_color_dict[value] = d3.rgb(parseInt(color_range(value)), 0, 0);
+ }
+ }
+ }
+ }
+ results = [];
+ console.log("SAMPLES:", samples)
+ for (sample in samples) {
+ if (!hasProp.call(samples, sample)) continue;
+ value = samples[sample];
+ trait_color_dict[sample] = this_color_dict[value];
+ //results.push(this.trait_color_dict[sample] = this_color_dict[value]);
+ }
+ return trait_color_dict;
+ };
+
return Bar_Chart;
})();
diff --git a/wqflask/wqflask/templates/base.html b/wqflask/wqflask/templates/base.html
index 90acd0da..4d44642b 100755
--- a/wqflask/wqflask/templates/base.html
+++ b/wqflask/wqflask/templates/base.html
@@ -69,6 +69,9 @@
<a id="login_in" href="/n/login">Sign in</a>
{% endif %}
</li>
+ <li style="margin-left: 20px;">
+ <a href="http://www.genenetwork.org" style="font-weight: bold;" >Use GeneNetwork 1</a>
+ </li
</ul>
</div>
</div>
@@ -84,7 +87,6 @@
</select>
<input class="btn btn-primary form-control col-xs-2" style="width: 100px; margin-top: 15px; margin-left: 10px;" type="submit" value="Search All">
<input class="form-control col-xs-6" style="width: 600px; margin-top: 15px; margin-left: 10px;" type="text" name="terms" required>
- <a href="http://www.genenetwork.org"><input class="btn btn-primary form-control col-xs-2" style="width: 175px; margin-top: 15px; margin-left: 50px;" value="Use GeneNetwork 1"></a>
</div>
</form>
</div>
diff --git a/wqflask/wqflask/templates/collections/list.html b/wqflask/wqflask/templates/collections/list.html
index c05b694b..52106eae 100755
--- a/wqflask/wqflask/templates/collections/list.html
+++ b/wqflask/wqflask/templates/collections/list.html
@@ -42,7 +42,7 @@
</table>
{# if "color_by_trait" in params #}
-<!-- <script type="text/javascript" src="/static/new/javascript/get_traits_from_collection.js"></script>-->
+ <script type="text/javascript" src="/static/new/javascript/get_traits_from_collection.js"></script>
{# endif #}
</div>
diff --git a/wqflask/wqflask/templates/marker_regression.html b/wqflask/wqflask/templates/marker_regression.html
index d83730a2..2d0b6256 100755
--- a/wqflask/wqflask/templates/marker_regression.html
+++ b/wqflask/wqflask/templates/marker_regression.html
@@ -18,7 +18,6 @@
<input type="hidden" id="filename" name="filename" value="">
<input type="submit" id="export_pdf" value="Download PDF">
</form>
-<!-- <button id="export_pdf" class="btn">Export PDF</button>-->
<button id="return_to_full_view" class="btn" style="display:none">Return to full view</button>
</div>
<div id="chart_container">
@@ -33,6 +32,7 @@
<table id="qtl_results" class="table table-hover table-striped">
<thead>
<tr>
+ <th></th>
<th>Index</th>
<th>{{ score_type }}</th>
<th>Chr</th>
@@ -46,18 +46,18 @@
(score_type == "LRS" and marker.lrs_value > cutoff) %}
<tr>
<td>
- {{loop.index}}
<input type="checkbox" name="selectCheck"
class="checkbox edit_sample_checkbox"
value="{{ marker.name }}" checked="checked">
</td>
+ <Td align="right">{{ loop.index }}</Td>
{% if score_type == "LOD" %}
- <td>{{marker.lod_score}}</td>
+ <td>{{ '%0.2f' | format(marker.lod_score|float) }}</td>
{% else %}
- <td>{{marker.lrs_value}}</td>
+ <td>{{ '%0.2f' | format(marker.lrs_value|float) }}</td>
{% endif %}
<td>{{marker.chr}}</td>
- <td>{{marker.Mb}}</td>
+ <td>{{ '%0.6f' | format(marker.Mb|float) }}</td>
<td>{{marker.name}}</td>
</tr>
{% endif %}
@@ -81,6 +81,7 @@
console.time("Creating table");
$('#qtl_results').dataTable( {
"columns": [
+ { "type": "natural", "bSortable": false },
{ "type": "natural" },
{ "type": "natural" },
{ "type": "natural" },
diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html
index d0875b71..5b4dea33 100755
--- a/wqflask/wqflask/templates/search_result_page.html
+++ b/wqflask/wqflask/templates/search_result_page.html
@@ -49,15 +49,17 @@
<input type="text" id="select_top" class="form-control" style="width: 200px; display: inline;" placeholder="Select Top ...">
<br />
<br />
+ {% if dataset.type == 'ProbeSet' %}
<button class="btn btn-default" id="open_options">Open Extra Options</button>
<br />
- <br />
+ <br />
<div id="extra_options" style="display:none;">
Min LRS <input type="text" id="min" class="form-control" style="width: 60px; display: inline;">
Max LRS <input type="text" id="max" class="form-control" style="width: 60px; display: inline;">
</div>
<br />
<br />
+ {% endif %}
<div id="table_container">
<table class="table table-hover table-striped" id='trait_table' {% if dataset.type == 'Geno' %}width="400px"{% endif %} style="float: left;">
<thead>
@@ -222,11 +224,9 @@
console.time("Creating table");
{% if dataset.type == 'ProbeSet' %}
-
jQuery.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
return filtering( oSettings, aData, iDataIndex, 7 );
-
}
);
diff --git a/wqflask/wqflask/templates/show_trait_details.html b/wqflask/wqflask/templates/show_trait_details.html
index 04db915a..3259d349 100755
--- a/wqflask/wqflask/templates/show_trait_details.html
+++ b/wqflask/wqflask/templates/show_trait_details.html
@@ -3,6 +3,8 @@
<dd>{{ this_trait.dataset.group.species }}</dd>
<dt>Group</dt>
<dd>{{ this_trait.dataset.group.name }}</dd>
+ <dt>Tissue</dt>
+ <dd>{{ this_trait.dataset.tissue }}</dd>
{% if this_trait.dataset.type == 'ProbeSet' %}
<dt>Aliases</dt>
<dd>{{ this_trait.alias_fmt }}</dd>
diff --git a/wqflask/wqflask/templates/show_trait_statistics_new.html b/wqflask/wqflask/templates/show_trait_statistics_new.html
index 4eb74e5a..b7323ba3 100755
--- a/wqflask/wqflask/templates/show_trait_statistics_new.html
+++ b/wqflask/wqflask/templates/show_trait_statistics_new.html
@@ -73,11 +73,13 @@
<i class="icon-signal"></i> Sort By Value
</button>
</div>
+ {% if g.user_session.user_ob %}
<div class="btn-group">
<button type="button" class="btn btn-default" id="color_by_trait">
<i class="icon-tint"></i> Color by Trait
</button>
</div>
+ {% endif %}
</div>
<div class="row" style="position:relative">
<div id="bar_chart_legend" style="margin-left: 150px; margin-top:20px; position: absolute;">