about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xwqflask/wqflask/templates/correlation_page.html17
-rw-r--r--wqflask/wqflask/templates/empty_collection.html15
-rwxr-xr-xwqflask/wqflask/templates/show_trait.html2
-rwxr-xr-xwqflask/wqflask/templates/show_trait_edit_data.html9
-rwxr-xr-xwqflask/wqflask/views.py73
5 files changed, 71 insertions, 45 deletions
diff --git a/wqflask/wqflask/templates/correlation_page.html b/wqflask/wqflask/templates/correlation_page.html
index 62407555..d44fd2d4 100755
--- a/wqflask/wqflask/templates/correlation_page.html
+++ b/wqflask/wqflask/templates/correlation_page.html
@@ -26,6 +26,7 @@
             <table id="corr_results" class="table table-hover table-striped">
                 <thead>
                     <tr>
+                        <th style="width: 30px;"></th>
                     {% for header in target_dataset.header_fields %}
                         {% if header == 'Max LRS' %}
                         <th style="text-align: right;">Max&nbsp;&nbsp;<br>LRS<a href="http://genenetwork.org//glossary.html#L" target="_blank"><sup style="color:#f00"> ?</sup></a></th>
@@ -78,10 +79,9 @@
                 <tbody>
                 {% for trait in correlation_results %}
                     <tr>
-                        <TD>{{ loop.index }}
-                            <INPUT TYPE="checkbox" NAME="result_trait" class="checkbox trait_checkbox"
-                                   VALUE="{{ data_hmac('{}:{}'.format(trait.name, target_dataset.name)) }}">
+                        <TD><INPUT TYPE="checkbox" NAME="searchResult" class="checkbox trait_checkbox" style="transform: scale(1.5);" VALUE="{{ data_hmac('{}:{}'.format(this_trait.name, this_trait.dataset.name)) }}">
                         </TD>
+                        <TD align="right">{{ loop.index }}</TD>
                         <TD>
                             <a href="{{ url_for('show_trait_page',
                                     trait_id = trait.name,
@@ -211,6 +211,8 @@
             console.time("Creating table");
 
             {% if target_dataset.type == "ProbeSet" %}
+
+
             $('#corr_results').dataTable( {
                 "columns": [
                     { "type": "natural" },
@@ -222,6 +224,7 @@
                     { "type": "natural" },
                     { "type": "natural" },
                     { "type": "natural" },
+                    { "type": "natural" },
                     { "type": "numeric-html" },
                     { "type": "natural" },
                     { "type": "natural" },
@@ -231,15 +234,10 @@
                 ],
                 "sDom": "RZtir",
                 "iDisplayLength": -1,
-                "autoWidth": true,
-                "bLengthChange": true,
                 "bDeferRender": true,
                 "bSortClasses": false,
                 //"scrollY": "700px",
                 //"scrollCollapse": false,
-                "colResize": {
-                    "tableWidthFixed": false
-                },
                 "paging": false
             } );
 
@@ -257,6 +255,7 @@
                     { "type": "natural" },
                     { "type": "natural" },
                     { "type": "natural" },
+                    { "type": "natural" },
                     { "type": "numeric-html" },
                     { "type": "natural" },
                     { "type": "natural" }
@@ -280,6 +279,7 @@
                     { "type": "natural" },
                     { "type": "natural" },
                     { "type": "natural" },
+                    { "type": "natural" },
                     { "type": "numeric-html" },
                     { "type": "natural" },
                     { "type": "natural" }
@@ -300,6 +300,7 @@
             {% endif %}
             console.timeEnd("Creating table");
 
+
         });
     </script>
 {% endblock %}
