diff options
-rw-r--r-- | wqflask/wqflask/templates/generif.html | 96 | ||||
-rw-r--r-- | wqflask/wqflask/views.py | 16 |
2 files changed, 112 insertions, 0 deletions
diff --git a/wqflask/wqflask/templates/generif.html b/wqflask/wqflask/templates/generif.html new file mode 100644 index 00000000..affcbbed --- /dev/null +++ b/wqflask/wqflask/templates/generif.html @@ -0,0 +1,96 @@ +{% extends "base.html" %} + +{% block title %} +GeneWiki Entry for {{ symbol }} +{% endblock %} + +{% block css %} +<style> + + .badge { + vertical-align: top; + background-color: #336699; + } + + .list-group { + counter-reset: gnentries; + } + + summary::before { + counter-increment: gnentries; + content: counter(gnentries) "." " "; + } + + summary:hover { + cursor: zoom-in; + } +</style> + +{% endblock %} +{% block content %} + + +<div class="container"> + <h1 class="page-header">GeneWiki For {{ symbol }}</h1> + <p class="well"><strong>GeneWiki</strong> enables you to enrich the annotation of genes and transcripts.</p> + + <h3> + <strong>GeneNetwork</strong> + <span class="badge"> + {{ entries.gn_entries|length if entries.gn_entries[0] else 0 }} + </span>: + </h3> + {% if entries.gn_entries[0] %} + <ul class="list-group"> + {% for entry in entries.gn_entries %} + <li class="list-group-item"> + <details> + <summary>{{ entry["entry"]["value"] }}</summary> + <dl class="dl-horizontal"> + <dt>Author:</dt> + <dd>{{ entry["author"]["value"] }}</dd> + + {% if entry.get("geneCategory") %} + <dt>Category:</dt> + <dd>{{ entry["geneCategory"]["value"]}}</dd> + {% endif %} + + <dt>Add Time:</dt> + <dd>{{ entry["created"]["value"]}}</dd> + </dl> + </details> + </li> + {% endfor %} + </ul> + + {% else %} + + <p class="well"><u>There are no GeneNetwork entries for <b>{{ symbol }}.</b></u></p> + + {% endif %} + + <h3> + <strong>GeneRIF from NCBI</strong> + <span class="badge"> + {{ entries.ncbi_entries|length if entries.ncbi_entries[0] else 0 }} + </span>: + </h3> + {% if entries.ncbi_entries[0] %} + <ol> + {% for entry in entries.ncbi_entries %} + <li> + {{ entry.entry.value }} + (<a href="{{ entry['generif']['value'] }}" target="_blank">{{ entry["speciesBinomialName"]["value"] }}</a>) + {% if entry.PubMedId.value != "" %} + {% set pmids = entry.PubMedId.value.split(",") %} + (PubMed: {% for id in pmids %} <a href="http://rdf.ncbi.nlm.nih.gov/pubmed/{{ id }}" target="_blank">{{ id }}</a>{% endfor %}) + <sup><small><em>{{ entry.createdOn.value }}</em></small></sup> + {% endif %} + </li> + {% endfor %} + </ol> + {% else %} + <p class="well"><u>There are no NCBI entries for <b>{{ symbol }}.</b></u></p> + {% endif %} +</div> +{% endblock %} diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index 69576cc4..24426539 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -1048,3 +1048,19 @@ def display_diffs_users(): files) return render_template("display_files_user.html", files=files) + + +@app.route("/genewiki/<symbol>") +def display_generif_page(symbol): + """Fetch GeneRIF metadata from GN3 and display it""" + entries = requests.get( + urljoin( + GN3_LOCAL_URL, + f"/api/metadata/genewiki/{symbol}" + ) + ).json() + return render_template( + "generif.html", + symbol=symbol, + entries=entries + ) |