about summary refs log tree commit diff
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))