From c4a2fb5e7c476a8361aa039cc986c3a0ddabf730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20=20MENAGER?= <herve.menager@pasteur.fr> Date: Wed, 17 May 2017 22:26:44 +0200 Subject: [PATCH] rename foreign key fields to remove "_id" suffixes closes #35 --- ippisite/db.sqlite3 | Bin 536576 -> 569344 bytes ippisite/ippidb/admin.py | 8 +- ippisite/ippidb/forms.py | 4 +- .../migrations/0009_auto_20170517_2020.py | 196 ++++++++++++++++++ ippisite/ippidb/models.py | 60 +++--- 5 files changed, 232 insertions(+), 36 deletions(-) create mode 100644 ippisite/ippidb/migrations/0009_auto_20170517_2020.py diff --git a/ippisite/db.sqlite3 b/ippisite/db.sqlite3 index 418ffe91ef59f6e2db941d723da526c109b5b5f5..d0f0db2af8cd80bce56b7148c24a74b09675dec6 100644 GIT binary patch delta 5307 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 delta 5317 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 R;AwQX@$wd<lfSFs{|AP?2c!T1 diff --git a/ippisite/ippidb/admin.py b/ippisite/ippidb/admin.py index 516d2719..dc4f162a 100644 --- a/ippisite/ippidb/admin.py +++ b/ippisite/ippidb/admin.py @@ -20,13 +20,13 @@ class DomainAdmin(admin.ModelAdmin): @admin.register(ProteinDomainBoundComplex) class ProteinDomainBoundComplexAdmin(admin.ModelAdmin): - list_display = ('protein_id', 'domain_id', 'ppc_copy_nb', 'ppp_copy_nb_per_p', 'pockets_nb') - list_display_links = ('protein_id', 'domain_id', 'ppc_copy_nb', 'ppp_copy_nb_per_p', 'pockets_nb') + list_display = ('protein', 'domain', 'ppc_copy_nb', 'ppp_copy_nb_per_p', 'pockets_nb') + list_display_links = ('protein', 'domain', 'ppc_copy_nb', 'ppp_copy_nb_per_p', 'pockets_nb') @admin.register(ProteinDomainPartnerComplex) class ProteinDomainPartnerComplexAdmin(admin.ModelAdmin): - list_display = ('protein_id', 'domain_id', 'ppc_copy_nb') - list_display_links = ('protein_id', 'domain_id', 'ppc_copy_nb') + list_display = ('protein', 'domain', 'ppc_copy_nb') + list_display_links = ('protein', 'domain', 'ppc_copy_nb') @admin.register(Symmetry) class Symmetry(admin.ModelAdmin): diff --git a/ippisite/ippidb/forms.py b/ippisite/ippidb/forms.py index 6c83082f..d7364dac 100644 --- a/ippisite/ippidb/forms.py +++ b/ippisite/ippidb/forms.py @@ -22,10 +22,10 @@ class ProteinForm(ModelForm): class ProteinDomainComplexForm(ModelForm): class Meta: model = ProteinDomainComplex - fields = ['protein_id', 'domain_id', 'ppc_copy_nb'] + fields = ['protein', 'domain', 'ppc_copy_nb'] class PpiForm(ModelForm): class Meta: model = Ppi - fields = ['complex_id', 'cc_nb', 'pdb_id', 'symmetry_id'] + fields = ['complex', 'cc_nb', 'pdb_id', 'symmetry'] diff --git a/ippisite/ippidb/migrations/0009_auto_20170517_2020.py b/ippisite/ippidb/migrations/0009_auto_20170517_2020.py new file mode 100644 index 00000000..51fbffd8 --- /dev/null +++ b/ippisite/ippidb/migrations/0009_auto_20170517_2020.py @@ -0,0 +1,196 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.5 on 2017-05-17 20:20 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ippidb', '0008_auto_20170329_1441'), + ] + + operations = [ + migrations.RenameField( + model_name='cmpdaction', + old_name='complex_id', + new_name='complex', + ), + migrations.RenameField( + model_name='cmpdaction', + old_name='compound_id', + new_name='compound', + ), + migrations.RenameField( + model_name='cmpdaction', + old_name='ppi_id', + new_name='ppi', + ), + migrations.RenameField( + model_name='compound', + old_name='mddr_compound_id', + new_name='mddr_compound', + ), + migrations.RenameField( + model_name='compoundactivityresult', + old_name='activity_type_id', + new_name='activity_type', + ), + migrations.RenameField( + model_name='compoundactivityresult', + old_name='compound_id', + new_name='compound', + ), + migrations.RenameField( + model_name='compoundactivityresult', + old_name='test_activity_description_id', + new_name='test_activity_description', + ), + migrations.RenameField( + model_name='compoundcytotoxicityresult', + old_name='compound_id', + new_name='compound', + ), + migrations.RenameField( + model_name='compoundcytotoxicityresult', + old_name='test_cytotoxicity_description_id', + new_name='test_cytotoxicity_description', + ), + migrations.RenameField( + model_name='compoundpkresult', + old_name='compound_id', + new_name='compound', + ), + migrations.RenameField( + model_name='compoundpkresult', + old_name='test_pk_description_id', + new_name='test_pk_description', + ), + migrations.RenameField( + model_name='disease', + old_name='ppi_id', + new_name='ppi', + ), + migrations.RenameField( + model_name='mddrcompoundactivityclass', + old_name='mddr_compound_id', + new_name='mddr_compound', + ), + migrations.RenameField( + model_name='ppi', + old_name='complex_id', + new_name='complex', + ), + migrations.RenameField( + model_name='ppi', + old_name='symmetry_id', + new_name='symmetry', + ), + migrations.RenameField( + model_name='proteindomaincomplex', + old_name='domain_id', + new_name='domain', + ), + migrations.RenameField( + model_name='proteindomaincomplex', + old_name='protein_id', + new_name='protein', + ), + migrations.RenameField( + model_name='refcompoundbiblio', + old_name='bibliography_id', + new_name='bibliography', + ), + migrations.RenameField( + model_name='refcompoundbiblio', + old_name='compound_id', + new_name='compound', + ), + migrations.RenameField( + model_name='testactivitydescription', + old_name='biblio_id', + new_name='biblio', + ), + migrations.RenameField( + model_name='testactivitydescription', + old_name='complex_id', + new_name='complex', + ), + migrations.RenameField( + model_name='testactivitydescription', + old_name='ppi_id', + new_name='ppi', + ), + migrations.RenameField( + model_name='testcytotoxdescription', + old_name='biblio_id', + new_name='biblio', + ), + migrations.RenameField( + model_name='testpkdescription', + old_name='biblio_id', + new_name='biblio', + ), + migrations.RemoveField( + model_name='compound', + name='dh_Petitjean', + ), + migrations.RemoveField( + model_name='compound', + name='diam_graph_non_h_petitjean', + ), + migrations.RemoveField( + model_name='compound', + name='g_petitjean', + ), + migrations.RemoveField( + model_name='compound', + name='ig_petitjean', + ), + migrations.RemoveField( + model_name='compound', + name='radius_graph_non_h_petitjean', + ), + migrations.RemoveField( + model_name='compound', + name='surface_vdw_petitjean', + ), + migrations.RemoveField( + model_name='compound', + name='thickness_petitjean', + ), + migrations.RemoveField( + model_name='compound', + name='vol_vdw_petitjean', + ), + migrations.AlterField( + model_name='compound', + name='canonical_smile', + field=models.CharField(max_length=500, unique=True, verbose_name='Canonical Smile'), + ), + migrations.AlterUniqueTogether( + name='cmpdaction', + unique_together=set([('complex', 'compound', 'pdb_id')]), + ), + migrations.AlterUniqueTogether( + name='compoundactivityresult', + unique_together=set([('compound', 'test_activity_description', 'activity_type')]), + ), + migrations.AlterUniqueTogether( + name='compoundcytotoxicityresult', + unique_together=set([('compound', 'test_cytotoxicity_description')]), + ), + migrations.AlterUniqueTogether( + name='compoundpkresult', + unique_together=set([('compound', 'test_pk_description')]), + ), + migrations.AlterUniqueTogether( + name='mddrcompoundactivityclass', + unique_together=set([('mddr_compound', 'activity_class')]), + ), + migrations.AlterUniqueTogether( + name='refcompoundbiblio', + unique_together=set([('compound', 'bibliography')]), + ), + ] diff --git a/ippisite/ippidb/models.py b/ippisite/ippidb/models.py index a5417a44..226227f7 100644 --- a/ippisite/ippidb/models.py +++ b/ippisite/ippidb/models.py @@ -119,8 +119,8 @@ class Domain(models.Model): return '{} ({}-{})'.format(self.pfam_acc, self.pfam_id, self.pfam_description) class ProteinDomainComplex(models.Model): - protein_id = models.ForeignKey('Protein') - domain_id = models.ForeignKey('Domain') + protein = models.ForeignKey('Protein') + domain = models.ForeignKey('Domain') ppc_copy_nb = models.IntegerField('Number of copies of the protein in the complex') class Meta: @@ -151,13 +151,13 @@ class Symmetry(models.Model): class Ppi(models.Model): ppi_id = models.IntegerField('PPI identifier') - complex_id = models.ForeignKey(ProteinDomainComplex) + complex = models.ForeignKey(ProteinDomainComplex) cc_nb = models.IntegerField('Number of copies of the complex in the PPI', default=1) pdb_id = models.CharField('PDB ID', max_length=4) - symmetry_id = models.ForeignKey(Symmetry) + symmetry = models.ForeignKey(Symmetry) class Disease(models.Model): - ppi_id = models.ForeignKey(Ppi) + ppi = models.ForeignKey(Ppi) disease_name = models.CharField('Disease', max_length=30) # is there any database/nomenclature for diseases? @@ -212,7 +212,7 @@ class Compound(models.Model): chemspider_id = models.CharField('Chemspider ID', unique=True, max_length=10, blank=True, null=True) chembl_id = models.CharField('Chembl ID', unique=True, max_length=30, blank=True, null=True) iupac_name = models.CharField('IUPAC name', unique=True, max_length=255, blank=True, null=True) - mddr_compound_id = models.ForeignKey('MDDRCompoundImport', blank=True, null=True) + mddr_compound = models.ForeignKey('MDDRCompoundImport', blank=True, null=True) class MDDRCompoundImport(models.Model): @@ -231,11 +231,11 @@ class MDDRCompoundImport(models.Model): class MDDRCompoundActivityClass(models.Model): - mddr_compound_id = models.ForeignKey(MDDRCompoundImport) + mddr_compound = models.ForeignKey(MDDRCompoundImport) activity_class = models.CharField('Activity Class', max_length=100) class Meta: - unique_together = (('mddr_compound_id', 'activity_class'),) + unique_together = (('mddr_compound', 'activity_class'),) verbose_name_plural = "MDDR compound activity classes" @@ -261,9 +261,9 @@ class TestActivityDescription(models.Model): ('I', 'Inhibition'), ('S', 'Stabilization') ) - complex_id = models.ForeignKey(ProteinDomainBoundComplex) - biblio_id = models.ForeignKey(Bibliography) - ppi_id = models.ForeignKey(Ppi, blank=True, null=True) + complex = models.ForeignKey(ProteinDomainBoundComplex) + biblio = models.ForeignKey(Bibliography) + ppi = models.ForeignKey(Ppi, blank=True, null=True) test_name = models.CharField('Test name', max_length=100) test_type = models.CharField('Test type', max_length=5, choices=TEST_TYPES) test_modulation_type = models.CharField('Test modulation type', max_length=1, choices=TEST_MODULATION_TYPES) @@ -279,34 +279,34 @@ class CompoundActivityResult(models.Model): ('I', 'Inhibition'), ('S', 'Stabilization') ) - compound_id = models.ForeignKey(Compound) - test_activity_description_id = models.ForeignKey(TestActivityDescription) - activity_type_id = models.ForeignKey(ActivityType) + compound = models.ForeignKey(Compound) + test_activity_description = models.ForeignKey(TestActivityDescription) + activity_type = models.ForeignKey(ActivityType) activity = models.DecimalField('Activity', max_digits=12, decimal_places=10) modulation_type = models.CharField('Modulation type', max_length=1, choices=MODULATION_TYPES) class Meta: - unique_together = (('compound_id', 'test_activity_description_id', 'activity_type_id'),) + unique_together = (('compound', 'test_activity_description', 'activity_type'),) class TestCytotoxDescription(models.Model): - biblio_id = models.ForeignKey(Bibliography) + biblio = models.ForeignKey(Bibliography) test_name = models.CharField('Cytotoxicity test name', max_length=100) cell_line = models.ForeignKey(CellLine) compound_concentration = models.DecimalField('Compound concentration in μM', max_digits=7, decimal_places=3, blank=True, null=True) class CompoundCytotoxicityResult(models.Model): - compound_id = models.ForeignKey(Compound) - test_cytotoxicity_description_id = models.ForeignKey(TestCytotoxDescription) + compound = models.ForeignKey(Compound) + test_cytotoxicity_description = models.ForeignKey(TestCytotoxDescription) toxicity = models.BooleanField('Toxicity', default=False) class Meta: - unique_together = (('compound_id', 'test_cytotoxicity_description_id'),) + unique_together = (('compound', 'test_cytotoxicity_description'),) class AdministrationMode(models.Model): name = models.CharField('Administration mode', max_length=20, blank=True, null=True) class TestPKDescription(models.Model): - biblio_id = models.ForeignKey(Bibliography) + biblio = models.ForeignKey(Bibliography) test_name = models.CharField('Pharmacokinetic test name', max_length=100) organism = models.ForeignKey(Taxonomy) administration_mode = models.ForeignKey(AdministrationMode, blank=True, null=True) @@ -314,8 +314,8 @@ class TestPKDescription(models.Model): dose_interval = models.IntegerField('Dose interval, in hours', blank=True, null=True) class CompoundPKResult(models.Model): - compound_id = models.ForeignKey(Compound) - test_pk_description_id = models.ForeignKey(TestPKDescription) + compound = models.ForeignKey(Compound) + test_pk_description = models.ForeignKey(TestPKDescription) tolerated = models.NullBooleanField('Tolerated', null=True) auc = models.IntegerField('Area under curve (ng.mL-1.hr)', blank=True, null=True) clearance = models.DecimalField('Clearance (mL/hr)', max_digits=7, decimal_places=3, blank=True, null=True) @@ -326,7 +326,7 @@ class CompoundPKResult(models.Model): voldistribution = models.DecimalField('Volume distribution (Vd)', max_digits=5, decimal_places=2, blank=True, null=True) class Meta: - unique_together = (('compound_id', 'test_pk_description_id'),) + unique_together = (('compound', 'test_pk_description'),) class CmpdAction(models.Model): @@ -334,20 +334,20 @@ class CmpdAction(models.Model): ('O', 'Orthosteric'), ('A', 'Allosteric') ) - complex_id = models.ForeignKey(ProteinDomainBoundComplex) - compound_id = models.ForeignKey(Compound) + complex = models.ForeignKey(ProteinDomainBoundComplex) + compound = models.ForeignKey(Compound) activation_mode = models.CharField('Activation mode', max_length=1, choices=ACTIVATION_MODES) - ppi_id = models.ForeignKey(Ppi) + ppi = models.ForeignKey(Ppi) pdb_id = models.CharField('PDB ID', max_length=4) nb_copy_compounds = models.IntegerField('Number of copies for the compound') class Meta: - unique_together = (('complex_id', 'compound_id', 'pdb_id'),) + unique_together = (('complex', 'compound', 'pdb_id'),) class RefCompoundBiblio(models.Model): - compound_id = models.ForeignKey(Compound) - bibliography_id = models.ForeignKey(Bibliography) + compound = models.ForeignKey(Compound) + bibliography = models.ForeignKey(Bibliography) compound_name = models.CharField('Compound name in the publication', max_length=50) class Meta: - unique_together = (('compound_id', 'bibliography_id'),) + unique_together = (('compound', 'bibliography'),) -- GitLab