Skip to main content

Synthetic accessibility scoring from RDKit Contrib SA_Score

Project description

neoralab-sascorer

License Python PyPI Docs

Synthetic accessibility scoring banner

A small, pip-installable wrapper around RDKit's Contrib/SA_Score implementation for computing the synthetic accessibility (SA) score.

📚 Documentation: See the MkDocs site content in docs/index.md.

Features

  • Simple Python API for SMILES or RDKit molecule inputs.
  • CLI for quick SA score checks from the shell.
  • Lightweight packaging with dynamic versioning from git tags.

Requirements

  • Python 3.8+
  • RDKit (install via conda or ensure a compatible wheel is available for your platform)

Installation

Dependency: This package requires RDKit. pip install neoralab-sascorer expects an RDKit wheel to be available for your platform. If you prefer conda, you can install RDKit via conda and then install this package.

Editable install from this repo:

uv pip install -e .

The fpscores.pkl.gz fragment score file must be present in neoralab-sascorer/src/neoralab_sascorer/ (it is distributed with RDKit's Contrib/SA_Score and should be copied in before building a wheel).

Usage

Python API

from neoralab_sascorer import sa_score

score = sa_score("CC(=O)Oc1ccccc1C(=O)O")
print(score)
from rdkit import Chem
from neoralab_sascorer import sa_score_mol

mol = Chem.MolFromSmiles("CC(=O)Oc1ccccc1C(=O)O")
print(sa_score_mol(mol))

CLI

neoralab-sascorer "CC(=O)Oc1ccccc1C(=O)O"

Output format:

<SMILES>\t<score>

Development

Versioning

This project uses versioningit to derive versions from git tags. For example, a commit after the 0.1.0 tag will produce a version like 0.1.0.dev3.

Pre-commit

Install and run pre-commit hooks locally:

uv pip install pre-commit
pre-commit install
pre-commit run --all-files

Attribution

This package bundles the SA_Score implementation and data originally distributed in RDKit's Contrib/SA_Score, based on the method described by Ertl and Schuffenhauer ("Estimation of synthetic accessibility score of drug-like molecules based on molecular complexity and fragment contributions", J. Cheminformatics 1:8, 2009).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neoralab_sascorer-0.1.0.tar.gz (3.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neoralab_sascorer-0.1.0-py3-none-any.whl (3.9 MB view details)

Uploaded Python 3

File details

Details for the file neoralab_sascorer-0.1.0.tar.gz.

File metadata

  • Download URL: neoralab_sascorer-0.1.0.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for neoralab_sascorer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 315bf6a028a91d920bc7c185ba5677be248ee1ef40fc2a12584a1f800e5b9953
MD5 ea646032779a2a959383a1daf5e7c043
BLAKE2b-256 21d021c6c40d8128b0b752acc77bedf88a93996e82f323d249fadccd77a2694a

See more details on using hashes here.

File details

Details for the file neoralab_sascorer-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for neoralab_sascorer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f81355cf7286338f7a8960569783ee9fc0e47c6e89564c20d7c86d9ef28f6455
MD5 a3e868e7f74d6578307ba16fb3ce404b
BLAKE2b-256 011323e5dd7a0fdefabbcff72a0267a2f87352cfe190d0ae2d7e9e4ab6400dcf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page