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