diff --git a/ippisite/ippidb/models.py b/ippisite/ippidb/models.py index 326dcfbbbcbfb9d7ff3a97a8dd36dfe8917d25db..b02bf2f254560d255c9aa5e7c09f7138b35dabf6 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):