From c6213854c6fac8dffc65795341620f22138becef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20=20MENAGER?= <herve.menager@pasteur.fr>
Date: Thu, 23 Mar 2017 21:34:39 +0100
Subject: [PATCH] retrieve info from Uniprot for Protein class

---
 ippisite/ippidb/models.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/ippisite/ippidb/models.py b/ippisite/ippidb/models.py
index 326dcfbb..b02bf2f2 100644
--- a/ippisite/ippidb/models.py
+++ b/ippisite/ippidb/models.py
@@ -75,9 +75,18 @@ class Protein(models.Model):
     molecular_functions = models.ManyToManyField(MolecularFunction)
 
     def save(self, *args, **kwargs):
-        info = get_epo_info(self.id_source)
+        info = get_uniprot_info(self.uniprot_id)
         self.recommended_name_long = info['recommended_name']
-        self.organism = info['organism']
+        self.gene_name = info['gene']
+        self.entry_name = info['entry_name']
+        try:
+            taxonomy = Taxonomy.objects.get(taxonomy_id=info['organism'])
+        except Taxonomy.DoesNotExist:
+            tax_info = get_taxonomy_info(info['organism'])
+            taxonomy = Taxonomy()
+            taxonomy.taxonomy_id = info['organism']
+            taxonomy.save()
+        self.organism = taxonomy
         super(Protein, self).save(*args, **kwargs)
 
 class Domain(models.Model):
-- 
GitLab