Skip to content

v0.3.6

Choose a tag to compare

@dataprofessor dataprofessor released this 21 Oct 20:39
· 1 commit to main since this release

Added

  • 15 new fingerprint types (55 total: 37 2D + 10 3D + 8 graph): SECFP, ErG, Pharmacophore2D,
    Layered, Pattern, E3FP, MQN, GhoseCrippen, BCUT2D, SHED, FunctionalGroups, Physiochemical,
    CATS2D, Mordred, RDKit2D

Changed

  • Breaking: the 27 per-fingerprint sklearn classes (ECFPTransformer, MACCSTransformer, ...)
    are replaced by one FingerprintTransformer(fp_type, n_bits=None, n_jobs=1, sparse=False)
    that covers every fingerprint type. Replace e.g. ECFPTransformer() with
    FingerprintTransformer("ecfp4"). get_transformer() and TRANSFORMERS still work.

Fixed

  • MHFP, MAP4, SECFP, Lingo and Signature now give the same bits in every Python session.
    They hashed strings with built-in hash(), which is salted per process, so output changed
    between sessions and differed between n_jobs > 1 workers within a single matrix.
    Breaking: these five fingerprints produce different bits than before; retrain any model
    built on them. MAP4C and all other fingerprints are unchanged.
  • mapchiral is now a declared dependency, so MAP4C works after a plain pip install molfp
    (it previously raised ImportError unless mapchiral was installed separately).
  • mordredcommunity is now a declared dependency for Mordred descriptors. The original
    mordred package is unmaintained and returns errors for ~24% of descriptors on current numpy.
  • e3fp is now a declared dependency, so E3FP works after a plain pip install molfp.
  • Physiochemical and RDKit2D descriptors now use a fixed list of 210 RDKit descriptors in a
    fixed order. They previously followed RDKit's descList, whose length and column order change
    between RDKit releases (209 in 2023.03, 210 in 2024.03, 217 in 2025.09, with new descriptors
    inserted mid-list), so a column could mean a different descriptor on another RDKit version.
    Output is unchanged on RDKit 2024.03; descriptors missing from an older RDKit are filled with 0.
  • Removed RDKit deprecation warnings ("please use MorganGenerator") by moving Morgan,
    atom-pair and topological-torsion fingerprints to rdFingerprintGenerator. Output is
    bit-identical to before.