diff --git a/ippisite/ippidb/templates/ppi_card.html b/ippisite/ippidb/templates/ppi_card.html new file mode 100644 index 0000000000000000000000000000000000000000..64fb070d8d8a6e6310f13871034b2c59c45d438b --- /dev/null +++ b/ippisite/ippidb/templates/ppi_card.html @@ -0,0 +1,80 @@ +{% extends "base.html" %} + + +{% block title %}inhibitors of Protein-Protein Interaction Database{% endblock %} + +{% block content %} +<div id="mainnav"> +</div> +<div class="inner-wrap"> + <nav class="breadcrumb" role="navigation"> + <div id="breadcrumb-label" class="breadcrumb-label">You are here</div> + <div aria-labelledby="breadcrumb-label"> + Fonction Fil d'Arianne + </div> + </nav> + <div id="main-wrapper" class="page"> + <div id="main"> + <div id="content" class="main-content"> + <main role="main"> + <div class="row"> + <div class="col-3"> + <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist"> + <a class="nav-link active" id="v-pills-bib-tab" data-toggle="pill" href="#v-pills-bib" role="tab" aria-controls="v-pills-bib" aria-expanded="true">Bibliography</a> + <a class="nav-link" id="v-pills-comp-tab" data-toggle="pill" href="#v-pills-comp" role="tab" aria-controls="v-pills-comp" aria-expanded="true">Compounds</a> + <a class="nav-link" id="v-pills-target-tab" data-toggle="pill" href="#v-pills-target" role="tab" aria-controls="v-pills-target" aria-expanded="true">Targets</a> + <a class="nav-link" id="v-pills-test-tab" data-toggle="pill" href="#v-pills-test" role="tab" aria-controls="v-pills-test" aria-expanded="true">Tests</a> + </div> + </div> + <div class="col-9"> + <div class="tab-content" id="v-pills-tabContent"> + <div class="tab-pane fade show active" id="v-pills-bib" role="tabpanel" aria-labelledby="v-pills-bib-tab"> + <div class="card"> + <div class="card-body"> + <p><a target="_blank" class="card-link" href="https://www.ncbi.nlm.nih.gov/pubmed/{{ bibliography.id_source }}">{{ bibliography.authors_list }}. {{ authors.biblio_year }}. {{ bibliography.title }} {{ bibliography.journal_name }}. </a></p> + </div> + </div> + <div class="card"> + <div class="card-body"> + <ul class="list-group"> + <li class="list-group-item">Cytotoxicity data: {% if bibliography.cytotox %}✓{% else %}✗{% endif %}</li> + <li class="list-group-item"><i>in silico</i> study: {% if bibliography.in_silico %}✓{% else %}✗{% endif %}</li> + <li class="list-group-item"><i>in vitro</i> study: {% if bibliography.in_vitro %}✓{% else %}✗{% endif %}</li> + <li class="list-group-item"><i>in vivo</i> study: {% if bibliography.in_vivo %}✓{% else %}✗{% endif %}</li> + <li class="list-group-item"><i>in cellulo</i> study: {% if bibliography.in_cellulo %}✓{% else %}✗{% endif %}</li> + <li class="list-group-item">pharmacokinetic study: {% if bibliography.pharmacokinetic %}✓{% else %}✗{% endif %}</li> + <li class="list-group-item">X-ray study: {% if bibliography.x_ray %}✓{% else %}✗{% endif %}</li> + </ul> + </div> + </div> + </div> + <div class="tab-pane fade" id="v-pills-comp" role="tabpanel" aria-labelledby="v-pills-comp-tab"> + {% for compound_biblio in compound_biblios %} + <div class="card"> + <div class="card-body"> + <ul class="list-group"> + <li class="list-group-item">Common name: {{ compound_biblio.compound.common_name }}</li> + <li class="list-group-item">MDDR: <i>TODO</i></li> + <li class="list-group-item">Canonical SMILES: {{ compound_biblio.compound.canonical_smile }}</li> + <li class="list-group-item">IUPAC name: {{ compound_biblio.compound.iupac_name }}</li> + <li class="list-group-item">mentionned as {{ compound_biblio.compound_name }}</li> + </ul> + </div> + </div> + {% endfor %} + </div> + <div class="tab-pane fade" id="v-pills-target" role="tabpanel" aria-labelledby="v-pills-target-tab"> + Target info + </div> + <div class="tab-pane fade" id="v-pills-test" role="tabpanel" aria-labelledby="v-pills-test-tab"> + Tests info + </div> + </div> + </div> + </div> + </main><!-- .site-main --> + </div> + </div><!-- div main --> + </div> +</div> +{% endblock %} diff --git a/ippisite/ippidb/urls.py b/ippisite/ippidb/urls.py index 3cfaacf9b49cf01e977c2512c7f71a14c894d5be..dd5ce17550a400de479488000df9f293cfc07499 100644 --- a/ippisite/ippidb/urls.py +++ b/ippisite/ippidb/urls.py @@ -19,6 +19,7 @@ urlpatterns = [ url(r'^query$', views.query, name='query'), url(r'^query/pharma/$', views.pharma, name='pharma'), url(r'^query/chemical/$', views.chemical, name='chemical'), + url(r'^biblio_ppi/(?P<biblio_id>\d+)$', views.ppi_card, name='biblio_ppi_card'), url(r'^tutorials$', views.tutorials, name='tutorials'), url(r'^admin-session$', views.adminSession, name='admin-session'), url(r'^admin-session/add/(?P<step>.+)/$', diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py index ec5c4ac8a2cdfbd46508816eb643420bb15c49d8..de3a327ac982492c6ac16f70a51ee1240aa4a5ce 100644 --- a/ippisite/ippidb/views.py +++ b/ippisite/ippidb/views.py @@ -1,11 +1,11 @@ import ippidb from django.shortcuts import render -from django.http import HttpResponseRedirect +from django.http import HttpResponseRedirect, Http404 from formtools.wizard.views import SessionWizardView, NamedUrlSessionWizardView from .forms import IdForm, BibliographyForm, PDBForm, ProteinForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm, ProteinFormSet, PDBFormSet -from .models import Protein, Bibliography, ProteinDomainComplex +from .models import Protein, Bibliography, ProteinDomainComplex, RefCompoundBiblio from .ws import get_pdb_uniprot_mapping @@ -20,7 +20,6 @@ def about(request): def general(request): return render(request, 'general.html') - def pharmacology(request): return render(request, 'pharmacology.html') @@ -130,3 +129,12 @@ class IppiWizard(NamedUrlSessionWizardView): return render(self.request, '/admin-session/add.html', { 'form_data': [form.cleaned_data for form in form_list], }) + +def ppi_card(request, biblio_id): + try: + bibliography = Bibliography.objects.get(pk=biblio_id) + except Bibliography.DoesNotExist: + raise Http404("No bibliography data for %s" % biblio_id) + refs = RefCompoundBiblio.objects.filter(bibliography_id = bibliography.id) + return render(request, 'ppi_card.html', {'bibliography': bibliography, + 'compound_biblios': refs})