Skip to main content

Molscrub Logo

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)

Source distribution for molscrub 0.3.1
File Size Uploaded Provenance
molscrub-0.3.1.tar.gz 54.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for molscrub 0.3.1
File Interpreter ABI Platform
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 log

Release 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 log

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

Select from 2 files

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 log

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

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