scikit-fingerprints  by MLCIL

Generate molecular fingerprints and chemoinformatics ML pipelines

Created 3 years ago
377 stars

Top 75.1% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

MLCIL/scikit-fingerprints provides a Python library for efficient molecular fingerprint generation and chemoinformatics tasks, designed to streamline the creation of machine learning pipelines. It targets researchers, engineers, and power users in cheminformatics, enabling them to quickly move from molecular structures (SMILES) to production-ready ML models with ease. The library offers a unified API for diverse chemoinformatic operations, significantly simplifying complex workflows.

How It Works

The library leverages a scikit-learn-compatible API, offering a uniform .transform() interface for over 30 molecular fingerprints (e.g., ECFP, Avalon, MACCS) and more than 30 molecular filters. It utilizes C++ RDKit under the hood for high performance, supporting parallelized computations and sparse matrix outputs. This design facilitates seamless integration with scikit-learn tools like Pipeline, FeatureUnion, and GridSearchCV, enabling efficient hyperparameter tuning and model deployment.

Quick Start & Requirements

  • Install: pip install scikit-fingerprints. For neural fingerprints: pip install "scikit-fingerprints[neural]". Install from GitHub for bleeding-edge features: pip install git+https://github.com/MLCIL/scikit-fingerprints.git.
  • Prerequisites: Python versions 3.10 to 3.13. Supported on Linux, Windows, and macOS.
  • Links: Documentation, Examples & tutorials, API Reference, and Publication details are mentioned within the README.

Highlighted Details

  • Supports over 30 molecular fingerprints (ECFP, Avalon, MACCS, Mordred, PubChem) and 30+ molecular filters (Lipinski Rule of 5, PAINS, REOS).
  • Includes 14 similarity and distance measures compatible with kNN, UMAP, and HDBSCAN.
  • Provides built-in support for benchmark datasets like MoleculeNet and Therapeutics Data Commons, including train-test splits.
  • Offers native scikit-learn integration for building, saving, and deploying ML pipelines.
  • Features fast, efficient, and parallelized computation with sparse matrix support.

Maintenance & Community

Contributions are welcome, but AI-generated contributions are strictly forbidden and will result in a ban and spam report. LLMs are permitted only for polishing human contributions. Details are available in CONTRIBUTING.md.

Licensing & Compatibility

The project is released under the MIT License, which is permissive for both academic and commercial use, allowing for integration into closed-source projects without significant restrictions.

Limitations & Caveats

Installing directly from GitHub provides access to potentially unstable or undocumented bleeding-edge features. The project has a strict policy against AI-generated contributions, which may be a consideration for some development workflows.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
11
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Vincent Weisser Vincent Weisser(Cofounder of Prime Intellect), and
2 more.

evo by evo-design

0.2%
2k
DNA foundation model for long-context biological sequence modeling and design
Created 2 years ago
Updated 3 months ago
Feedback? Help us improve.