diff options
Diffstat (limited to 'bh20simplewebuploader')
-rw-r--r-- | bh20simplewebuploader/main.py | 17 | ||||
-rw-r--r-- | bh20simplewebuploader/static/main.js | 5 | ||||
-rw-r--r-- | bh20simplewebuploader/templates/form.html | 21 |
3 files changed, 38 insertions, 5 deletions
diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py index 1dff207..0ba43fd 100644 --- a/bh20simplewebuploader/main.py +++ b/bh20simplewebuploader/main.py @@ -424,6 +424,23 @@ def receive_files(): ## but most likley you don't want to touch the queries, Cheers. baseURL='http://sparql.genenetwork.org/sparql/' +@app.route('/api/getCount', methods=['GET']) +def getCount(): + query=""" +PREFIX pubseq: <http://biohackathon.org/bh20-seq-schema#MainSchema/> +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[ <http://edamontology.org/data_2091> ?value ]}""" diff --git a/bh20simplewebuploader/static/main.js b/bh20simplewebuploader/static/main.js index 7084e1f..bf95832 100644 --- a/bh20simplewebuploader/static/main.js +++ b/bh20simplewebuploader/static/main.js @@ -18,6 +18,10 @@ let search = () => { fetchAPI(scriptRoot + "/api/getDetailsForSeq?seq=" + encodeURIComponent(m)); } +let fetchCount = () => { + fetchAPI("/api/getCount"); +} + let fetchSEQBySpecimen = () => { fetchAPI("/api/getSEQCountbySpecimenSource"); } @@ -160,7 +164,6 @@ for (let button of document.getElementsByClassName('remove-field')) { } // Change the submit button after hitting - function on_submit_button() { var elem = document.getElementById("submit"); elem.value = "Submitting..."; diff --git a/bh20simplewebuploader/templates/form.html b/bh20simplewebuploader/templates/form.html index 7d7cef8..2cbaf62 100644 --- a/bh20simplewebuploader/templates/form.html +++ b/bh20simplewebuploader/templates/form.html @@ -6,13 +6,14 @@ <link href="/static/main.css" rel="stylesheet" type="text/css"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Web uploader for Public SARS-CoV-2 Sequence Resource</title> + <script type="text/javascript" src="/static/main.js"></script> </head> <body> <section class="header"> <div class="logo"><a href="http://covid-19.genenetwork.org/"><img src="static/image/coronasmallcomp.gif" width="150" title="COVID-19 image by Tyler Morgan-Wall"></a></div> <h1>Web uploader for Public SARS-CoV-2 Sequence Resource</h1> -<small>Disabled until we got everything wired up</small> + <p>Database contains <span id="Counter"></span> public sequences!</p> </section> @@ -209,9 +210,21 @@ </div> <script type="text/javascript"> - let scriptRoot = {{ request.script_root|tojson|safe }}; + let scriptRoot = {{ request.script_root|tojson|safe }}; + + document.addEventListener("DOMContentLoaded", function(){ + var count = fetch("/api/getCount") + .then((resp) => resp.json()) + .then(function (data) { + count = data["sequences"]; + console.log(count); + span = document.getElementById("Counter"); + txt = document.createTextNode(count); + span.appendChild(txt); + }); +}); + </script> -<script type="text/javascript" src="/static/main.js"></script> - </body> + </body> </html> |