From 4b4007f00f26afadc42d451c78e1253235ad65f3 Mon Sep 17 00:00:00 2001 From: zsloan Date: Fri, 22 Feb 2019 17:07:58 -0600 Subject: Fixed some appearance issues with several tables Fixed issue where cofactor selection screens were broken Changed case attributes to be applied across groups, though need to discuss this with Rob since it shouldn't always be done this way Added new inversion transformation --- wqflask/base/trait.py | 4 ++ wqflask/utility/Plot.py | 3 - wqflask/wqflask/search_results.py | 11 ++- wqflask/wqflask/show_trait/SampleList.py | 32 ++++----- wqflask/wqflask/show_trait/show_trait.py | 22 ++++++ .../new/javascript/dataset_menu_structure.json | 79 ++++++++++++---------- .../javascript/get_covariates_from_collection.js | 76 ++++++++++++++++++--- .../wqflask/static/new/javascript/show_trait.js | 65 ++++++------------ wqflask/wqflask/templates/search_result_page.html | 22 +++--- wqflask/wqflask/templates/show_trait.html | 30 +++++++- .../templates/show_trait_mapping_tools.html | 2 +- .../templates/show_trait_transform_and_filter.html | 1 + 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 " --> %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" ] @@ -1712,11 +1712,6 @@ }, "B6D2F2": { "Brain mRNA": [ - [ - "77", - "BRF2_M_0805_R", - "OHSU/VA B6D2F2 Brain mRNA M430 (Aug05) RMA" - ], [ "76", "BRF2_M_0805_M", @@ -1727,6 +1722,11 @@ "BRF2_M_0805_P", "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", @@ -2081,16 +2081,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", @@ -2232,11 +2232,6 @@ "Eye_M2_0908_R_ND", "Eye M430v2 WT Gpnmb (Sep08) RMA" ], - [ - "279", - "Eye_M2_0908_R_WT", - "Eye M430v2 WT Tyrp1 (Sep08) RMA" - ], [ "278", "Eye_M2_0908_R_MT", @@ -2247,6 +2242,11 @@ "Eye_M2_0908_WTWT", "Eye M430v2 WT WT (Sep08) RMA" ], + [ + "279", + "Eye_M2_0908_R_WT", + "Eye M430v2 WT Tyrp1 (Sep08) RMA" + ], [ "400", "DBA2J-ONH-1212", @@ -2530,16 +2530,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", @@ -2691,6 +2691,11 @@ "EPFLMouseLiverHFDRMA0413", "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", @@ -2701,11 +2706,6 @@ "EPFLMouseLiverCDRMA0413", "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", @@ -3121,6 +3121,13 @@ ] }, "BXD-Harvested": { + "Hippocampus mRNA": [ + [ + "873", + "JAX-BXD-Hip-Pro-0219", + "JAX BXD Hippocampal Proteome (Feb19)" + ] + ], "Liver mRNA": [ [ "843", @@ -3538,11 +3545,6 @@ ] ], "Hippocampus mRNA": [ - [ - "213", - "Illum_LXS_Hipp_NOS_1008", - "Hippocampus Illumina NOS (Oct08) RankInv beta" - ], [ "219", "Illum_LXS_Hipp_NON_1008", @@ -3563,6 +3565,11 @@ "Illum_LXS_Hipp_RSS_1008", "Hippocampus Illumina RSS (Oct08) RankInv beta" ], + [ + "213", + "Illum_LXS_Hipp_NOS_1008", + "Hippocampus Illumina NOS (Oct08) RankInv beta" + ], [ "143", "Illum_LXS_Hipp_loess0807", @@ -5332,6 +5339,10 @@ "Phenotypes", "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 = ""; the_html += " "; - the_html += ""; - the_html += ""; + the_html += "
RecordData SetDescriptionMean
"; + the_html += ""; the_html += ""; for (_i = 0, _len = trait_data.length; _i < _len; _i++) { trait = trait_data[_i]; the_html += ""; the_html += ""; the_html += ""; - the_html += ""; - the_html += ""; - the_html += ""; + the_html += ""; + the_html += ""; } the_html += ""; the_html += "
RecordData SetDescription
" + trait.name + "" + trait.dataset + "" + trait.description + "" + (trait.mean || ' ') + "
" + trait.dataset_name + "" + trait.description + "
"; 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 @@
-
+
@@ -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?", + 'title': "Additive
Effect?", '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 @@ - {% endblock %} @@ -142,7 +141,6 @@ - @@ -152,6 +150,8 @@ + +

Loading...