aboutsummaryrefslogtreecommitdiff
path: root/wqflask
diff options
context:
space:
mode:
Diffstat (limited to 'wqflask')
-rw-r--r--wqflask/base/trait.py4
-rw-r--r--wqflask/utility/Plot.py3
-rw-r--r--wqflask/wqflask/search_results.py11
-rw-r--r--wqflask/wqflask/show_trait/SampleList.py32
-rw-r--r--wqflask/wqflask/show_trait/show_trait.py22
-rw-r--r--wqflask/wqflask/static/new/javascript/dataset_menu_structure.json79
-rw-r--r--wqflask/wqflask/static/new/javascript/get_covariates_from_collection.js76
-rw-r--r--wqflask/wqflask/static/new/javascript/show_trait.js65
-rw-r--r--wqflask/wqflask/templates/search_result_page.html22
-rw-r--r--wqflask/wqflask/templates/show_trait.html30
-rw-r--r--wqflask/wqflask/templates/show_trait_mapping_tools.html2
-rw-r--r--wqflask/wqflask/templates/show_trait_transform_and_filter.html1
12 files changed, 221 insertions, 126 deletions
diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py
index e57d4176..9f76306f 100644
--- a/wqflask/base/trait.py
+++ b/wqflask/base/trait.py
@@ -206,6 +206,7 @@ def jsonable(trait):
return dict(name=trait.name,
symbol=trait.symbol,
dataset=dataset.name,
+ dataset_name = dataset.shortname,
description=trait.description_display,
mean=trait.mean,
location=trait.location_repr,
@@ -217,6 +218,7 @@ def jsonable(trait):
if trait.pubmed_id:
return dict(name=trait.name,
dataset=dataset.name,
+ dataset_name = dataset.shortname,
description=trait.description_display,
authors=trait.authors,
pubmed_text=trait.pubmed_text,
@@ -228,6 +230,7 @@ def jsonable(trait):
else:
return dict(name=trait.name,
dataset=dataset.name,
+ dataset_name = dataset.shortname,
description=trait.description_display,
authors=trait.authors,
pubmed_text=trait.pubmed_text,
@@ -238,6 +241,7 @@ def jsonable(trait):
elif dataset.type == "Geno":
return dict(name=trait.name,
dataset=dataset.name,
+ dataset_name = dataset.shortname,
location=trait.location_repr
)
else:
diff --git a/wqflask/utility/Plot.py b/wqflask/utility/Plot.py
index 529cd117..cce8435d 100644
--- a/wqflask/utility/Plot.py
+++ b/wqflask/utility/Plot.py
@@ -98,8 +98,6 @@ def find_outliers(vals):
"""
- logger.debug("xerxes vals is:", pf(vals))
-
if vals:
#logger.debug("vals is:", pf(vals))
stats = corestats.Stats(vals)
@@ -114,7 +112,6 @@ def find_outliers(vals):
upper_bound = None
lower_bound = None
- logger.debug(pf(locals()))
return upper_bound, lower_bound
# parameter: data is either object returned by reaper permutation function (called by MarkerRegressionPage.py)
diff --git a/wqflask/wqflask/search_results.py b/wqflask/wqflask/search_results.py
index c67063b0..893fd172 100644
--- a/wqflask/wqflask/search_results.py
+++ b/wqflask/wqflask/search_results.py
@@ -112,7 +112,7 @@ views.py).
trait_dict['hmac'] = user_manager.data_hmac('{}:{}'.format(this_trait.name, this_trait.dataset.name))
if this_trait.dataset.type == "ProbeSet":
trait_dict['symbol'] = this_trait.symbol
- trait_dict['description'] = this_trait.description_display
+ trait_dict['description'] = insert_newlines(this_trait.description_display)
trait_dict['location'] = this_trait.location_repr
trait_dict['mean'] = "N/A"
trait_dict['additive'] = "N/A"
@@ -125,7 +125,7 @@ views.py).
elif this_trait.dataset.type == "Geno":
trait_dict['location'] = this_trait.location_repr
elif this_trait.dataset.type == "Publish":
- trait_dict['description'] = this_trait.description_display
+ trait_dict['description'] = insert_newlines(this_trait.description_display)
trait_dict['authors'] = this_trait.authors
trait_dict['pubmed_id'] = "N/A"
if this_trait.pubmed_id:
@@ -222,3 +222,10 @@ views.py).
return the_search
else:
return None
+
+def insert_newlines(string, every=64):
+ """ This is because it is seemingly impossible to change the width of the description column, so I'm just manually adding line breaks """
+ lines = []
+ for i in xrange(0, len(string), every):
+ lines.append(string[i:i+every])
+ return '\n'.join(lines)
diff --git a/wqflask/wqflask/show_trait/SampleList.py b/wqflask/wqflask/show_trait/SampleList.py
index 50d7b6c0..50026bba 100644
--- a/wqflask/wqflask/show_trait/SampleList.py
+++ b/wqflask/wqflask/show_trait/SampleList.py
@@ -39,7 +39,7 @@ class SampleList(object):
#self.sample_qnorm = get_transform_vals(self.dataset, this_trait)
- if self.this_trait and self.dataset and self.dataset.type == 'ProbeSet':
+ if self.this_trait and self.dataset:
self.get_extra_attribute_values()
for counter, sample_name in enumerate(sample_names, 1):
@@ -72,10 +72,9 @@ class SampleList(object):
self.sample_list.append(sample)
- logger.debug("self.attributes is", pf(self.attributes))
+ #logger.debug("attribute vals are", pf(self.sample_attribute_values))
self.do_outliers()
- logger.debug("*the_samples are [%i]: %s" % (len(self.sample_list), pf(self.sample_list)))
def __repr__(self):
return "<SampleList> --> %s" % (pf(self.__dict__))
@@ -98,11 +97,11 @@ class SampleList(object):
# Get attribute names and distinct values for each attribute
results = g.db.execute('''
- SELECT DISTINCT CaseAttribute.Id, CaseAttribute.Name, CaseAttributeXRef.Value
- FROM CaseAttribute, CaseAttributeXRef
- WHERE CaseAttributeXRef.CaseAttributeId = CaseAttribute.Id
- AND CaseAttributeXRef.ProbeSetFreezeId = %s
- ORDER BY CaseAttribute.Name''', (str(self.dataset.id),))
+ SELECT DISTINCT CaseAttribute.Id, CaseAttribute.Name, CaseAttributeXRefNew.Value
+ FROM CaseAttribute, CaseAttributeXRefNew
+ WHERE CaseAttributeXRefNew.CaseAttributeId = CaseAttribute.Id
+ AND CaseAttributeXRefNew.InbredSetId = %s
+ ORDER BY CaseAttribute.Name''', (str(self.dataset.group.id),))
self.attributes = {}
for attr, values in itertools.groupby(results.fetchall(), lambda row: (row.Id, row.Name)):
@@ -115,16 +114,17 @@ class SampleList(object):
def get_extra_attribute_values(self):
if self.attributes:
- results = g.db.execute('''
- SELECT Strain.Name AS SampleName, CaseAttributeId AS Id, CaseAttributeXRef.Value
- FROM Strain, StrainXRef, InbredSet, CaseAttributeXRef
+ query = '''
+ SELECT Strain.Name AS SampleName, CaseAttributeId AS Id, CaseAttributeXRefNew.Value
+ FROM Strain, StrainXRef, InbredSet, CaseAttributeXRefNew
WHERE StrainXRef.StrainId = Strain.Id
AND InbredSet.Id = StrainXRef.InbredSetId
- AND CaseAttributeXRef.StrainId = Strain.Id
- AND InbredSet.Name = %s
- AND CaseAttributeXRef.ProbeSetFreezeId = %s
- ORDER BY SampleName''',
- (self.dataset.group.name, self.this_trait.dataset.id))
+ AND CaseAttributeXRefNew.StrainId = Strain.Id
+ AND InbredSet.Id = CaseAttributeXRefNew.InbredSetId
+ AND CaseAttributeXRefNew.InbredSetId = %s
+ ORDER BY SampleName''' % self.dataset.group.id
+
+ results = g.db.execute(query)
for sample_name, items in itertools.groupby(results.fetchall(), lambda row: row.SampleName):
attribute_values = {}
diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py
index 0d1ed345..9b4470fe 100644
--- a/wqflask/wqflask/show_trait/show_trait.py
+++ b/wqflask/wqflask/show_trait/show_trait.py
@@ -350,6 +350,28 @@ def quantile_normalize_vals(sample_groups):
return qnorm_by_group
+def get_z_scores(sample_groups):
+ zscore_by_group = []
+ for sample_type in sample_groups:
+ trait_vals = []
+ for sample in sample_type.sample_list:
+ try:
+ trait_vals.append(float(sample.value))
+ except:
+ continue
+
+ qnorm_vals = normf(trait_vals)
+ qnorm_vals_with_x = []
+ counter = 0
+ for sample in sample_type.sample_list:
+ if sample.display_value == "x":
+ qnorm_vals_with_x.append("x")
+ else:
+ qnorm_vals_with_x.append(qnorm_vals[counter])
+ counter += 1
+
+ qnorm_by_group.append(qnorm_vals_with_x)
+
def get_nearest_marker(this_trait, this_db):
this_chr = this_trait.locus_chr
logger.debug("this_chr:", this_chr)
diff --git a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
index 3f2673c1..7d00d509 100644
--- a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
+++ b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
@@ -1560,7 +1560,7 @@
"AIL-LGSM-F34-A": {
"Phenotypes": [
[
- "None",
+ "655",
"AIL-LGSM-F34-APublish",
"AIL-LGSM-F34-A Phenotypes"
]
@@ -1569,7 +1569,7 @@
"AIL-LGSM-F34-F39-43-GBS": {
"Phenotypes": [
[
- "None",
+ "654",
"AIL-LGSM-F34-F39-43-GBSPublish",
"AIL-LGSM-F34-F39-43-GBS Phenotypes"
]
@@ -1578,7 +1578,7 @@
"AIL-LGSM-F34-GBS": {
"Phenotypes": [
[
- "None",
+ "656",
"AIL-LGSM-F34-GBSPublish",
"AIL-LGSM-F34-GBS Phenotypes"
]
@@ -1587,7 +1587,7 @@
"AIL-LGSM-F39-43-GBS": {
"Phenotypes": [
[
- "None",
+ "657",
"AIL-LGSM-F39-43-GBSPublish",
"AIL-LGSM-F39-43-GBS Phenotypes"
]
@@ -1713,11 +1713,6 @@
"B6D2F2": {
"Brain mRNA": [
[
- "77",
- "BRF2_M_0805_R",
- "OHSU/VA B6D2F2 Brain mRNA M430 (Aug05) RMA"
- ],
- [
"76",
"BRF2_M_0805_M",
"OHSU/VA B6D2F2 Brain mRNA M430 (Aug05) MAS5"
@@ -1728,6 +1723,11 @@
"OHSU/VA B6D2F2 Brain mRNA M430 (Aug05) PDNN"
],
[
+ "77",
+ "BRF2_M_0805_R",
+ "OHSU/VA B6D2F2 Brain mRNA M430 (Aug05) RMA"
+ ],
+ [
"33",
"BRF2_M_0304_P",
"OHSU/VA B6D2F2 Brain mRNA M430A (Mar04) PDNN"
@@ -2082,16 +2082,16 @@
],
"Brain mRNA": [
[
- "164",
- "UTHSC_BXD_WB_RNASeq1112",
- "UTHSC Mouse BXD Whole Brain RNA Sequence (Nov12) RPKM Untrimmed"
- ],
- [
"590",
"UTHSC_BXD_WB_RNASeqtrim1_1112",
"UTHSC Mouse BXD Whole Brain RNA Sequence (Nov12) RPKM Trimmed 1.0"
],
[
+ "164",
+ "UTHSC_BXD_WB_RNASeq1112",
+ "UTHSC Mouse BXD Whole Brain RNA Sequence (Nov12) RPKM Untrimmed"
+ ],
+ [
"394",
"UTHSC_BXD_WB_RNASeqEx1112",
"UTHSC Mouse BXD Whole Brain RNA Sequence Exon Level (Nov12) RPKM"
@@ -2233,11 +2233,6 @@
"Eye M430v2 WT Gpnmb (Sep08) RMA"
],
[
- "279",
- "Eye_M2_0908_R_WT",
- "Eye M430v2 WT Tyrp1 (Sep08) RMA"
- ],
- [
"278",
"Eye_M2_0908_R_MT",
"Eye M430v2 Mutant Tyrp1 (Sep08) RMA"
@@ -2248,6 +2243,11 @@
"Eye M430v2 WT WT (Sep08) RMA"
],
[
+ "279",
+ "Eye_M2_0908_R_WT",
+ "Eye M430v2 WT Tyrp1 (Sep08) RMA"
+ ],
+ [
"400",
"DBA2J-ONH-1212",
"Howell et al. 2011, DBA/2J Glaucoma Optic Nerve Head M430 2.0 (Dec12) RMA"
@@ -2531,16 +2531,16 @@
],
"Kidney mRNA": [
[
- "239",
- "MA_M2F_0706_R",
- "Mouse kidney M430v2 Female (Aug06) RMA"
- ],
- [
"240",
"MA_M2M_0706_R",
"Mouse kidney M430v2 Male (Aug06) RMA"
],
[
+ "239",
+ "MA_M2F_0706_R",
+ "Mouse kidney M430v2 Female (Aug06) RMA"
+ ],
+ [
"118",
"MA_M2_0806_R",
"Mouse kidney M430v2 Sex Balanced (Aug06) RMA"
@@ -2692,6 +2692,11 @@
"EPFL/LISP BXD HFD Liver Affy Mouse Gene 1.0 ST (Apr13) RMA"
],
[
+ "849",
+ "EPFLMouseLiverCDEx0413",
+ "EPFL/LISP BXD CD Liver Affy Mouse Gene 1.0 ST (Apr13) RMA Exon Level"
+ ],
+ [
"848",
"EPFLMouseLiverHFCEx0413",
"EPFL/LISP BXD HFC Liver Affy Mouse Gene 1.0 ST (Apr13) RMA Exon Level"
@@ -2702,11 +2707,6 @@
"EPFL/LISP BXD CD Liver Affy Mouse Gene 1.0 ST (Apr13) RMA"
],
[
- "849",
- "EPFLMouseLiverCDEx0413",
- "EPFL/LISP BXD CD Liver Affy Mouse Gene 1.0 ST (Apr13) RMA Exon Level"
- ],
- [
"433",
"EPFLMouseLiverBothExRMA0413",
"EPFL/LISP BXD CD+HFD Liver Affy Mouse Gene 1.0 ST (Apr13) RMA Exon Level"
@@ -3121,6 +3121,13 @@
]
},
"BXD-Harvested": {
+ "Hippocampus mRNA": [
+ [
+ "873",
+ "JAX-BXD-Hip-Pro-0219",
+ "JAX BXD Hippocampal Proteome (Feb19)"
+ ]
+ ],
"Liver mRNA": [
[
"843",
@@ -3539,11 +3546,6 @@
],
"Hippocampus mRNA": [
[
- "213",
- "Illum_LXS_Hipp_NOS_1008",
- "Hippocampus Illumina NOS (Oct08) RankInv beta"
- ],
- [
"219",
"Illum_LXS_Hipp_NON_1008",
"Hippocampus Illumina NON (Oct08) RankInv beta"
@@ -3564,6 +3566,11 @@
"Hippocampus Illumina RSS (Oct08) RankInv beta"
],
[
+ "213",
+ "Illum_LXS_Hipp_NOS_1008",
+ "Hippocampus Illumina NOS (Oct08) RankInv beta"
+ ],
+ [
"143",
"Illum_LXS_Hipp_loess0807",
"Hippocampus Illumina (Aug07) LOESS"
@@ -5333,6 +5340,10 @@
"Phenotypes"
],
[
+ "Hippocampus mRNA",
+ "Hippocampus mRNA"
+ ],
+ [
"Liver mRNA",
"Liver mRNA"
]
diff --git a/wqflask/wqflask/static/new/javascript/get_covariates_from_collection.js b/wqflask/wqflask/static/new/javascript/get_covariates_from_collection.js
index f2e694d8..fc6e5a78 100644
--- a/wqflask/wqflask/static/new/javascript/get_covariates_from_collection.js
+++ b/wqflask/wqflask/static/new/javascript/get_covariates_from_collection.js
@@ -2,12 +2,65 @@
var add_trait_data, assemble_into_json, back_to_collections, collection_click, collection_list, color_by_trait, create_trait_data_csv, get_this_trait_vals, get_trait_data, process_traits, selected_traits, submit_click, this_trait_data, trait_click,
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
-collection_list = null;
-
this_trait_data = null;
selected_traits = {};
+$('#collections_list').attr("style", "width: 100%;");
+$('#trait_table').dataTable( {
+ "drawCallback": function( settings ) {
+ $('#trait_table tr').click(function(event) {
+ if (event.target.type !== 'checkbox') {
+ $(':checkbox', this).trigger('click');
+ }
+ });
+ },
+ "columns": [
+ { "type": "natural", "width": "3%" },
+ { "type": "natural", "width": "8%" },
+ { "type": "natural", "width": "20%" },
+ { "type": "natural", "width": "25%" },
+ { "type": "natural", "width": "25%" },
+ { "type": "natural", "width": "15%" }
+ ],
+ "columnDefs": [ {
+ "targets": 0,
+ "orderable": false
+ } ],
+ "order": [[1, "asc" ]],
+ "sDom": "RZtr",
+ "iDisplayLength": -1,
+ "autoWidth": true,
+ "bDeferRender": true,
+ "bSortClasses": false,
+ "paging": false,
+ "orderClasses": true
+} );
+
+$('#collection_table').dataTable( {
+ "createdRow": function ( row, data, index ) {
+ if ($('td', row).eq(2).text().length > 40) {
+ $('td', row).eq(2).text($('td', row).eq(2).text().substring(0, 40));
+ $('td', row).eq(2).text($('td', row).eq(2).text() + '...')
+ }
+ if ($('td', row).eq(4).text().length > 50) {
+ $('td', row).eq(4).text($('td', row).eq(4).text().substring(0, 50));
+ $('td', row).eq(4).text($('td', row).eq(4).text() + '...')
+ }
+ },
+ "columnDefs": [ {
+ "targets": 0,
+ "orderable": false
+ } ],
+ "order": [[1, "asc" ]],
+ "sDom": "ZRtr",
+ "iDisplayLength": -1,
+ "autoWidth": true,
+ "bSortClasses": false,
+ "paging": false,
+ "orderClasses": true
+} );
+
collection_click = function() {
var this_collection_url;
console.log("Clicking on:", $(this));
@@ -28,16 +81,20 @@ submit_click = function() {
$('#collections_holder').find('input[type=checkbox]:checked').each(function() {
var this_dataset, this_trait;
this_trait = $(this).parents('tr').find('.trait').text();
+ this_description = $(this).parents('tr').find('.description').text();
console.log("this_trait is:", this_trait);
- this_dataset = $(this).parents('tr').find('.dataset').text();
+ this_dataset = $(this).parents('tr').find('.dataset').data("dataset");
console.log("this_dataset is:", this_dataset);
covariates_string += this_trait + ":" + this_dataset + ","
- covariates_display_string += this_trait + "\n"
+ this_covariate_display_string = this_trait + ": " + this_description
+ if (this_covariate_display_string.length > 50) {
+ this_covariate_display_string = this_covariate_display_string.substring(0, 45) + "..."
+ }
+ covariates_display_string += this_covariate_display_string + "\n"
});
// Trim the last comma
covariates_string = covariates_string.substring(0, covariates_string.length - 1)
//covariates_display_string = covariates_display_string.substring(0, covariates_display_string.length - 2)
- console.log("COVARIATES:", covariates_string)
$("input[name=covariates]").val(covariates_string)
$(".selected_covariates").val(covariates_display_string)
@@ -125,17 +182,16 @@ process_traits = function(trait_data, textStatus, jqXHR) {
the_html = "<button id='back_to_collections' class='btn btn-inverse btn-small'>";
the_html += "<i class='icon-white icon-arrow-left'></i> Back </button>";
the_html += " <button id='submit' class='btn btn-primary btn-small'> Submit </button>";
- the_html += "<table class='table table-hover'>";
- the_html += "<thead><tr><th></th><th>Record</th><th>Data Set</th><th>Description</th><th>Mean</th></tr></thead>";
+ the_html += "<table id='collection_table' style='padding-top: 10px;' class='table table-hover'>";
+ the_html += "<thead><tr><th></th><th>Record</th><th>Data Set</th><th>Description</th></tr></thead>";
the_html += "<tbody>";
for (_i = 0, _len = trait_data.length; _i < _len; _i++) {
trait = trait_data[_i];
the_html += "<tr class='trait_line'>";
the_html += "<td class='select_trait'><input type='checkbox' name='selectCheck' class='checkbox edit_sample_checkbox'></td>";
the_html += "<td class='trait'>" + trait.name + "</td>";
- the_html += "<td class='dataset'>" + trait.dataset + "</td>";
- the_html += "<td>" + trait.description + "</td>";
- the_html += "<td>" + (trait.mean || '&nbsp;') + "</td></tr>";
+ the_html += "<td class='dataset' data-dataset='" + trait.dataset + "'>" + trait.dataset_name + "</td>";
+ the_html += "<td class='description'>" + trait.description + "</td>";
}
the_html += "</tbody>";
the_html += "</table>";
diff --git a/wqflask/wqflask/static/new/javascript/show_trait.js b/wqflask/wqflask/static/new/javascript/show_trait.js
index 210945f0..bcb67527 100644
--- a/wqflask/wqflask/static/new/javascript/show_trait.js
+++ b/wqflask/wqflask/static/new/javascript/show_trait.js
@@ -2,8 +2,6 @@ var Stat_Table_Rows, is_number,
__hasProp = {}.hasOwnProperty,
__slice = [].slice;
-console.log("start_b");
-
is_number = function(o) {
return !isNaN((o - 0) && o !== null);
};
@@ -65,7 +63,6 @@ var add, block_by_attribute_value, block_by_index, block_outliers, change_stats_
add = function() {
var trait;
trait = $("input[name=trait_hmac]").val();
- console.log("trait is:", trait);
return $.colorbox({
href: "/collections/add?traits=" + trait
});
@@ -100,9 +97,7 @@ open_trait_selection = function() {
inline: true,
href: "#collections_holder",
onComplete: function(){
- console.log("before get script")
$.getScript("/static/new/javascript/get_traits_from_collection.js");
- console.log("after get script")
}
});
return $('a.collection_name').attr('onClick', 'return false');
@@ -115,10 +110,10 @@ open_covariate_selection = function() {
$.colorbox({
inline: true,
href: "#collections_holder",
+ width: "1000px",
+ height: "700px",
onComplete: function(){
- console.log("before get cov script")
$.getScript("/static/new/javascript/get_covariates_from_collection.js");
- console.log("after get cov script")
}
});
return $('a.collection_name').attr('onClick', 'return false');
@@ -142,21 +137,16 @@ stats_mdp_change = function() {
change_stats_value = function(sample_sets, category, value_type, decimal_places, effects) {
var current_value, id, in_box, the_value, title_value;
id = "#" + process_id(category, value_type);
- console.log("the_id:", id);
in_box = $(id).html;
current_value = parseFloat($(in_box)).toFixed(decimal_places);
the_value = sample_sets[category][value_type]();
- console.log("After running sample_sets, the_value is:", the_value);
if (decimal_places > 0) {
title_value = the_value.toFixed(decimal_places * 2);
the_value = the_value.toFixed(decimal_places);
} else {
title_value = null;
}
- console.log("*-* the_value:", the_value);
- console.log("*-* current_value:", current_value);
if (the_value !== current_value) {
- console.log("object:", $(id).html(the_value));
if (effects) {
$(id).html(the_value).effect("highlight");
} else {
@@ -179,7 +169,6 @@ update_stat_values = function(sample_sets) {
_results1 = [];
for (_j = 0, _len1 = Stat_Table_Rows.length; _j < _len1; _j++) {
row = Stat_Table_Rows[_j];
- console.log("Calling change_stats_value");
_results1.push(change_stats_value(sample_sets, category, row.vn, row.digits, show_effects));
}
return _results1;
@@ -356,7 +345,6 @@ process_id = function() {
processed = "";
for (_i = 0, _len = values.length; _i < _len; _i++) {
value = values[_i];
- console.log("value:", value);
value = value.replace(" ", "_");
if (processed.length) {
processed += "-";
@@ -378,7 +366,6 @@ edit_data_change = function() {
samples_other: {},
samples_all: {}
};
- console.log("at beginning:", sample_sets);
tables = ['samples_primary', 'samples_other'];
for (_i = 0, _len = tables.length; _i < _len; _i++) {
table = tables[_i];
@@ -412,39 +399,30 @@ edit_data_change = function() {
}
}
}
- console.log("towards end:", sample_sets);
update_stat_values(sample_sets);
if ($('#histogram').hasClass('js-plotly-plot')){
- console.log("redrawing histogram");
redraw_histogram();
}
if ($('#bar_chart').hasClass('js-plotly-plot')){
- console.log("redrawing bar chart");
redraw_bar_chart();
}
if ($('#box_plot').hasClass('js-plotly-plot')){
- console.log("redrawing box plot");
redraw_box_plot();
}
if ($('#violin_plot').hasClass('js-plotly-plot')){
- console.log("redrawing violin plot");
redraw_violin_plot();
}
if ($('#prob_plot_div').hasClass('js-plotly-plot')){
- console.log("redrawing probability plot");
return redraw_prob_plot();
}
};
show_hide_outliers = function() {
var label;
- console.log("FOOBAR in beginning of show_hide_outliers");
label = $('#show_hide_outliers').val();
- console.log("lable is:", label);
if (label === "Hide Outliers") {
return $('#show_hide_outliers').val("Show Outliers");
} else if (label === "Show Outliers") {
- console.log("Found Show Outliers");
$('#show_hide_outliers').val("Hide Outliers");
return console.log("Should be now Hide Outliers");
}
@@ -452,7 +430,6 @@ show_hide_outliers = function() {
on_corr_method_change = function() {
var corr_method;
corr_method = $('select[name=corr_type]').val();
- console.log("corr_method is:", corr_method);
$('.correlation_desc').hide();
$('#' + corr_method + "_r_desc").show().effect("highlight");
if (corr_method === "lit") {
@@ -487,7 +464,6 @@ create_value_dropdown = function(value) {
};
populate_sample_attributes_values_dropdown = function() {
var attribute_info, key, sample_attributes, selected_attribute, value, _i, _len, _ref, _ref1, _results;
- console.log("in beginning of psavd");
$('#attribute_values').empty();
sample_attributes = {};
_ref = js_data.attribute_names;
@@ -496,9 +472,7 @@ populate_sample_attributes_values_dropdown = function() {
attribute_info = _ref[key];
sample_attributes[attribute_info.name] = attribute_info.distinct_values;
}
- console.log("[visa] attributes is:", sample_attributes);
selected_attribute = $('#exclude_menu').val().replace("_", " ");
- console.log("selected_attribute is:", selected_attribute);
_ref1 = sample_attributes[selected_attribute];
_results = [];
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
@@ -507,7 +481,7 @@ populate_sample_attributes_values_dropdown = function() {
}
return _results;
};
-if (js_data.attribute_names.length > 0) {
+if (Object.keys(js_data.attribute_names).length > 0) {
populate_sample_attributes_values_dropdown();
}
$('#exclude_menu').change(populate_sample_attributes_values_dropdown);
@@ -547,21 +521,15 @@ block_by_index = function() {
}
} else {
index = parseInt(index_set);
- console.log("index:", index);
index_list.push(index);
}
}
- console.log("index_list:", index_list);
_results = [];
for (_k = 0, _len1 = index_list.length; _k < _len1; _k++) {
index = index_list[_k];
if ($('#block_group').val() === "primary") {
- console.log("block_group:", $('#block_group').val());
- console.log("row:", $('#Primary_' + index.toString()));
_results.push($('#Primary_' + index.toString()).find('.trait_value_input').val("x"));
} else if ($('#block_group').val() === "other") {
- console.log("block_group:", $('#block_group').val());
- console.log("row:", $('#Other_' + index.toString()));
_results.push($('#Other_' + index.toString()).find('.trait_value_input').val("x"));
} else {
_results.push(void 0);
@@ -592,9 +560,7 @@ reset_samples_table = function() {
$('input[name="transform"]').val("");
return $('.trait_value_input').each((function(_this) {
return function(_index, element) {
- console.log("value is:", $(element).val());
$(element).val($(element).data('value'));
- console.log("data-value is:", $(element).data('value'));
return $(element).parents('.value_se').show();
};
})(this));
@@ -629,6 +595,21 @@ sqrt_normalize_data = function() {
})(this));
};
+invert_data = function() {
+ return $('.edit_sample_value').each((function(_this) {
+ return function(_index, element) {
+ current_value = parseFloat($(element).val());
+ if(isNaN(current_value)) {
+ return current_value
+ } else {
+ $(element).val(-(current_value));
+ return -(current_value)
+ }
+ };
+ })(this));
+};
+
+
qnorm_data = function() {
return $('.edit_sample_value').each((function(_this) {
return function(_index, element) {
@@ -656,6 +637,9 @@ normalize_data = function() {
$('input[name="transform"]').val("sqrt")
}
}
+ else if ($('#norm_method option:selected').val() == 'invert'){
+ invert_data()
+ }
else if ($('#norm_method option:selected').val() == 'qnorm'){
if ($('input[name="transform"]').val() != "qnorm") {
qnorm_data()
@@ -696,7 +680,6 @@ get_sample_table_data = function(table_name) {
attribute_info = _ref[key];
row_data[attribute_info.name] = $.trim($(element).find('.column_name-' + attribute_info.name.replace(" ", "_")).text());
}
- console.log("row_data is:", row_data);
return samples.push(row_data);
};
})(this));
@@ -707,18 +690,14 @@ export_sample_table_data = function() {
sample_data = {};
sample_data.primary_samples = get_sample_table_data('samples_primary');
sample_data.other_samples = get_sample_table_data('samples_other');
- console.log("sample_data is:", sample_data);
json_sample_data = JSON.stringify(sample_data);
- console.log("json_sample_data is:", json_sample_data);
$('input[name=export_data]').val(json_sample_data);
- console.log("export_data is", $('input[name=export_data]').val());
format = $('input[name=export_format]').val();
if (format === "excel") {
$('#trait_data_form').attr('action', '/export_trait_excel');
} else {
$('#trait_data_form').attr('action', '/export_trait_csv');
}
- console.log("action is:", $('#trait_data_form').attr('action'));
return $('#trait_data_form').submit();
};
@@ -728,9 +707,7 @@ $('.export_format').change(function() {
});
$('.export').click(export_sample_table_data);
-console.log("before registering block_outliers");
$('#block_outliers').click(block_outliers);
-console.log("after registering block_outliers");
_.mixin(_.str.exports());
get_sample_vals = function(sample_list) {
diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html
index 36a25665..31a5b94e 100644
--- a/wqflask/wqflask/templates/search_result_page.html
+++ b/wqflask/wqflask/templates/search_result_page.html
@@ -117,7 +117,7 @@
</form>
<br />
- <div id="table_container">
+ <div id="table_container" style="width: 1400px;">
<table class="table-hover table-striped cell-border" id='trait_table' style="float: left;">
<tbody>
<td colspan="100%" align="center"><br><b><font size="15">Loading...</font></b><br></td>
@@ -224,10 +224,6 @@
}
$('td', row).eq(4).attr('title', $('td', row).eq(4).text());
$('td', row).eq(4).attr('data-export', $('td', row).eq(4).text());
- if ($('td', row).eq(4).text().length > 55) {
- $('td', row).eq(4).text($('td', row).eq(4).text().substring(0, 55));
- $('td', row).eq(4).text($('td', row).eq(4).text() + '...')
- }
$('td', row).slice(6,10).attr("align", "right");
$('td', row).eq(5).attr('data-export', $('td', row).eq(5).text());
$('td', row).eq(6).attr('data-export', $('td', row).eq(6).text());
@@ -237,16 +233,8 @@
{% elif dataset.type == 'Publish' %}
$('td', row).eq(3).attr('title', $('td', row).eq(3).text());
$('td', row).eq(3).attr('data-export', $('td', row).eq(3).text());
- if ($('td', row).eq(3).text().length > 20) {
- $('td', row).eq(3).text($('td', row).eq(3).text().substring(0, 20));
- $('td', row).eq(3).text($('td', row).eq(3).text() + '...')
- }
$('td', row).eq(4).attr('title', $('td', row).eq(4).text());
$('td', row).eq(4).attr('data-export', $('td', row).eq(4).text());
- if ($('td', row).eq(4).text().length > 55) {
- $('td', row).eq(4).text($('td', row).eq(4).text().substring(0, 55));
- $('td', row).eq(4).text($('td', row).eq(4).text() + '...')
- }
$('td', row).slice(6,9).attr("align", "right");
$('td', row).eq(5).attr('data-export', $('td', row).eq(5).text());
$('td', row).eq(6).attr('data-export', $('td', row).eq(6).text());
@@ -288,6 +276,7 @@
{
'title': "Description",
'type': "natural",
+ 'width': "500px",
'data': "description"
},
{
@@ -321,11 +310,13 @@
{
'title': "Description",
'type': "natural",
+ 'width': "500px",
'data': "description"
},
{
'title': "Authors",
'type': "natural",
+ 'width': "300px",
'data': "authors"
},
{
@@ -351,17 +342,20 @@
{
'title': "Max LRS Location",
'type': "natural",
+ 'width': "160px",
'data': "lrs_location"
},
{
- 'title': "Additive Effect<a href=\"http://genenetwork.org//glossary.html#A\" target=\"_blank\" style=\"color: white;\"><sup>?</sup></a>",
+ 'title': "Additive<br>Effect<a href=\"http://genenetwork.org//glossary.html#A\" target=\"_blank\" style=\"color: white;\"><sup>?</sup></a>",
'type': "natural",
+ 'width': "100px",
'data': "additive",
'orderSequence': [ "desc", "asc"]
}{% elif dataset.type == 'Geno' %},
{
'title': "Location",
'type': "natural",
+ 'width': "160px",
'data': "location"
}{% endif %}
],
diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html
index def40f5d..9d2cb7ed 100644
--- a/wqflask/wqflask/templates/show_trait.html
+++ b/wqflask/wqflask/templates/show_trait.html
@@ -10,7 +10,6 @@
<link rel="stylesheet" type="text/css" href="/static/new/packages/DataTables/css/jquery.dataTables.css" />
<link rel="stylesheet" type="text/css" href="/static/new/packages/noUiSlider/nouislider.css" />
<link rel="stylesheet" type="text/css" href="/static/new/packages/noUiSlider/nouislider.pips.css" />
- <link rel="stylesheet" type="text/css" href="/static/packages/DT_bootstrap/DT_bootstrap.css" />
<link rel="stylesheet" type="text/css" href="/static/new/css/show_trait.css" />
{% endblock %}
@@ -142,7 +141,6 @@
<script type="text/javascript" src="/static/new/javascript/scatter-matrix.js"></script>
<script type="text/javascript" src="/static/new/javascript/plotly_probability_plot.js"></script>
<script type="text/javascript" src="/static/new/javascript/compare_traits_scatterplot.js"></script>
- <script language="javascript" type="text/javascript" src="/static/new/javascript/get_covariates_from_collection.js"></script>
<script type="text/javascript" src="/static/new/javascript/show_trait_mapping_tools.js"></script>
<script type="text/javascript" src="/static/new/javascript/show_trait.js"></script>
@@ -152,6 +150,8 @@
<script language="javascript" type="text/javascript" src="/static/new/packages/DataTables/js/dataTables.scientific.js"></script>
<script language="javascript" type="text/javascript" src="/static/new/packages/DataTables/js/dataTables.naturalSort.js"></script>
<script language="javascript" type="text/javascript" src="/static/new/packages/noUiSlider/nouislider.js"></script>
+ <script language="javascript" type="text/javascript" src="/static/new/javascript/get_covariates_from_collection.js"></script>
+
<script type="text/javascript" charset="utf-8">
$.fn.dataTable.ext.order['dom-checkbox'] = function ( settings, col )
@@ -177,6 +177,22 @@
}
});
+ //ZS: This variable is just created to get the column position of the first case attribute, since it's needed to set the row classes in createdRow for the DataTable
+ {% if sample_groups[0].attributes|length > 0 %}
+ {% if sample_groups[0].se_exists() %}
+ {% if has_num_cases %}
+ attribute_start_pos = 6
+ {% else %}
+ attribute_start_pos = 5
+ {% endif %}
+ {% else %}
+ {% if has_num_cases %}
+ attribute_start_pos = 4
+ {% else %}
+ attribute_start_pos = 3
+ {% endif %}
+ {% endif %}
+ {% endif %}
$('#samples_primary').DataTable( {
'initComplete': function(settings, json) {
@@ -210,6 +226,11 @@
$('td', row).eq(4).addClass("column_name-num_cases")
$('td', row).eq(4).attr("style", "text-align: right; padding-top: 2px; padding-bottom: 0px;");
{% endif %} {% endif %}
+ {% if sample_groups[0].attributes|length > 0 %}
+ {% for attribute in sample_groups[0].attributes|sort() %}
+ $('td', row).eq(attribute_start_pos + {{ loop.index }}).addClass("column_name-{{ sample_groups[0].attributes[attribute].name }}")
+ {% endfor %}
+ {% endif %}
},
'data': js_data['sample_lists'][0],
'columns': [
@@ -335,6 +356,11 @@
$('td', row).eq(4).addClass("column_name-num_cases")
$('td', row).eq(4).attr("style", "text-align: right; padding-top: 2px; padding-bottom: 0px;");
{% endif %} {% endif %}
+ {% if sample_groups[1].attributes|length > 0 %}
+ {% for attribute in sample_groups[1].attributes|sort() %}
+ $('td', row).eq(attribute_start_pos + {{ loop.index }}).addClass("column_name-{{ sample_groups[1].attributes[attribute].name }}")
+ {% endfor %}
+ {% endif %}
},
'data': js_data['sample_lists'][1],
'columns': [
diff --git a/wqflask/wqflask/templates/show_trait_mapping_tools.html b/wqflask/wqflask/templates/show_trait_mapping_tools.html
index e7f3eca3..e79cf1ab 100644
--- a/wqflask/wqflask/templates/show_trait_mapping_tools.html
+++ b/wqflask/wqflask/templates/show_trait_mapping_tools.html
@@ -89,7 +89,7 @@
<button type="button" id="select_covariates" class="btn btn-default">Select</button>
<button type="button" id="remove_covariates" class="btn btn-default">Remove</button>
</div>
- <textarea rows="3" cols="20" readonly placeholder="No covariates selected" style="overflow-y: scroll; resize: none;" class="selected_covariates"></textarea>
+ <textarea rows="3" cols="50" readonly placeholder="No covariates selected" style="overflow-y: scroll; resize: none;" class="selected_covariates"></textarea>
{% endif %}
{% elif g.cookie_session.display_num_collections() == "" %}
No collections available. Please add traits to a collection to use them as covariates.
diff --git a/wqflask/wqflask/templates/show_trait_transform_and_filter.html b/wqflask/wqflask/templates/show_trait_transform_and_filter.html
index d1765778..04ceaeaf 100644
--- a/wqflask/wqflask/templates/show_trait_transform_and_filter.html
+++ b/wqflask/wqflask/templates/show_trait_transform_and_filter.html
@@ -54,6 +54,7 @@
<option value="log2">Log2</option>
<option value="qnorm">Quantile</option>
<option value="sqrt">Square Root</option>
+ <option value="invert">Invert +/-</option>
</select>
</div>
<!--