Enumerate states of small organic molecules: 3D coordinates, tautomers, pH-based adjustments
Project description
Scrubber
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
conda activate <desired-environment> # if you are using conda environments
git clone git@github.com:forlilab/scrubber.git
cd scrubber
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 scrubber 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
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file molscrub-0.1.0.tar.gz.
File metadata
- Download URL: molscrub-0.1.0.tar.gz
- Upload date:
- Size: 75.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddcd9118e5f55f52c33d6e9ef14fca922415076b9f740853806985420c337434
|
|
| MD5 |
d9d3e9e4eea70a51dff932c2de923510
|
|
| BLAKE2b-256 |
f17ca2038058fb02cf82f95b5854052feda913c7d007b2e63cdccc19a00bfb54
|
Provenance
The following attestation bundles were made for molscrub-0.1.0.tar.gz:
Publisher:
pypi-publish.yml on forlilab/molscrub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
molscrub-0.1.0.tar.gz -
Subject digest:
ddcd9118e5f55f52c33d6e9ef14fca922415076b9f740853806985420c337434 - Sigstore transparency entry: 165072454
- Sigstore integration time:
-
Permalink:
forlilab/molscrub@75ada895785088e5720d395beb4f6aed2edfd412 -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/forlilab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@75ada895785088e5720d395beb4f6aed2edfd412 -
Trigger Event:
release
-
Statement type:
File details
Details for the file molscrub-0.1.0-py3-none-any.whl.
File metadata
- Download URL: molscrub-0.1.0-py3-none-any.whl
- Upload date:
- Size: 99.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eeb1f10f4d23db9bc8661c13fa0e01c9a9ad413f37a3154bf08a2842844747d
|
|
| MD5 |
fea1b3b6e5dbfb54af6a9360310b30b6
|
|
| BLAKE2b-256 |
c0865a95f8f78e705017d4cb8fad82942bccfeb4bdde0e3637126a7552a8d30c
|
Provenance
The following attestation bundles were made for molscrub-0.1.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on forlilab/molscrub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
molscrub-0.1.0-py3-none-any.whl -
Subject digest:
1eeb1f10f4d23db9bc8661c13fa0e01c9a9ad413f37a3154bf08a2842844747d - Sigstore transparency entry: 165072455
- Sigstore integration time:
-
Permalink:
forlilab/molscrub@75ada895785088e5720d395beb4f6aed2edfd412 -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/forlilab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@75ada895785088e5720d395beb4f6aed2edfd412 -
Trigger Event:
release
-
Statement type: