about summary refs log tree commit diff
path: root/gn3/api
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/api')
-rw-r--r--gn3/api/wgcna.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/gn3/api/wgcna.py b/gn3/api/wgcna.py
new file mode 100644
index 0000000..fa044cf
--- /dev/null
+++ b/gn3/api/wgcna.py
@@ -0,0 +1,25 @@
+"""endpoint to run wgcna analysis"""
+from flask import Blueprint
+from flask import request
+from flask import current_app
+from flask import jsonify
+
+from gn3.computations.wgcna import call_wgcna_script
+
+wgcna = Blueprint("wgcna", __name__)
+
+
+@wgcna.route("/run_wgcna", methods=["POST"])
+def run_wgcna():
+    """run wgcna:output should be a json with a the data"""
+
+    wgcna_data = request.json
+
+    wgcna_script = current_app.config["WGCNA_RSCRIPT"]
+
+    results = call_wgcna_script(wgcna_script, wgcna_data)
+
+    if results.get("data") is None:
+        return jsonify(results), 401
+
+    return jsonify(results), 200