Source code for mordred.MoeType
from rdkit.Chem import MolSurf
from rdkit.Chem.EState import EState_VSA as RDKit_EState_VSA
from ._base import Descriptor
__all__ = (
"LabuteASA",
"PEOE_VSA", "SMR_VSA", "SlogP_VSA",
"EState_VSA", "VSA_EState",
)
[docs]class LabuteASA(Descriptor):
r"""Labute's Approximate Surface Area descriptor(rdkit wrapper)."""
since = "1.0.0"
__slots__ = ()
explicit_hydrogens = False
[docs] def description(self):
return "Labute's Approximate Surface Area"
@classmethod
def preset(cls, version):
yield cls()
def __str__(self):
return self.__class__.__name__
def parameters(self):
return ()
def calculate(self):
return MolSurf.LabuteASA(self.mol)
rtype = float
class MoeTypeBase(Descriptor):
__slots__ = ("_k",)
explicit_hydrogens = False
_module = MolSurf
@classmethod
def preset(cls, version):
return map(cls, range(1, cls.k_max))
def description(self):
return self._fn.__doc__
@property
def _fn(self):
return getattr(self._module, str(self))
def __str__(self):
return self.__class__.__name__ + str(self._k)
def parameters(self):
return (self._k,)
def __init__(self, k=1):
assert 1 <= k <= self.k_max
self._k = k
def calculate(self):
return self._fn(self.mol)
rtype = float
[docs]class PEOE_VSA(MoeTypeBase):
r"""MOE type descriptors using gasteiger charge and surface area contribution(rdkit wrapper).
:type k: int
:param k: (:math:`1 <= k <= k_{\rm max}`)
"""
since = "1.0.0"
__slots__ = ()
k_max = 14
[docs]class SMR_VSA(MoeTypeBase):
r"""MOE type descriptors using Wildman-Crippen MR and surface area contribution(rdkit wrapper).
:type k: int
:param k: (:math:`1 <= k <= k_{\rm max}`)
"""
since = "1.0.0"
__slots__ = ()
k_max = 10
[docs]class SlogP_VSA(MoeTypeBase):
r"""MOE type descriptors using Wildman-Crippen LogP and surface area contribution(rdkit wrapper).
:type k: int
:param k: (:math:`1 <= k <= k_{\rm max}`)
"""
since = "1.0.0"
__slots__ = ()
k_max = 12
[docs]class EState_VSA(MoeTypeBase):
r"""MOE type descriptors using EState indices and surface area contribution(rdkit wrapper).
:type k: int
:param k: (:math:`1 <= k <= k_{\rm max}`)
"""
since = "1.0.0"
__slots__ = ()
_module = RDKit_EState_VSA
k_max = 11
[docs]class VSA_EState(MoeTypeBase):
r"""MOE type descriptors using EState indices and surface area contribution(rdkit wrapper).
:type k: int
:param k: (:math:`1 <= k <= k_{\rm max}`)
"""
since = "1.0.0"
__slots__ = ()
_module = RDKit_EState_VSA
k_max = 10