MLCIL/scikit-fingerprints

Scikit-learn compatible library for molecular fingerprints and chemoinformatics

What it solves

It simplifies the process of converting chemical structures (SMILES strings) into numerical formats that machine learning models can understand, enabling the creation of production-grade chemoinformatics ML pipelines.

How it works

The library provides a uniform .transform() API to compute various molecular fingerprints, filters, and distance measures. It integrates natively with scikit-learn, allowing users to incorporate molecular feature extraction directly into Pipeline and FeatureUnion objects. It leverages C++ RDKit for efficiency and supports parallelization and sparse matrices.

Who it’s for

Chemoinformaticians, medicinal chemists, and ML engineers working on molecular property prediction, drug discovery, or chemical dataset analysis.

Highlights

  • Extensive Fingerprint Library: Supports over 30 types, including ECFP, Avalon, MACCS, Mordred, and PubChem, as well as neural fingerprints from pretrained networks.
  • Molecular Analysis Tools: Includes over 30 molecular filters (e.g., Lipinski Rule of 5) and 14 similarity/distance measures (e.g., Tanimoto).
  • Reliability Checks: Provides 11 applicability domain methods to evaluate if a new molecule is within the reliable range of a trained model.
  • Built-in Benchmarks: Integrated access to major datasets like MoleculeNet and Therapeutics Data Commons with pre-defined train-test splits.

Related

  • Project
  • Project
  • Project
  • Project
  • Project