Search code examples
pythonrdkitcheminformatics

What is the difference between RDKit's molecule fingerprints: Fingerprints.FingerprintMols and Chem.RDKFingerprint?


Can anyone tell me when I should use FingerprintMols.FingerprintMol instead of Chem.RDKFingerprintwhen making molecule fingerprints? These are the two options:

fps = [FingerprintMols.FingerprintMol(x, minPath=1, maxPath=7, fpSize=2048,
                               bitsPerHash=2, useHs=True, tgtDensity=0.0,
                               minSize=128, fingerprinter=Chem.RDKFingerprint) for x in ms]


fps = [Chem.RDKFingerprint(x, ) for x in ms]

Is FingerprintMols.FingerprintMol more efficient?


Solution

  • I don't really sure what is your definition of more efficient? But to be exact, FingerprintMol is a small wrapper that is implemented at most to deal with Java and PostgreSQL. You can see it from the docs: utility functionality for fingerprinting sets of molecules includes a command line app for working with fingerprints and databases