diff options
author | zsloan | 2019-03-01 15:37:36 -0600 |
---|---|---|
committer | zsloan | 2019-03-01 15:37:36 -0600 |
commit | 7fe9c2f3cb0405fda115f5ba66eb06da65189652 (patch) | |
tree | a661a4a451dbdd298758228e301fc3ce83f51bf6 | |
parent | e14f913da79111c3db8d6faced45d92281865cb1 (diff) | |
download | genenetwork2-7fe9c2f3cb0405fda115f5ba66eb06da65189652.tar.gz |
Changed loading page to work for any feature, instead of having to make a separate one like I did for correlation previously
Fixed some wrong text on heatmap page
-rw-r--r-- | wqflask/wqflask/static/new/javascript/search_results.js | 30 | ||||
-rw-r--r-- | wqflask/wqflask/static/new/javascript/show_trait.js | 13 | ||||
-rw-r--r-- | wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js | 26 | ||||
-rw-r--r-- | wqflask/wqflask/templates/collections/view.html | 2 | ||||
-rw-r--r-- | wqflask/wqflask/templates/correlation_page.html | 2 | ||||
-rw-r--r-- | wqflask/wqflask/templates/heatmap.html | 4 | ||||
-rw-r--r-- | wqflask/wqflask/templates/loading.html | 8 | ||||
-rw-r--r-- | wqflask/wqflask/templates/loading_correlation.html | 24 | ||||
-rw-r--r-- | wqflask/wqflask/templates/search_result_page.html | 2 | ||||
-rw-r--r-- | wqflask/wqflask/templates/show_trait.html | 3 | ||||
-rw-r--r-- | wqflask/wqflask/views.py | 95 |
11 files changed, 64 insertions, 145 deletions
diff --git a/wqflask/wqflask/static/new/javascript/search_results.js b/wqflask/wqflask/static/new/javascript/search_results.js index ebb1651d..86e7d63e 100644 --- a/wqflask/wqflask/static/new/javascript/search_results.js +++ b/wqflask/wqflask/static/new/javascript/search_results.js @@ -228,48 +228,54 @@ $(function() { return $(this).val(); }).get(); $("#trait_list").val(traits) - url = $(this).data("url") - return submit_special(url) + $("input[name=tool_used]").val("Correlation Matrix") + $("input[name=form_url]").val($(this).data("url")) + return submit_special("/loading") }); $("#network_graph").on("click", function() { traits = $("#trait_table input:checked").map(function() { return $(this).val(); }).get(); $("#trait_list").val(traits) - url = $(this).data("url") - return submit_special(url) + $("input[name=tool_used]").val("Network Graph") + $("input[name=form_url]").val($(this).data("url")) + return submit_special("/loading") }); $("#wgcna_setup").on("click", function() { traits = $("#trait_table input:checked").map(function() { return $(this).val(); }).get(); $("#trait_list").val(traits) - url = $(this).data("url") - return submit_special(url) + $("input[name=tool_used]").val("WGCNA Setup") + $("input[name=form_url]").val($(this).data("url")) + return submit_special("/loading") }); $("#ctl_setup").on("click", function() { traits = $("#trait_table input:checked").map(function() { return $(this).val(); }).get(); $("#trait_list").val(traits) - url = $(this).data("url") - return submit_special(url) + $("input[name=tool_used]").val("CTL Setup") + $("input[name=form_url]").val($(this).data("url")) + return submit_special("/loading") }); $("#heatmap").on("click", function() { traits = $("#trait_table input:checked").map(function() { return $(this).val(); }).get(); $("#trait_list").val(traits) - url = $(this).data("url") - return submit_special(url) + $("input[name=tool_used]").val("Heatmap") + $("input[name=form_url]").val($(this).data("url")) + return submit_special("/loading") }); $("#comp_bar_chart").on("click", function() { traits = $("#trait_table input:checked").map(function() { return $(this).val(); }).get(); $("#trait_list").val(traits) - url = $(this).data("url") - return submit_special(url) + $("input[name=tool_used]").val("Comparison Bar Chart") + $("input[name=form_url]").val($(this).data("url")) + return submit_special("/loading") }); $("#send_to_webgestalt, #send_to_bnw, #send_to_geneweaver").on("click", function() { diff --git a/wqflask/wqflask/static/new/javascript/show_trait.js b/wqflask/wqflask/static/new/javascript/show_trait.js index f278b840..e985078b 100644 --- a/wqflask/wqflask/static/new/javascript/show_trait.js +++ b/wqflask/wqflask/static/new/javascript/show_trait.js @@ -445,16 +445,15 @@ submit_special = function(url) { return $("#trait_data_form").submit(); }; -submit_corr = function(){ - var url; - url = "/corr_loading"; - return submit_special(url); -}; +var corr_input_list = ['corr_type', 'trait_id', 'dataset', 'group', 'tool_used', 'form_url', 'corr_sample_method', 'corr_samples_group', 'corr_dataset', 'min_expr', + 'corr_return_results', 'loc_chr', 'min_loc_mb', 'max_loc_mb', 'p_range_lower', 'p_range_upper'] $(".corr_compute").on("click", (function(_this) { return function() { - var url; - url = "/corr_loading"; + $('input[name=tool_used]').val("Correlation"); + $('input[name=form_url]').val("/corr_compute"); + $('input[name=wanted_inputs]').val(corr_input_list.join(",")); + url = "/loading"; return submit_special(url); }; })(this)); diff --git a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js b/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js index 4e82fff2..d9cf50e2 100644 --- a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js +++ b/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js @@ -4,9 +4,6 @@ submit_special = function(url) { console.log("In submit_special"); - console.log("this is:", this); - console.log("$(this) is:", $(this)); - console.log("url is:", url); $("#trait_data_form").attr("action", url); return $("#trait_data_form").submit(); }; @@ -154,6 +151,13 @@ }; })(this)); + //ZS: This is a list of inputs to be passed to the loading page, since not all inputs on the trait page are relevant to mapping + var mapping_input_list = ['temp_uuid', 'trait_id', 'dataset', 'tool_used', 'form_url', 'method', 'trimmed_markers', 'selected_chr', 'chromosomes', 'mapping_scale', + 'score_type', 'suggestive', 'significant', 'num_perm', 'permCheck', 'perm_output', 'num_bootstrap', 'bootCheck', 'bootstrap_results', + 'LRSCheck', 'covariates', 'maf', 'use_loco', 'manhattan_plot', 'control_marker', 'control_marker_db', 'do_control', 'genofile', + 'pair_scan', 'startMb', 'endMb', 'graphWidth', 'lrsMax', 'additiveCheck', 'showSNP', 'showGenes', 'viewLegend', 'haplotypeAnalystCheck', + 'mapmethod_rqtl_geno', 'mapmodel_rqtl_geno', 'temp_trait', 'group', 'species'] + $("#rqtl_geno_compute").on("click", (function(_this) { return function() { var form_data, url; @@ -165,10 +169,10 @@ $('input[name=manhattan_plot]').val($('input[name=manhattan_plot_rqtl]:checked').val()); $('input[name=control_marker]').val($('input[name=control_rqtl_geno]').val()); $('input[name=do_control]').val($('input[name=do_control_rqtl]:checked').val()); - form_data = $('#trait_data_form').serialize(); - console.log("form_data is:", form_data); + $('input[name=tool_used]').val("Mapping"); + $('input[name=form_url]').val("/run_mapping"); + $('input[name=wanted_inputs]').val(mapping_input_list.join(",")); if ($('input[name=pair_scan]:checked').val() == "true") { - console.log("PAIR SCAN:", $('input[name=pair_scan]:checked').val()) run_pair_scan = confirm(runtime_warning_text) if (run_pair_scan == true) { submit_special(url); @@ -193,8 +197,8 @@ $('input[name=num_perm]').val(0); $('input[name=genofile]').val($('#genofile_gemma').val()); $('input[name=maf]').val($('input[name=maf_gemma]').val()); - form_data = $('#trait_data_form').serialize(); - console.log("form_data is:", form_data); + $('input[name=tool_used]').val("Mapping"); + $('input[name=wanted_inputs]').val(mapping_input_list.join(",")); return submit_special(url); }; })(this)); @@ -203,7 +207,6 @@ return function() { var form_data, url; console.log("In interval mapping"); - //$("#progress_bar_container").modal(); url = "/loading"; $('input[name=method]').val("reaper"); $('input[name=selected_chr]').val($('#chr_reaper').val()); @@ -214,10 +217,9 @@ $('input[name=manhattan_plot]').val($('input[name=manhattan_plot_reaper]:checked').val()); $('input[name=mapping_display_all]').val($('input[name=display_all_reaper]')); $('input[name=suggestive]').val($('input[name=suggestive_reaper]')); - form_data = $('#trait_data_form').serialize(); - console.log("form_data is:", form_data); + $('input[name=tool_used]').val("Mapping"); + $('input[name=wanted_inputs]').val(mapping_input_list.join(",")); return submit_special(url); - //return do_ajax_post(url, form_data); }; })(this)); diff --git a/wqflask/wqflask/templates/collections/view.html b/wqflask/wqflask/templates/collections/view.html index 75b65b5a..a000b07d 100644 --- a/wqflask/wqflask/templates/collections/view.html +++ b/wqflask/wqflask/templates/collections/view.html @@ -24,6 +24,8 @@ <input type="hidden" name="uc_id" id="uc_id" value="{{ uc.id }}" /> {% endif %} <input type="hidden" name="collection_name" id="collection_name" value="{{ collection_name }}" /> + <input type="hidden" name="tool_used" value="" /> + <input type="hidden" name="form_url" value="" /> <input type="hidden" name="trait_list" id="trait_list" value= " {% for this_trait in trait_obs %} {{ this_trait.name }}:{{ this_trait.dataset.name }}, diff --git a/wqflask/wqflask/templates/correlation_page.html b/wqflask/wqflask/templates/correlation_page.html index 2b5a7f33..427dacc9 100644 --- a/wqflask/wqflask/templates/correlation_page.html +++ b/wqflask/wqflask/templates/correlation_page.html @@ -21,6 +21,8 @@ <div> <form id="correlation_form" target="_blank" action="/corr_matrix" method="post"> + <input type="hidden" name="tool_used" value="" /> + <input type="hidden" name="form_url" value="" /> <input type="hidden" name="trait_list" id="trait_list" value= " {% for this_trait in trait_list %} {{ this_trait.name }}:{{ this_trait.dataset }}, diff --git a/wqflask/wqflask/templates/heatmap.html b/wqflask/wqflask/templates/heatmap.html index 68880829..3abac194 100644 --- a/wqflask/wqflask/templates/heatmap.html +++ b/wqflask/wqflask/templates/heatmap.html @@ -12,8 +12,8 @@ <div> <h3> The following heatmap is a work in progress. The heatmap for each trait runs horizontally (as opposed to vertically in GeneNetwork 1), - and hovering over a given trait's heatmap track will display its corresponding QTL chart below. Black on the heatmap corresponds with a - low positive or negative z-score (darker when closer to 0), while light blue and yellow correspond to high negative and positive z-scores respectively. + and hovering over a given trait's heatmap track will display its corresponding QTL chart below. White on the heatmap corresponds with a + low positive or negative z-score (darker when closer to 0), while light blue and red correspond to high negative and positive z-scores respectively. </h3> </div> <div id="chart_container"> diff --git a/wqflask/wqflask/templates/loading.html b/wqflask/wqflask/templates/loading.html index 99fa4a89..25560249 100644 --- a/wqflask/wqflask/templates/loading.html +++ b/wqflask/wqflask/templates/loading.html @@ -1,6 +1,6 @@ -<title>Loading Mapping Results</title> +<title>Loading {{ start_vars.tool_used }} Results</title> <link REL="stylesheet" TYPE="text/css" href="/static/packages/bootstrap/css/bootstrap.css" /> -<form method="post" action="/run_mapping" name="loading_form" id="loading_form" class="form-horizontal"> +<form method="post" action="" name="loading_form" id="loading_form" class="form-horizontal"> {% for key, value in start_vars.iteritems() %} <input type="hidden" name="{{ key }}" value="{{ value }}"> {% endfor %} @@ -8,7 +8,7 @@ <div> <div style="min-height: 80vh; display: flex; align-items: center;"> <div style="margin-bottom: 10px; left: 50%; margin-right: -50%; transform: translate(-50%, -50%); position: absolute;"> - <h1>Loading Mapping Results...</h1> + <h1>Loading {{ start_vars.tool_used }} Results...</h1> </div> <div class="progress center-block" style="margin-top: 5px; margin-left: 25%; margin-right: 25%; position: absolute; height:50px; width:50%; top:50%;"> <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width:100%;"></div> @@ -20,5 +20,7 @@ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="/static/packages/bootstrap/js/bootstrap.min.js"></script> <script type="text/javascript"> + +$("#loading_form").attr("action", "{{ start_vars.form_url }}"); $("#loading_form").submit(); </script>
\ No newline at end of file diff --git a/wqflask/wqflask/templates/loading_correlation.html b/wqflask/wqflask/templates/loading_correlation.html deleted file mode 100644 index 2017c3de..00000000 --- a/wqflask/wqflask/templates/loading_correlation.html +++ /dev/null @@ -1,24 +0,0 @@ -<title>Loading Correlation Results</title> -<link REL="stylesheet" TYPE="text/css" href="/static/packages/bootstrap/css/bootstrap.css" /> -<form method="post" action="/corr_compute" name="loading_form" id="loading_form" class="form-horizontal"> - {% for key, value in start_vars.iteritems() %} - <input type="hidden" name="{{ key }}" value="{{ value }}"> - {% endfor %} - <div class="container"> - <div> - <div style="min-height: 80vh; display: flex; align-items: center;"> - <div style="margin-bottom: 10px; left: 50%; margin-right: -50%; transform: translate(-50%, -50%); position: absolute;"> - <h1>Loading Correlation Results...</h1> - </div> - <div class="progress center-block" style="margin-top: 5px; margin-left: 25%; margin-right: 25%; position: absolute; height:50px; width:50%; top:50%;"> - <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width:100%;"></div> - </div> - </div> - </div> - </div> -</form> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> -<script src="/static/packages/bootstrap/js/bootstrap.min.js"></script> -<script type="text/javascript"> -$("#loading_form").submit(); -</script>
\ No newline at end of file diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html index 5f529edb..a0ef4ab4 100644 --- a/wqflask/wqflask/templates/search_result_page.html +++ b/wqflask/wqflask/templates/search_result_page.html @@ -51,6 +51,8 @@ <div> <form id="trait_submission_form" target="_blank" action="/corr_matrix" method="post"> + <input type="hidden" name="tool_used" value="" /> + <input type="hidden" name="form_url" value="" /> <input type="hidden" name="trait_list" id="trait_list" value= " {% for this_trait in trait_list %} {{ this_trait.name }}:{{ this_trait.dataset }}, diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html index d7d85741..3bd57f89 100644 --- a/wqflask/wqflask/templates/show_trait.html +++ b/wqflask/wqflask/templates/show_trait.html @@ -32,6 +32,9 @@ </div> <input type="hidden" name="temp_uuid" id="temp_uuid" value="{{ temp_uuid }}"> + <input type="hidden" name="tool_used" value=""> + <input type="hidden" name="form_url" value=""> + <input type="hidden" name="wanted_inputs" value=""> <input type="hidden" name="genofile" value=""> <input type="hidden" name="covariates" value=""> <input type="hidden" name="transform" value=""> diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index 3aea2541..67e83366 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -550,58 +550,17 @@ def mapping_results_container_page(): def loading_page(): logger.info(request.url) initial_start_vars = request.form - logger.debug("Marker regression called with initial_start_vars:", initial_start_vars.items()) - #temp_uuid = initial_start_vars['temp_uuid'] - wanted = ( - 'temp_uuid', - 'trait_id', - 'dataset', - 'method', - 'trimmed_markers', - 'selected_chr', - 'chromosomes', - 'mapping_scale', - 'score_type', - 'suggestive', - 'significant', - 'num_perm', - 'permCheck', - 'perm_output', - 'num_bootstrap', - 'bootCheck', - 'bootstrap_results', - 'LRSCheck', - 'covariates', - 'maf', - 'use_loco', - 'manhattan_plot', - 'control_marker', - 'control_marker_db', - 'do_control', - 'genofile', - 'pair_scan', - 'startMb', - 'endMb', - 'graphWidth', - 'lrsMax', - 'additiveCheck', - 'showSNP', - 'showGenes', - 'viewLegend', - 'haplotypeAnalystCheck', - 'mapmethod_rqtl_geno', - 'mapmodel_rqtl_geno', - 'temp_trait', - 'group', - 'species' - ) start_vars_container = {} - start_vars = {} - for key, value in initial_start_vars.iteritems(): - if key in wanted or key.startswith(('value:')): - start_vars[key] = value - - start_vars_container['start_vars'] = start_vars + if 'wanted_inputs' in initial_start_vars: + wanted = initial_start_vars['wanted_inputs'].split(",") + start_vars = {} + for key, value in initial_start_vars.iteritems(): + if key in wanted or key.startswith(('value:')): + start_vars[key] = value + + start_vars_container['start_vars'] = start_vars + else: + start_vars_container['start_vars'] = initial_start_vars rendered_template = render_template("loading.html", **start_vars_container) return rendered_template @@ -773,40 +732,6 @@ def network_graph_page(): else: return render_template("empty_collection.html", **{'tool':'Network Graph'}) -@app.route("/corr_loading", methods=('POST',)) -def corr_loading_page(): - logger.info(request.url) - initial_start_vars = request.form - logger.debug("Marker regression called with initial_start_vars:", initial_start_vars.items()) - #temp_uuid = initial_start_vars['temp_uuid'] - wanted = ( - 'corr_type', - 'trait_id', - 'dataset', - 'group', - 'corr_sample_method', - 'corr_samples_group', - 'corr_dataset', - 'min_expr', - 'corr_return_results', - 'loc_chr', - 'min_loc_mb', - 'max_loc_mb', - 'p_range_lower', - 'p_range_upper' - ) - start_vars_container = {} - start_vars = {} - for key, value in initial_start_vars.iteritems(): - if key in wanted or key.startswith(('value:')): - start_vars[key] = value - - start_vars_container['start_vars'] = start_vars - rendered_template = render_template("loading_correlation.html", **start_vars_container) - - return rendered_template - - @app.route("/corr_compute", methods=('POST',)) def corr_compute_page(): logger.info("In corr_compute, request.form is:", pf(request.form)) |