diff --git a/wqflask/wqflask/templates/empty_collection.html b/wqflask/wqflask/templates/empty_collection.html
new file mode 100644
index 00000000..3f2b3786
--- /dev/null
+++ b/wqflask/wqflask/templates/empty_collection.html
@@ -0,0 +1,15 @@
+{% extends "base.html" %}
+{% block title %}{{ tool }}{% endblock %}
+{% block content %}
+<!-- Start of body -->
+    {{ header("Error") }}
+
+    <div class="container">
+        <input type="hidden" name="uc_id" id="uc_id" value="{{ uc_id }}">
+        <p>You must select at least one trait to use the {{ tool }}.</p>
+    </div>
+
+
+<!-- End of body -->
+
+{% endblock %}
diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html
index 0709a82f..55464635 100755
--- a/wqflask/wqflask/templates/show_trait.html
+++ b/wqflask/wqflask/templates/show_trait.html
@@ -199,6 +199,7 @@
                 {% if sample_groups[0].se_exists() %} 
                 $('#samples_primary, #samples_other').DataTable( {
                     "columns": [
+                        { "bSortable": false },
                         { "type": "natural" },
                         { "type": "natural" },
                         { "type": "cust-txt" },
@@ -228,6 +229,7 @@
                     
                 $('#samples_primary, #samples_other').DataTable( {
                     "columns": [
+                        { "bSortable": false },
                         { "type": "natural" },
                         null,
                         { "type": "cust-txt" }
diff --git a/wqflask/wqflask/templates/show_trait_edit_data.html b/wqflask/wqflask/templates/show_trait_edit_data.html
index ca8e02de..d39df976 100755
--- a/wqflask/wqflask/templates/show_trait_edit_data.html
+++ b/wqflask/wqflask/templates/show_trait_edit_data.html
@@ -81,6 +81,7 @@
             <table class="table-hover table-striped" id="samples_{{ sample_type.sample_group_type }}" style="float: left;">
                 <thead>
                     <tr>
+                        <th></th>
                         <th>Index</th>
                         <th>Sample</th>
                         <th>Value</th>
@@ -98,13 +99,9 @@
                 <tbody>
                     {% for sample in sample_type.sample_list %}
                     <tr class="{{ sample.class_outlier }} value_se" id="{{ sample.this_id }}">
-                        <td class="column_name-Index">
-                            {{ loop.index }}
-                            <input type="checkbox" name="selectCheck"
-                                   class="checkbox edit_sample_checkbox"
-                                   value="{{ sample.name }}" checked="checked">
+                        <td class="column_name-"><input type="checkbox" name="selectCheck" class="checkbox edit_sample_checkbox" style="transform: scale(1.5);" value="{{ sample.name }}" checked="checked">
                         </td>
-        
+                        <td class="column_name-Index" align="right">{{ loop.index }}</td>
                         <td class="column_name-Sample">
                             <span class="edit_sample_sample_name">
                                 {{ sample.name }}
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index 3cff9a0c..7a8a0f03 100755
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -266,38 +266,43 @@ def heatmap_page():
     start_vars = request.form
     temp_uuid = uuid.uuid4()
     
-    version = "v5"
-    key = "heatmap:{}:".format(version) + json.dumps(start_vars, sort_keys=True)
-    print("key is:", pf(key))
-    with Bench("Loading cache"):
-        result = Redis.get(key)
+    traits = [trait.strip() for trait in start_vars['trait_list'].split(',')]
+    if traits[0] != "":
+        version = "v5"
+        key = "heatmap:{}:".format(version) + json.dumps(start_vars, sort_keys=True)
+        print("key is:", pf(key))
+        with Bench("Loading cache"):
+            result = Redis.get(key)
         
-    if result:
-        print("Cache hit!!!")
-        with Bench("Loading results"):
-            result = pickle.loads(result)
+        if result:
+            print("Cache hit!!!")
+            with Bench("Loading results"):
+                result = pickle.loads(result)
     
-    else:
-        print("Cache miss!!!")
+        else:
+            print("Cache miss!!!")
     
-        template_vars = heatmap.Heatmap(request.form, temp_uuid)
-        template_vars.js_data = json.dumps(template_vars.js_data,
-                                           default=json_default_handler,
-                                           indent="   ")
+            template_vars = heatmap.Heatmap(request.form, temp_uuid)
+            template_vars.js_data = json.dumps(template_vars.js_data,
+                                               default=json_default_handler,
+                                               indent="   ")
         
-        result = template_vars.__dict__
-    
-        for item in template_vars.__dict__.keys():
-            print("  ---**--- {}: {}".format(type(template_vars.__dict__[item]), item))
-    
-        pickled_result = pickle.dumps(result, pickle.HIGHEST_PROTOCOL)
-        print("pickled result length:", len(pickled_result))
-        Redis.set(key, pickled_result)
-        Redis.expire(key, 60*60)
+            result = template_vars.__dict__
+
+            for item in template_vars.__dict__.keys():
+                print("  ---**--- {}: {}".format(type(template_vars.__dict__[item]), item))
     
-    with Bench("Rendering template"):
-        rendered_template = render_template("heatmap.html", **result)
+            pickled_result = pickle.dumps(result, pickle.HIGHEST_PROTOCOL)
+            print("pickled result length:", len(pickled_result))
+            Redis.set(key, pickled_result)
+            Redis.expire(key, 60*60)
     
+        with Bench("Rendering template"):
+            rendered_template = render_template("heatmap.html", **result)
+     
+    else:
+        rendered_template = render_template("empty_collection.html", **{'tool':'Heatmap'})
+
     return rendered_template
 
 @app.route("/mapping_results_container")
@@ -470,12 +475,18 @@ def corr_compute_page():
 @app.route("/corr_matrix", methods=('POST',))
 def corr_matrix_page():
     print("In corr_matrix, request.form is:", pf(request.form))
-    template_vars = show_corr_matrix.CorrelationMatrix(request.form)
-    template_vars.js_data = json.dumps(template_vars.js_data,
-                                       default=json_default_handler,
-                                       indent="   ")
+
+    start_vars = request.form
+    traits = [trait.strip() for trait in start_vars['trait_list'].split(',')]
+    if traits[0] != "":
+        template_vars = show_corr_matrix.CorrelationMatrix(start_vars)
+        template_vars.js_data = json.dumps(template_vars.js_data,
+                                           default=json_default_handler,
+                                           indent="   ")
     
-    return render_template("correlation_matrix.html", **template_vars.__dict__)
+        return render_template("correlation_matrix.html", **template_vars.__dict__)
+    else:
+        return render_template("empty_collection.html", **{'tool':'Correlation Matrix'})
 
 @app.route("/corr_scatter_plot")
 def corr_scatter_plot_page():