diff --git a/ippisite/ippidb/models.py b/ippisite/ippidb/models.py index ba47ac4a7d0c1d71a95b8437cb848b2df8ce4f25..32cf38fddcfcc6875c4fa6eaa3ee2c2ffb66f982 100644 --- a/ippisite/ippidb/models.py +++ b/ippisite/ippidb/models.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals from django.db import models from django_pandas.managers import DataFrameManager +from django.db.models import Max from .ws import get_pubmed_info, get_epo_info, get_uniprot_info, get_taxonomy_info, get_go_info, get_pfam_info @@ -407,6 +408,20 @@ class Compound(models.Model): def pfizer_global(self): return self.pfizer_a_log_p and self.pfizer_tpsa + @property + def le(self): + """ + LE: Ligand Efficiency + """ + return (1.37 * float(self.compoundactivityresult_set.aggregate(Max('activity'))['activity__max']))/self.nb_atom_non_h + + @property + def lle(self): + """ + LLE: Lipophilic Efficiency + """ + return float(self.compoundactivityresult_set.aggregate(Max('activity'))['activity__max'] - self.a_log_p) + class MDDRActivityClass(models.Model): name = models.CharField('Activity Class', max_length=100, unique=True)