aboutsummaryrefslogtreecommitdiff
path: root/gn3/api
diff options
context:
space:
mode:
authorArun Isaac2021-11-19 16:42:00 +0530
committerArun Isaac2021-12-02 17:03:52 +0530
commit0a29e362bd8627b9346e2260a14c81a46e2a76d3 (patch)
tree5c5d061aec5fbef5a63a8ddbe95a9a59f72ded7f /gn3/api
parenta1516993c7f6dc608f75ba42cb27b983e0c5c330 (diff)
downloadgenenetwork3-0a29e362bd8627b9346e2260a14c81a46e2a76d3.tar.gz
Implement dataset metadata API endpoint.
* guix.scm: Import (gnu packages rdf). (genenetwork3)[propagated-inputs]: Add python-sparqlwrapper. * gn3/settings.py (SPARQL_ENDPOINT): New variable. * gn3/api/general.py: Import datasets from gn3.db. (dataset_metadata): New API endpoint. * gn3/db/datasets.py: Import re, Template from string, Dict and Optional from typing, JSON and SPARQLWrapper from SPARQLWrapper, SPARQL_ENDPOINT from gn3.settings. (sparql_query, dataset_metadata): New functions.
Diffstat (limited to 'gn3/api')
-rw-r--r--gn3/api/general.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/gn3/api/general.py b/gn3/api/general.py
index 69ec343..e0bfc81 100644
--- a/gn3/api/general.py
+++ b/gn3/api/general.py
@@ -7,7 +7,7 @@ from flask import request
from gn3.fs_helpers import extract_uploaded_file
from gn3.commands import run_cmd
-
+from gn3.db import datasets
general = Blueprint("general", __name__)
@@ -68,3 +68,8 @@ def run_r_qtl(geno_filestr, pheno_filestr):
cmd = (f"Rscript {rqtl_wrapper} "
f"{geno_filestr} {pheno_filestr}")
return jsonify(run_cmd(cmd)), 201
+
+@general.route("/dataset/<accession_id>")
+def dataset_metadata(accession_id):
+ """Return info as JSON for dataset with ACCESSION_ID."""
+ return jsonify(datasets.dataset_metadata(accession_id))