about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--wqflask/wqflask/templates/gn3_wgcna_results.html (renamed from wqflask/wqflask/templates/test_wgcna_results.html)35
-rw-r--r--wqflask/wqflask/views.py2
-rw-r--r--wqflask/wqflask/wgcna/gn3_wgcna.py13
3 files changed, 42 insertions, 8 deletions
diff --git a/wqflask/wqflask/templates/test_wgcna_results.html b/wqflask/wqflask/templates/gn3_wgcna_results.html
index 952f479e..8a31bf28 100644
--- a/wqflask/wqflask/templates/test_wgcna_results.html
+++ b/wqflask/wqflask/templates/gn3_wgcna_results.html
@@ -75,6 +75,12 @@
 
     {% else %}
     <div>
+        <div>
+            <h2 style="text-align:center;">Parameters used</h2>
+
+            <table id="summary" class="display"  width="40vw" ></table>
+
+        </div>
         <div >
             <h2 style="text-align:center">Soft Thresholds </h2>
             <div class="grid_container">
@@ -133,13 +139,34 @@
 <script type="text/javascript">
 
 
-let results = {{results|safe}}
-
-let phenoModules = results["data"]["output"]["net_colors"]
+let phenoModules = {{results|safe}}["data"]["output"]["net_colors"]
 let phenotypes = Object.keys(phenoModules)
 let phenoMods = Object.values(phenoModules)
 
 let {col_names,mod_dataset} = {{data|safe}}
+const summary = {
+  modules_found:phenoMods.length,
+  ...{{parameters|safe}}
+  
+}
+
+    $("#summary").DataTable( {
+
+        data: Object.keys(summary).map((key)=>{
+            return [key,summary[key]]
+        }),
+        columns: [ {
+            title: "parameter",
+
+        },
+
+        {
+            title:" param_values"
+        }
+        ]
+    })
+
+
     $('#eigens').DataTable( {
         data: mod_dataset,
         columns: col_names.map((name)=>{
@@ -162,4 +189,4 @@ let {col_names,mod_dataset} = {{data|safe}}
 
 
 </script>
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index b2cf95fb..31e31875 100644
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -345,7 +345,7 @@ def wcgna_setup():
 def wcgna_results():
     """call the gn3 api to get wgcna response data"""
     results = run_wgcna(dict(request.form))
-    return render_template("test_wgcna_results.html", **results)
+    return render_template("gn3_wgcna_results.html", **results)
 
 @app.route("/ctl_setup", methods=('POST',))
 def ctl_setup():
diff --git a/wqflask/wqflask/wgcna/gn3_wgcna.py b/wqflask/wqflask/wgcna/gn3_wgcna.py
index 7bf5c62b..ab7fe46c 100644
--- a/wqflask/wqflask/wgcna/gn3_wgcna.py
+++ b/wqflask/wqflask/wgcna/gn3_wgcna.py
@@ -76,8 +76,6 @@ def run_wgcna(form_data):
 
     wgcna_api = f"{GN3_LOCAL_URL}/api/wgcna/run_wgcna"
 
-    # parse form data
-
     trait_dataset = fetch_trait_data(form_data)
     form_data["minModuleSize"] = int(form_data["MinModuleSize"])
 
@@ -86,8 +84,10 @@ def run_wgcna(form_data):
 
     try:
 
+        unique_strains = list(set(trait_dataset["sample_names"]))
+
         response = requests.post(wgcna_api, json={
-            "sample_names": list(set(trait_dataset["sample_names"])),
+            "sample_names": unique_strains,
             "trait_names": trait_dataset["trait_names"],
             "trait_sample_data": list(trait_dataset["input"].values()),
             **form_data
@@ -98,8 +98,15 @@ def run_wgcna(form_data):
         status_code = response.status_code
         response = response.json()
 
+        parameters = {
+            "nstrains": len(unique_strains),
+            "nphe": len(trait_dataset["trait_names"]),
+            **{key: val for key, val in form_data.items() if key not in ["trait_list"]}
+        }
+
         return {"error": response} if status_code != 200 else {
             "error": 'null',
+            "parameters": parameters,
             "results": response,
             "data": process_wgcna_data(response["data"]),
             "image": process_image(response["data"])