From fba4474b5e2e7c069bb9158089ecb873ff8e6c5c Mon Sep 17 00:00:00 2001
From: Pjotr Prins
Date: Sun, 12 Jul 2020 11:08:27 +0100
Subject: CounterDB
---
 bh20simplewebuploader/main.py | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
(limited to 'bh20simplewebuploader/main.py')
diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py
index 8f9b99b..77e345b 100644
--- a/bh20simplewebuploader/main.py
+++ b/bh20simplewebuploader/main.py
@@ -567,11 +567,34 @@ baseURL='http://sparql.genenetwork.org/sparql/'
 
 @app.route('/api/getCount', methods=['GET'])
 def getCount():
+    """
+    Get sequence counts from Arvados record
+    """
     api = arvados.api(host=ARVADOS_API, token=ANONYMOUS_TOKEN, insecure=True)
     c = api.collections().list(filters=[["owner_uuid", "=", VALIDATED_PROJECT]], limit=1).execute()
 
     return jsonify({'sequences': c["items_available"]})
 
+@app.route('/api/getCountDB', methods=['GET'])
+def getCountDB():
+    """
+    Get sequence counts from Virtuoso DB
+    """
+    query="""
+    PREFIX pubseq: 
+    select (COUNT(distinct ?dataset) as ?num)
+    {
+    ?dataset pubseq:submitter ?id .
+    ?id ?p ?submitter
+    }
+    """
+    payload = {'query': query, 'format': 'json'}
+    r = requests.get(baseURL, params=payload)
+    result = r.json()['results']['bindings']
+    # [{'num': {'type': 'typed-literal', 'datatype': 'http://www.w3.org/2001/XMLSchema#integer', 'value': '1352'}}]
+    # print(result, file=sys.stderr)
+    return jsonify({'sequences': int(result[0]["num"]["value"])})
+
 @app.route('/api/getAllaccessions', methods=['GET'])
 def getAllaccessions():
     query="""SELECT DISTINCT ?fasta ?value WHERE {?fasta ?x[  ?value ]}"""
-- 
cgit 1.4.1