diff options
author | Pjotr Prins | 2020-07-19 11:30:28 +0100 |
---|---|---|
committer | Pjotr Prins | 2020-07-19 11:30:28 +0100 |
commit | 20cbfb593e89b07d68e6c16106a24e79cea61329 (patch) | |
tree | 6f37a96a45a0d428ee157f9616096a04e681c656 | |
parent | e4a89d13863517020bbe82293e52cea98418c983 (diff) | |
download | bh20-seq-resource-20cbfb593e89b07d68e6c16106a24e79cea61329.tar.gz bh20-seq-resource-20cbfb593e89b07d68e6c16106a24e79cea61329.tar.lz bh20-seq-resource-20cbfb593e89b07d68e6c16106a24e79cea61329.zip |
Moch XML output
-rw-r--r-- | bh20simplewebuploader/main.py | 10 | ||||
-rw-r--r-- | bh20simplewebuploader/static/main.js | 5 | ||||
-rw-r--r-- | bh20simplewebuploader/templates/ebi-sample.xml | 68 | ||||
-rw-r--r-- | bh20simplewebuploader/templates/export.html | 2 |
4 files changed, 81 insertions, 4 deletions
diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py index 673f913..d524efe 100644 --- a/bh20simplewebuploader/main.py +++ b/bh20simplewebuploader/main.py @@ -696,12 +696,13 @@ def search(): query = """ PREFIX pubseq: <http://biohackathon.org/bh20-seq-schema#MainSchema/> PREFIX sio: <http://semanticscience.org/resource/> - select distinct ?id ?seq + PREFIX edam: <http://edamontology.org/> + select distinct ?id ?seq ?info { ?sample sio:SIO_000115 "%s" . ?sample sio:SIO_000115 ?id . ?seq pubseq:sample ?sample . - ?sample ?p ?o . + ?sample edam:data_2091 ?info . } limit 100 """ % s payload = {'query': query, 'format': 'json'} @@ -711,6 +712,7 @@ def search(): return jsonify([{ 'id': x['id']['value'], 'seq': x['seq']['value'], + 'info': x['info']['value'], } for x in result]) @app.route('/api/getAllaccessions', methods=['GET']) @@ -934,3 +936,7 @@ def getSEQbyLocationAndSpecimenSource(): r = requests.get(baseURL, params=payload) result = r.json()['results']['bindings'] return str(result) + +@app.route('/api/ebi-sample.xml', methods=['GET']) +def ebi_sample(): + return render_template('ebi-sample.xml') diff --git a/bh20simplewebuploader/static/main.js b/bh20simplewebuploader/static/main.js index 208823a..deda6ec 100644 --- a/bh20simplewebuploader/static/main.js +++ b/bh20simplewebuploader/static/main.js @@ -18,10 +18,13 @@ function toDIVTable(rows) { else { html = '<div class="rTable">'; rows.forEach(row => { + id = row['id']; seq = row['seq']; + info = row['info']; html += '<div class="rTableRow">'; - html += cell(row['id']); + html += cell('<a href="'+info+'">'+id+'</a>'); html += cell('<a href="'+seq+'">FASTA</a>'); + html += cell('<a href="/api/ebi-sample.xml?id='+id+'">EBI/ENA export XML</a>'); html += '</div>'; }); html += '</div>'; diff --git a/bh20simplewebuploader/templates/ebi-sample.xml b/bh20simplewebuploader/templates/ebi-sample.xml new file mode 100644 index 0000000..694c471 --- /dev/null +++ b/bh20simplewebuploader/templates/ebi-sample.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<SAMPLE_SET> + <SAMPLE alias="PubSeqSam0001" center_name="PubSeq01"> + <TITLE>human gastric microbiota, mucosal</TITLE> + <SAMPLE_NAME> + <TAXON_ID>1284369</TAXON_ID> + <SCIENTIFIC_NAME>stomach metagenome</SCIENTIFIC_NAME> + <COMMON_NAME></COMMON_NAME> + </SAMPLE_NAME> + <SAMPLE_ATTRIBUTES> + <SAMPLE_ATTRIBUTE> + <TAG>investigation type</TAG> + <VALUE>mimarks-survey</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>sequencing method</TAG> + <VALUE>pyrosequencing</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>collection date</TAG> + <VALUE>2010</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>host body site</TAG> + <VALUE>Mucosa of stomach</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>human-associated environmental package</TAG> + <VALUE>human-associated</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>geographic location (latitude)</TAG> + <VALUE>1.81</VALUE> + <UNITS>DD</UNITS> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>geographic location (longitude)</TAG> + <VALUE>-78.76</VALUE> + <UNITS>DD</UNITS> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>geographic location (country and/or sea)</TAG> + <VALUE>Colombia</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>geographic location (region and locality)</TAG> + <VALUE>Tumaco</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>environment (biome)</TAG> + <VALUE>coast</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>environment (feature)</TAG> + <VALUE>human-associated habitat</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>environment (material)</TAG> + <VALUE>gastric biopsy</VALUE> + </SAMPLE_ATTRIBUTE> + <SAMPLE_ATTRIBUTE> + <TAG>ENA-CHECKLIST</TAG> + <VALUE>ERC000011</VALUE> + </SAMPLE_ATTRIBUTE> + </SAMPLE_ATTRIBUTES> + </SAMPLE> +</SAMPLE_SET> + diff --git a/bh20simplewebuploader/templates/export.html b/bh20simplewebuploader/templates/export.html index 1f0d9b7..aaceac9 100644 --- a/bh20simplewebuploader/templates/export.html +++ b/bh20simplewebuploader/templates/export.html @@ -31,7 +31,7 @@ </p> <div class="search"> - <input id="search-input" type="search" placeholder="e.g. MT246484" required> + <input id="search-input" type="search" placeholder="e.g. MT326090.1" required> <button class="button search-button" type="submit" onclick="searchGlobaltoDIVTable()"> <span class="icon ion-search"> <span class="sr-only">Search</span> |