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.5.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.5-py3-none-any.whl (3.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: neoralab_sascorer-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 5714cd72d656b3774df7bae37680107fbf2445c32a341172dee798e528ad05f0
MD5 228bddec9d85ba2620ca51bc0d216b42
BLAKE2b-256 9fcc961297ae46489586a57917ff65ec4537dc3dd4eae31b2df44072cf43e4aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for neoralab_sascorer-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e4230bfb2a32548d36a19e15c0e22e496d58d7291ee7e9c654cf09f0f89bb0a3
MD5 5841c5d6a1eb924e0b3e30ed4785f481
BLAKE2b-256 fd8f5205753897f952570939cc4479e712481c481e8b7ffd10f8ffbe3df8e69b

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