diff --git a/ippisite/ippidb/models.py b/ippisite/ippidb/models.py
index 158847661c039e1b4df2a839bd9c3219f26da92f..a9f2af14649167c46e83d1cfbebfaf9f6faf5f76 100644
--- a/ippisite/ippidb/models.py
+++ b/ippisite/ippidb/models.py
@@ -202,6 +202,7 @@ class Domain(AutoFillableModel):
     pfam_id = models.CharField('Pfam Family Identifier', max_length=20)
     pfam_description = models.CharField('Pfam Description', max_length=100)
     domain_family = models.CharField('Domain family', max_length=25)
+
     # TODO: what is this field? check database
     # contents
 
@@ -224,7 +225,7 @@ class Domain(AutoFillableModel):
 
 class ProteinDomainComplex(models.Model):
     """
-    Protein-Domain association 
+    Protein-Domain association
     """
     protein = models.ForeignKey('Protein', models.CASCADE)
     domain = models.ForeignKey('Domain', models.CASCADE)
@@ -277,11 +278,13 @@ class Symmetry(models.Model):
 
 class Disease(models.Model):
     name = models.CharField('Disease', max_length=30, unique=True)
+
     # is there any database/nomenclature for diseases?
 
     def __str__(self):
         return self.name
 
+
 class PpiFamily(models.Model):
     """
     PPI Family
@@ -358,11 +361,12 @@ class CompoundManager(models.Manager):
     """
 
     def get_queryset(self):
+        # @formatter:off
         qs = super().get_queryset()
         # with number of publications
         qs = qs.annotate(pubs=Count('refcompoundbiblio', distinct=True))
         # with best activity
-        qs = qs.annotate(best_activity=Max('compoundactivityresult__activity')) 
+        qs = qs.annotate(best_activity=Max('compoundactivityresult__activity'))
         # with LE
         qs = qs.annotate(le=Cast(1.37 * Max('compoundactivityresult__activity') / F('nb_atom_non_h'), FloatField()))
         # with LLE
@@ -418,13 +422,15 @@ class CompoundManager(models.Manager):
         qs = qs.annotate(cytoxtest_av=Cast(Max(Case(When(refcompoundbiblio__bibliography__cytotox=True, then=1), default=0, output_field=IntegerField())), BooleanField()))
         # in silico st performed
         qs = qs.annotate(insilico_av=Cast(Max(Case(When(refcompoundbiblio__bibliography__in_silico=True, then=1), default=0, output_field=IntegerField())), BooleanField()))
+        #@formatter:on
         return qs
 
+
 class Compound(AutoFillableModel):
     """
     Chemical compound
     """
-    objects = CompoundManager() 
+    objects = CompoundManager()
     canonical_smile = models.TextField(
         'Canonical Smile', unique=True)
     is_macrocycle = models.BooleanField('Contains one or more macrocycles')
@@ -500,20 +506,24 @@ class Compound(AutoFillableModel):
         'IUPAC name', max_length=255, blank=True, null=True)
 
     class Meta:
-       ordering = ['id']
+        ordering = ['id']
 
     def compute_drugbank_compound_similarity(self):
         """ compute Tanimoto similarity to existing DrugBank compounds """
         self.save()
         # fingerprints to compute drugbank similarities are in settings module, default FP2
         fingerprinter = FingerPrinter(getattr(settings, "DRUGBANK_FINGERPRINTS", "FP2"))
-        #1. compute tanimoto for SMILES query vs all compounds
-        smiles_dict = {c.id:c.canonical_smiles for c in DrugBankCompound.objects.all()}
+        # 1. compute tanimoto for SMILES query vs all compounds
+        smiles_dict = {c.id: c.canonical_smiles for c in DrugBankCompound.objects.all()}
         tanimoto_dict = fingerprinter.tanimoto_smiles(self.canonical_smile, smiles_dict)
         tanimoto_dict = dict(sorted(tanimoto_dict.items(), key=operator.itemgetter(1), reverse=True)[:15])
         dbcts = []
         for id_, tanimoto in tanimoto_dict.items():
-            dbcts.append(DrugbankCompoundTanimoto(compound=self, drugbank_compound=DrugBankCompound.objects.get(id=id_), tanimoto=tanimoto))
+            dbcts.append(DrugbankCompoundTanimoto(
+                compound=self,
+                drugbank_compound=DrugBankCompound.objects.get(id=id_),
+                tanimoto=tanimoto,
+            ))
         DrugbankCompoundTanimoto.objects.bulk_create(dbcts)
 
     @property
