Name | molscrub JSON |
Version |
0.1.1
JSON |
| download |
home_page | https://github.com/forlilab/molscrub |
Summary | Enumerate states of small organic molecules: 3D coordinates, tautomers, pH-based adjustments |
upload_time | 2025-01-24 02:22:35 |
maintainer | None |
docs_url | None |
author | Forli Lab |
requires_python | >=3.8 |
license | GPL-v3 |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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
```sh
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:
```sh
conda activate <desired-environment>
conda install rdkit -c conda-forge
```
## Python scripting
```python
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
```sh
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:
```sh
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
```
Raw data
{
"_id": null,
"home_page": "https://github.com/forlilab/molscrub",
"name": "molscrub",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Forli Lab",
"author_email": "forli@scripps.edu",
"download_url": "https://files.pythonhosted.org/packages/a0/d1/64282926fad1c096964977455670d14d14e444a2def0f24be22cf0687f6f/molscrub-0.1.1.tar.gz",
"platform": null,
"description": "# Scrubber\nProcess large numbers of small molecules for docking with AutoDock.\nMay be useful for structure-based modeling in general.\n\nWhat happens:\n - generate 3D coordinates using RDKit's ETKDGv3 and UFF minimization\n - enumerate tautomers (aiming at low energy states only)\n - enumerate pH corrections\n - convert boats to chairs (6-member rings) and enumerate both chair states\n - enumerate chiral centers (not implemented right now)\n\n\n# Installation\n```sh\nconda activate <desired-environment> # if you are using conda environments\n\ngit clone git@github.com:forlilab/scrubber.git\ncd scrubber\npip install -e .\n```\n\nDepends on the RDKit, which can be installed from conda-forge in the desired environment:\n```sh\nconda activate <desired-environment>\nconda install rdkit -c conda-forge\n```\n\n## Python scripting\n```python\nfrom rdkit import Chem\nfrom scrubber import Scrub\n\nscrub = Scrub(\n ph_low=7.4,\n ph_high=7.4,\n)\n\nmol = Chem.MolFromSmiles(\"Clc1c(OCCC3)c3ccc1C(=O)Nc2nc[nH]c2\")\n\n# each state (e.g. tautomer) an rdkit mol and may have multiple conformers\nfor mol_state in scrub(mol):\n print(Chem.MolToSmiles(mol_state), \"nr conformers: %d\" % mol_state.GetNumConformers())\n```\n\n## Command line tool examples\n```sh\nscrub.py \"c1cc[nH]c(=O)c1\" -o scrubbed.sdf --pH 5 --skip_gen3d\nscrub.py input_mols.sdf -o scrubbed.sdf\nscrub.py input_mols.smi -o scrubbed.sdf\n```\n\nOther options described in the help message:\n```sh\nscrub.py -h\n```\n\nWhere \"input\\_mols.smi\" can look like this:\n```\nCC(=O)O aceticacid\nCN(C)C trimethylamine \nClc1cc(O)ccc1C(=O)Nc2nc[nH]c2 hello_mol\nc1cccc1 rdkit_will_cry\nCCC good4bbq\nCCO alsogood4bbq\nc1cccnc1CC(=O)C a_ketone\n```\n",
"bugtrack_url": null,
"license": "GPL-v3",
"summary": "Enumerate states of small organic molecules: 3D coordinates, tautomers, pH-based adjustments",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/forlilab/molscrub"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "97a98b6636d2b6b0d0e5586490c28e8092ac0b5575708f6675c6c2bbe7d88295",
"md5": "e8a7dc4fcb589be6310d5c669f7c8d4d",
"sha256": "41eda69e8ca7328d732e9ea24de234517527ff44b3a7083bb79a672abfa3345e"
},
"downloads": -1,
"filename": "molscrub-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e8a7dc4fcb589be6310d5c669f7c8d4d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 99999,
"upload_time": "2025-01-24T02:22:33",
"upload_time_iso_8601": "2025-01-24T02:22:33.836017Z",
"url": "https://files.pythonhosted.org/packages/97/a9/8b6636d2b6b0d0e5586490c28e8092ac0b5575708f6675c6c2bbe7d88295/molscrub-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a0d164282926fad1c096964977455670d14d14e444a2def0f24be22cf0687f6f",
"md5": "23a6a382d8e830e3d5e964a5e533b8a5",
"sha256": "4b1357752d62b0c235a1cc59eb4c9f05b540f1ab76b5d012ec7f4299dbef12a1"
},
"downloads": -1,
"filename": "molscrub-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "23a6a382d8e830e3d5e964a5e533b8a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 75563,
"upload_time": "2025-01-24T02:22:35",
"upload_time_iso_8601": "2025-01-24T02:22:35.337441Z",
"url": "https://files.pythonhosted.org/packages/a0/d1/64282926fad1c096964977455670d14d14e444a2def0f24be22cf0687f6f/molscrub-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-24 02:22:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "forlilab",
"github_project": "molscrub",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "molscrub"
}