Source code for mordred._base

import os
from importlib import import_module

from .descriptor import Descriptor
from .calculator import Calculator, get_descriptors_from_module
from .parallel import parallel


__all__ = (
    'all_descriptors',
    'Descriptor',
    'Calculator',
    'get_descriptors_from_module',
)


[docs]def all_descriptors(): r"""yield all descriptor modules. :returns: all modules :rtype: :py:class:`Iterator` (:py:class:`Descriptor`) """ base_dir = os.path.dirname(os.path.dirname(__file__)) for name in os.listdir(base_dir): name, ext = os.path.splitext(name) if name[:1] == '_' or ext != '.py': continue yield import_module('..' + name, __package__)
def Descriptor__call__(self, mol, id=-1): r"""calculate single descriptor value. :type id: int :param id: conformer id :returns: descriptor result :rtype: scalar """ return Calculator(self)(mol, id)[0] Descriptor.__call__ = Descriptor__call__ Calculator._parallel = parallel