From 28daf7692426f0dbf6b88e631cdccc4c27ea4e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20=20MENAGER?= <herve.menager@pasteur.fr> Date: Fri, 16 Jun 2017 10:25:16 +0200 Subject: [PATCH] add code to retrieve proteins information from PDB Former-commit-id: 9a7b9355ed06b75a23904ec12e070237b5f477f1 --- ippisite/ippidb/views.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py index e4b4b049..d3c6bfb0 100644 --- a/ippisite/ippidb/views.py +++ b/ippisite/ippidb/views.py @@ -2,7 +2,10 @@ import ippidb from django.shortcuts import render from django.http import HttpResponseRedirect from formtools.wizard.views import SessionWizardView,NamedUrlSessionWizardView + from .forms import IdForm, BibliographyForm, PDBForm, ProteinForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm +from .models import Protein +from .ws import get_pdb_uniprot_mapping def index(request): return render(request, 'index.html') @@ -48,6 +51,19 @@ class IppiWizard(SessionWizardView): if self.steps.current=='IdForm': form.instance.autofill() self.instance_dict['BibliographyForm'] = form.instance + elif self.steps.current=='PDBForm': + uniprot_ids = get_pdb_uniprot_mapping(form.cleaned_data['pdb_id']) + proteins = [] + for uniprot_id in uniprot_ids: + try: + p = Protein.objects.get(uniprot_id=uniprot_id) + except Protein.DoesNotExist: + p = Protein() + p.uniprot_id = uniprot_ids[0] + p.autofill() + proteins.append(p) + #TODO replace p with proteins as the instance_dict + self.instance_dict['ProteinForm'] = p return self.get_form_step_data(form) def done(self, form_list, **kwargs): -- GitLab