molscrub


Namemolscrub JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/forlilab/molscrub
SummaryEnumerate states of small organic molecules: 3D coordinates, tautomers, pH-based adjustments
upload_time2025-01-24 02:22:35
maintainerNone
docs_urlNone
authorForli Lab
requires_python>=3.8
licenseGPL-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"
}
        
Elapsed time: 0.46605s