neoralab-sascorer
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-sascorerexpects 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)
| File | Size | Uploaded | |
|---|---|---|---|
| neoralab_sascorer-0.1.5.tar.gz | 3.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|