Molscrub
Process large numbers of small molecules for docking with AutoDock. May be useful for structure-based modeling in general.
What happens:
- generate 3D coordinates using RDKit's ETKDGv3 and UFF minimization
- enumerate tautomers (aiming at low energy states only)
- enumerate pH corrections
- convert boats to chairs (6-member rings) and enumerate both chair states
- enumerate chiral centers (not implemented right now)
Installation
Direct installation:
conda activate <desired-environment> # if you are using conda environments
pip install git+https://github.com/forlilab/molscrub.git
For developers:
conda activate <desired-environment> # if you are using conda environments
git clone git@github.com:forlilab/molscrub.git
cd molscrub
pip install -e .
Depends on the RDKit, which can be installed from conda-forge in the desired environment:
conda activate <desired-environment>
conda install rdkit -c conda-forge
Python scripting
from rdkit import Chem
from molscrub import Scrub
scrub = Scrub(
ph_low=7.4,
ph_high=7.4,
)
mol = Chem.MolFromSmiles("Clc1c(OCCC3)c3ccc1C(=O)Nc2nc[nH]c2")
# each state (e.g. tautomer) an rdkit mol and may have multiple conformers
for mol_state in scrub(mol):
print(Chem.MolToSmiles(mol_state), "nr conformers: %d" % mol_state.GetNumConformers())
Command line tool examples
scrub.py "c1cc[nH]c(=O)c1" -o scrubbed.sdf --ph 5 --skip_gen3d
scrub.py input_mols.sdf -o scrubbed.sdf
scrub.py input_mols.smi -o scrubbed.sdf
# different model for protonation
scrub.py "c1cc[nH]c(=O)c1" --pka_model etr1 -o scrubbed.sdf
Other options described in the help message:
scrub.py -h
Where "input_mols.smi" can look like this:
CC(=O)O aceticacid
CN(C)C trimethylamine
Clc1cc(O)ccc1C(=O)Nc2nc[nH]c2 hello_mol
c1cccc1 rdkit_will_cry
CCC good4bbq
CCO alsogood4bbq
c1cccnc1CC(=O)C a_ketone
Metadata
Release files for molscrub 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| molscrub-0.3.1.tar.gz | 54.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| molscrub-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 130.9 kB
Release files / molscrub-0.3.1.tar.gz
| Download URL | molscrub-0.3.1.tar.gz |
|---|---|
| Size | 54.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1aa5702fdbadb60d6972ea68f1c1aea30e741775287879654f0f8fe762032aed
|
|
BLAKE2b-256 checksum How to use checksums |
8a6cbfb8bdfe6d58d9e15e2397fcfb352816e3c3adc555747de59bc28e78c4c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logRelease files / molscrub-0.3.1-py3-none-any.whl
| Download URL | molscrub-0.3.1-py3-none-any.whl |
|---|---|
| Size | 76.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
25c496b096b0e718d7378a573b098a8b1e1b3f1a5b764667b3c5ad7bbdc59129
|
|
BLAKE2b-256 checksum How to use checksums |
3a9405b90db23b3a0e950457ced9aa9d45d03b5a477dbc04a7cb5d1f1270f87d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logSecurity for molscrub 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for molscrub-0.3.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.