aboutsummaryrefslogtreecommitdiff
path: root/gn3
diff options
context:
space:
mode:
Diffstat (limited to 'gn3')
-rw-r--r--gn3/api/rqtl.py13
-rw-r--r--gn3/computations/rqtl.py50
2 files changed, 31 insertions, 32 deletions
diff --git a/gn3/api/rqtl.py b/gn3/api/rqtl.py
index 82cf34f..7756310 100644
--- a/gn3/api/rqtl.py
+++ b/gn3/api/rqtl.py
@@ -1,5 +1,4 @@
-import os
-
+"""Endpoints for running the rqtl cmd"""
from flask import Blueprint
from flask import current_app
from flask import jsonify
@@ -12,8 +11,10 @@ rqtl = Blueprint("rqtl", __name__)
@rqtl.route("/compute", methods=["POST"])
def compute():
- working_dir = os.path.join(current_app.config.get("TMPDIR"))
+ """Given at least a geno_file and pheno_file, generate and
+run the rqtl_wrapper script and return the results as JSON
+ """
genofile = request.form['geno_file']
phenofile = request.form['pheno_file']
@@ -28,10 +29,8 @@ def compute():
rqtl_kwargs[kwarg] = request.form[kwarg]
results = generate_rqtl_cmd(
- rqtl_wrapper_cmd = current_app.config.get("RQTL_WRAPPER_CMD"),
- output_dir = current_app.config.get('TMPDIR'),
- rqtl_wrapper_kwargs = rqtl_kwargs
+ rqtl_wrapper_cmd=current_app.config.get("RQTL_WRAPPER_CMD"),
+ rqtl_wrapper_kwargs=rqtl_kwargs
)
return jsonify(results)
-
diff --git a/gn3/computations/rqtl.py b/gn3/computations/rqtl.py
index 087a99f..0e8cd1f 100644
--- a/gn3/computations/rqtl.py
+++ b/gn3/computations/rqtl.py
@@ -1,25 +1,25 @@
-"""Procedures related rqtl computations"""
-import os
-
-from typing import Dict
-from gn3.commands import compose_rqtl_cmd
-from gn3.fs_helpers import get_hash_of_files
-
-def generate_rqtl_cmd(rqtl_wrapper_cmd: str,
- output_dir: str,
- rqtl_wrapper_kwargs: Dict) -> Dict:
-
- _hash = get_hash_of_files(
- [v for k, v in rqtl_wrapper_kwargs.items() if k in ["g", "p", "addcovar",
- "model", "method",
- "interval", "nperm",
- "scale", "control"]])
-
- _output_filename = f"{_hash}-output.json"
- return {
- "output_file":
- _output_filename,
- "rqtl_cmd":
- compose_rqtl_cmd(rqtl_wrapper_cmd=rqtl_wrapper_cmd,
- rqtl_wrapper_kwargs=rqtl_wrapper_kwargs)
- } \ No newline at end of file
+"""Procedures related rqtl computations"""
+
+from typing import Dict
+from gn3.commands import compose_rqtl_cmd
+from gn3.fs_helpers import get_hash_of_files
+
+def generate_rqtl_cmd(rqtl_wrapper_cmd: str,
+ rqtl_wrapper_kwargs: Dict) -> Dict:
+ """Given the base rqtl_wrapper command and
+dict of keyword arguments, return the full rqtl_wrapper command and an
+output filename generated from a hash of the genotype and phenotype files
+
+ """
+
+ _hash = get_hash_of_files(
+ [v for k, v in rqtl_wrapper_kwargs.items() if k in ["g", "p"]])
+
+ _output_filename = f"{_hash}-output.json"
+ return {
+ "output_file":
+ _output_filename,
+ "rqtl_cmd":
+ compose_rqtl_cmd(rqtl_wrapper_cmd=rqtl_wrapper_cmd,
+ rqtl_wrapper_kwargs=rqtl_wrapper_kwargs)
+ }