@@ -599,11 +609,11 @@ class Compound(AutoFillableModel):
         return the all PPI families for PPIs involved in the compound activity of the compound
         """
         return list(set([ca.ppi.family for ca in self.compoundaction_set.all()]))
-    
+
     @property
     def sorted_similar_drugbank_compounds(self):
         return self.drugbankcompoundtanimoto_set.order_by('-tanimoto')
-        
+
     def autofill(self):
         # compute InChi and InChiKey
         self.inchi = smi2inchi(self.canonical_smile)
@@ -613,6 +623,7 @@ class Compound(AutoFillableModel):
     def __str__(self):
         return 'Compound #{}'.format(self.id)
 
+
 class CompoundTanimoto(models.Model):
     canonical_smiles = models.TextField(
         'Canonical Smile')
@@ -625,22 +636,25 @@ class CompoundTanimoto(models.Model):
         unique_together = (
             ('canonical_smiles', 'fingerprint', 'compound'))
 
+
 def create_tanimoto(smiles_query, fingerprint):
     """
     Compute the Tanimoto similarity between a given SMILES and the compounds
     then insert the results in CompoundTanimoto
     """
-    if CompoundTanimoto.objects.filter(canonical_smiles=smiles_query, fingerprint=fingerprint).count()==0:
-        smiles_dict = {c.id:c.canonical_smile for c in Compound.objects.all()}
+    if CompoundTanimoto.objects.filter(canonical_smiles=smiles_query, fingerprint=fingerprint).count() == 0:
+        smiles_dict = {c.id: c.canonical_smile for c in Compound.objects.all()}
         fingerprinter = FingerPrinter(fingerprint)
-        #1. compute tanimoto for SMILES query vs all compounds
+        # 1. compute tanimoto for SMILES query vs all compounds
         tanimoto_dict = fingerprinter.tanimoto_smiles(smiles_query, smiles_dict)
-        #2. insert results in a table with three fields: SMILES query, compound id, tanimoto index
+        # 2. insert results in a table with three fields: SMILES query, compound id, tanimoto index
         cts = []
         for id_, smiles in smiles_dict.items():
-            cts.append(CompoundTanimoto(canonical_smiles=smiles_query, fingerprint=fingerprint, compound=Compound.objects.get(id=id_), tanimoto=tanimoto_dict[id_]))
+            cts.append(CompoundTanimoto(canonical_smiles=smiles_query, fingerprint=fingerprint,
+                                        compound=Compound.objects.get(id=id_), tanimoto=tanimoto_dict[id_]))
         CompoundTanimoto.objects.bulk_create(cts)
 
+
 class PcaBiplotData(models.Model):
     """
     PCA biplot data
@@ -686,21 +700,48 @@ class TestActivityDescription(models.Model):
         ('F', 'Full length'),
         ('U', 'Unspecified')
     )
-    biblio = models.ForeignKey(Bibliography, models.CASCADE)
+    biblio = models.ForeignKey(
+        Bibliography,
+        on_delete=models.CASCADE,
+    )
     protein_domain_bound_complex = models.ForeignKey(
-        ProteinDomainBoundComplex, models.CASCADE)
+        ProteinDomainBoundComplex,
+        on_delete=models.CASCADE,
+    )
     ppi = models.ForeignKey(Ppi, models.CASCADE, blank=True, null=True)
-    test_name = models.CharField('Test name', max_length=100)
-    is_primary = models.BooleanField('Is primary')
+    test_name = models.CharField(
+        verbose_name='Test name',
+        max_length=100,
+    )
+    is_primary = models.BooleanField(
+        verbose_name='Is primary',
+    )
     protein_bound_construct = models.CharField(
-        'Protein bound construct', max_length=5, choices=PROTEIN_BOUND_CONSTRUCTS, blank=True, null=True)
-    test_type = models.CharField('Test type', max_length=5, choices=TEST_TYPES)
+        verbose_name='Protein bound construct',
+        max_length=5,
+        choices=PROTEIN_BOUND_CONSTRUCTS,
+        blank=True,
+        null=True,
+    )
+    test_type = models.CharField(
+        verbose_name='Test type',
+        max_length=5,
+        choices=TEST_TYPES,
+    )
     test_modulation_type = models.CharField(
-        'Test modulation type', max_length=1, choices=TEST_MODULATION_TYPES)
+        verbose_name='Test modulation type',
+        max_length=1,
+        choices=TEST_MODULATION_TYPES,
+    )
     nb_active_compounds = models.IntegerField(
-        'Total number of active compounds')
+        verbose_name='Total number of active compounds',
+    )
     cell_line = models.ForeignKey(
-        CellLine, models.CASCADE, blank=True, null=True)
+        CellLine,
+        on_delete=models.CASCADE,
+        blank=True,
+        null=True,
+    )
 
     def get_complexes(self):
         """
@@ -758,7 +799,11 @@ class CompoundActivityResult(models.Model):
             ('compound', 'test_activity_description', 'activity_type'),)
 
     def __str__(self):
-        return 'Compound activity result for {} test {} on {}'.format(self.activity_type, self.test_activity_description.id, self.compound.id)
+        return 'Compound activity result for {} test {} on {}'.format(
+            self.activity_type,
+            self.test_activity_description.id,
+            self.compound.id,
+        )
 
     def is_best(self):
         return self.compound.best_pXC50_compound_activity_result.id == self.id
@@ -788,7 +833,10 @@ class CompoundCytotoxicityResult(models.Model):
         unique_together = (('compound', 'test_cytotoxicity_description'),)
 
     def __str__(self):
-        return 'Compound cytotoxicity result for test {} on {}'.format(self.test_cytotoxicity_description.id, self.compound.id)
+        return 'Compound cytotoxicity result for test {} on {}'.format(
+            self.test_cytotoxicity_description.id,
+            self.compound.id,
+        )
 
 
 class TestPKDescription(models.Model):
@@ -871,6 +919,7 @@ class CompoundAction(models.Model):
     def __str__(self):
         return 'Action of {} on {}'.format(self.compound, self.ppi)
 
+
 class RefCompoundBiblio(models.Model):
     """
     Compound-Bibliographic reference association
@@ -883,6 +932,7 @@ class RefCompoundBiblio(models.Model):
     class Meta:
         unique_together = (('compound', 'bibliography'),)
 
+
 class DrugBankCompound(models.Model):
     """
     Drugbank compound
@@ -893,6 +943,7 @@ class DrugBankCompound(models.Model):
     canonical_smiles = models.TextField(
         'Canonical SMILES')
 
+
 class DrugbankCompoundTanimoto(models.Model):
     """
     Drugbank compound-compound tanimoto similarity