Skip to main content

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).

Metadata

Release files for neoralab-sascorer 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neoralab-sascorer 0.1.5
File Size Uploaded
neoralab_sascorer-0.1.5.tar.gz 3.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for neoralab-sascorer 0.1.5
File Interpreter ABI Platform
neoralab_sascorer-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 7.7 MB

Release files / neoralab_sascorer-0.1.5.tar.gz

Download URL neoralab_sascorer-0.1.5.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
5714cd72d656b3774df7bae37680107fbf2445c32a341172dee798e528ad05f0
BLAKE2b-256 checksum
How to use checksums
9fcc961297ae46489586a57917ff65ec4537dc3dd4eae31b2df44072cf43e4aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / neoralab_sascorer-0.1.5-py3-none-any.whl

Download URL neoralab_sascorer-0.1.5-py3-none-any.whl
Size 3.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e4230bfb2a32548d36a19e15c0e22e496d58d7291ee7e9c654cf09f0f89bb0a3
BLAKE2b-256 checksum
How to use checksums
fd8f5205753897f952570939cc4479e712481c481e8b7ffd10f8ffbe3df8e69b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page