aboutsummaryrefslogtreecommitdiff
path: root/gn3/api/gemma.py
blob: c9c4e542c12ea4d4b83c2f787562cdc70350b86a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
"""Endpoints for running the gemma cmd"""
from flask import Blueprint
from flask import current_app
from flask import jsonify

gemma = Blueprint("gemma", __name__)

from gn3.commands import run_cmd

@gemma.route("/")
def index() -> str:
    """Test endpoint"""
    return jsonify(result="hello world")


@gemma.route("/version")
def get_version():
    """Display the installed version of gemma-wrapper"""
    gemma_cmd = current_app.config['APP_DEFAULTS'].get('GEMMA_WRAPPER_CMD')
    return jsonify(
        run_cmd(f"{gemma_cmd} -v | head -n 1"))

@gemma.route("/k-compute/<token>", methods=["POST"])
def run_k_compute(token) -> str:
    pass


@gemma.route("/lmm/gwa/<token>/<k_file_name>", methods=["POST"])
def run_gwa(token, k_file_name) -> str:
    pass


@gemma.route("/pheno-permutation/<token>", methods=["POST"])
def run_pheno_permutation(token) -> str:
    pass