Source code for mordred.VertexAdjacencyInformation

import numpy as np

from ._base import Descriptor

__all__ = ('VertexAdjacencyInformation',)


[docs]class VertexAdjacencyInformation(Descriptor): r"""vertex adjacency information descriptor. .. math:: {\rm VAdjMat} = 1 + \log_2(m) where :math:`m` is number of heavy-heavy bonds. :returns: :math:`m = 0` """ __slots__ = () @classmethod def preset(cls): yield cls() explicit_hydrogens = False def __str__(self): return 'VAdjMat' def parameters(self): return () def calculate(self): m = sum( 1 for b in self.mol.GetBonds() if b.GetBeginAtom().GetAtomicNum() != 1 and b.GetEndAtom().GetAtomicNum() != 1 ) with self.rethrow_zerodiv(): return 1 + np.log2(m) rtype = float