From ed8ee3077211cc227089f87929a70ac8b7c4593f Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Wed, 22 Dec 2021 09:29:11 +0300 Subject: Add API endpoint for partial correlations Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * Add an API endpoint for the partial correlation. * gn3/api/correlation.py: --- gn3/api/correlation.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gn3') diff --git a/gn3/api/correlation.py b/gn3/api/correlation.py index e936eaf..f84228a 100644 --- a/gn3/api/correlation.py +++ b/gn3/api/correlation.py @@ -1,4 +1,6 @@ """Endpoints for running correlations""" +import json + from flask import jsonify from flask import Blueprint from flask import request @@ -87,9 +89,20 @@ def compute_tissue_corr(corr_method="pearson"): @correlation.route("/partial", methods=["POST"]) def partial_correlation(): + """API endpoint for partial correlations.""" def trait_fullname(trait): return f"{trait['dataset']}::{trait['name']}" + class OutputEncoder(json.JSONEncoder): + """ + Class to encode output into JSON, for objects which the default + json.JSONEncoder class does not have default encoding for. + """ + def default(self, obj): + if isinstance(obj, bytes): + return str(obj, encoding="utf-8") + return json.JSONEncoder.default(self, obj) + args = request.get_json() conn, _cursor_object = database_connector() corr_results = partial_correlations_entry( -- cgit v1.2.3