diff options
author | Arun Isaac | 2021-11-19 16:42:00 +0530 |
---|---|---|
committer | Arun Isaac | 2021-12-02 17:03:52 +0530 |
commit | 0a29e362bd8627b9346e2260a14c81a46e2a76d3 (patch) | |
tree | 5c5d061aec5fbef5a63a8ddbe95a9a59f72ded7f /gn3/api/general.py | |
parent | a1516993c7f6dc608f75ba42cb27b983e0c5c330 (diff) | |
download | genenetwork3-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/general.py')
-rw-r--r-- | gn3/api/general.py | 7 |
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)) |