Source code for mordred.Weight
from rdkit.Chem.Descriptors import ExactMolWt
from ._base import Descriptor
__all__ = (
"Weight",
)
[docs]class Weight(Descriptor):
r"""molecular weight descriptor.
:type averaged: bool
:param averaged: averaged by number of atom
"""
[docs] def description(self):
return "{}molecular weight".format("averaged " if self._averaged else "")
__slots__ = ("_averaged",)
explicit_hydrogens = True
@classmethod
def preset(cls):
yield cls(False)
yield cls(True)
def __str__(self):
return "AMW" if self._averaged else "MW"
def parameters(self):
return self._averaged,
def __init__(self, averaged=False):
self._averaged = averaged
def calculate(self):
w = ExactMolWt(self.mol)
if self._averaged:
w /= self.mol.GetNumAtoms()
return w
rtype = float