Dimorphite-DL
=============
This repository is a modified version of [Durrant Lab](https://durrantlab.pitt.edu/)'s original [Dimorphite-DL](https://git.durrantlab.pitt.edu/jdurrant/dimorphite_dl) implementation ([original article](https://www.doi.org/10.1186/s13321-019-0336-9)).
Changes were brought to facilitate its installation and integration in bigger cheminformatics projects (see [CHANGES.md](CHANGES.md)).
What is it?
-----------
As stated on Durrant's Lab original GitLab page:
<table>
<tr>
<td align="justify">
Dimorphite-DL adds hydrogen atoms to molecular representations, as appropriate
for a user-specified pH range.
It is a fast, accurate, accessible, and modular open-source program for enumerating small-molecule ionization states.
Users can provide SMILES strings from the command line or via an .smi file.
</td>
</tr>
</table>
Citation
--------
If you use Dimorphite-DL in your research, please cite:
Ropp PJ, Kaminsky JC, Yablonski S, Durrant JD (2019) Dimorphite-DL: An
open-source program for enumerating the ionization states of drug-like small
molecules. J Cheminform 11:14. doi:[10.1186/s13321-019-0336-9](https://www.doi.org/10.1186/s13321-019-0336-9).
Licensing
---------
Dimorphite-DL is released under the Apache 2.0 license. See LICENCE.txt for
details.
Installation
---------
This modified version of Dimorphite-DL can be installed using [pip](https://pip.pypa.io/en/stable/getting-started/):
```bash
pip install dimorphite-ojmb
```
If the above does not work, you can run the installation like so:
```bash
python -m pip install dimorphite-ojmb
```
Usage
-----
```
usage: dimorphite [-h] [--min_ph MIN] [--max_ph MAX] [--pka_precision PRE]
[--smiles SMI] [--smiles_file FILE] [--output_file FILE]
[--max_variants MXV] [--label_states] [--silent] [--test]
Dimorphite 1.2.4: Creates models of appropriately protonated small moleucles.
Apache 2.0 License. Copyright 2020 Jacob D. Durrant.
Options:
-h, --help Show this message and exit.
--min_ph MIN minimum pH to consider (default: 6.4)
--max_ph MAX maximum pH to consider (default: 8.4)
--pka_precision PRE pKa precision factor (number of standard devations,
default: 1.0)
--smiles SMI SMILES string to protonate NOTE: This argument is
mutually exclusive with smiles_file. [required]
--smiles_file FILE file that contains SMILES strings to protonate NOTE:
This argument is mutually exclusive with smiles.
[required]
--output_file FILE output file to write protonated SMILES (optional)
--max_variants MXV limit number of variants per input compound (default:
128)
--label_states label protonated SMILES with target state (i.e.,
"DEPROTONATED", "PROTONATED", or "BOTH").
--silent do not print any messages to the screen
--test run unit tests (for debugging)
```
The default pH range is 6.4 to 8.4, considered biologically relevant pH.
CLI usage examples
--------
```
dimorphite --smiles_file sample_molecules.smi
dimorphite --smiles "CCC(=O)O" --min_ph -3.0 --max_ph -2.0
dimorphite --smiles "CCCN" --min_ph -3.0 --max_ph -2.0 --output_file output.smi
dimorphite --smiles_file sample_molecules.smi --pka_precision 2.0 --label_states
dimorphite --test
```
Advanced Usage
--------------
It is also possible to access Dimorphite-DL from another Python script, rather
than from the command line. Here's an example:
```python
from rdkit import Chem
import dimorphite_dl
# Using the dimorphite_dl.run() function, you can run Dimorphite-DL exactly as
# you would from the command line. Here's an example:
dimorphite_dl.run(smiles="CCCN",
min_ph=-3.0,
max_ph=-2.0)
# One can also provide multiple SMILES at once.
dimorphite_dl.run(["C[C@](F)(Br)CC(O)=O", "CCCCCN"],
min_ph=5.0,
max_ph=9.0,
silent=True)
```
Caveats
-------
Dimorphite-DL deprotonates indoles and pyrroles around pH 14.5. But these
substructures can also be protonated around pH -3.5. Dimorphite does not
perform the protonation.
Authors and Contacts
--------------------
See the `CONTRIBUTORS.md` file for a full list of contributors. Please contact
Jacob Durrant (durrantj@pitt.edu) with any questions.
Raw data
{
"_id": null,
"home_page": "https://durrantlab.pitt.edu/dimorphite-dl/",
"name": "dimorphite-ojmb",
"maintainer": "Olivier J. M. B\u00e9quignon",
"docs_url": null,
"requires_python": "",
"maintainer_email": "\"olivier.bequignon.maintainer@gmail.com\"",
"keywords": "Ionization,pH,Protonation,Modeling,Virtual screening,Drug discovery",
"author": "",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/2b/39/5cdec18788b4ee5320a6feaf5142b6909f3f7035f6f4016625d4c6b969c5/dimorphite-ojmb-1.2.5.post1.tar.gz",
"platform": null,
"description": "Dimorphite-DL\r\n=============\r\n\r\nThis repository is a modified version of [Durrant Lab](https://durrantlab.pitt.edu/)'s original [Dimorphite-DL](https://git.durrantlab.pitt.edu/jdurrant/dimorphite_dl) implementation ([original article](https://www.doi.org/10.1186/s13321-019-0336-9)).\r\n\r\nChanges were brought to facilitate its installation and integration in bigger cheminformatics projects (see [CHANGES.md](CHANGES.md)).\r\n\r\nWhat is it?\r\n-----------\r\n\r\nAs stated on Durrant's Lab original GitLab page: \r\n<table>\r\n <tr>\r\n <td align=\"justify\">\r\nDimorphite-DL adds hydrogen atoms to molecular representations, as appropriate\r\nfor a user-specified pH range. \r\nIt is a fast, accurate, accessible, and modular open-source program for enumerating small-molecule ionization states. \r\nUsers can provide SMILES strings from the command line or via an .smi file.\r\n</td>\r\n </tr>\r\n</table>\r\n\r\nCitation\r\n--------\r\n\r\nIf you use Dimorphite-DL in your research, please cite:\r\n\r\nRopp PJ, Kaminsky JC, Yablonski S, Durrant JD (2019) Dimorphite-DL: An\r\nopen-source program for enumerating the ionization states of drug-like small\r\nmolecules. J Cheminform 11:14. doi:[10.1186/s13321-019-0336-9](https://www.doi.org/10.1186/s13321-019-0336-9).\r\n\r\nLicensing\r\n---------\r\n\r\nDimorphite-DL is released under the Apache 2.0 license. See LICENCE.txt for\r\ndetails.\r\n\r\nInstallation\r\n---------\r\n\r\nThis modified version of Dimorphite-DL can be installed using [pip](https://pip.pypa.io/en/stable/getting-started/):\r\n```bash\r\npip install dimorphite-ojmb\r\n```\r\nIf the above does not work, you can run the installation like so:\r\n```bash\r\npython -m pip install dimorphite-ojmb\r\n```\r\n\r\n\r\n\r\nUsage\r\n-----\r\n\r\n```\r\nusage: dimorphite [-h] [--min_ph MIN] [--max_ph MAX] [--pka_precision PRE]\r\n [--smiles SMI] [--smiles_file FILE] [--output_file FILE]\r\n [--max_variants MXV] [--label_states] [--silent] [--test]\r\n\r\nDimorphite 1.2.4: Creates models of appropriately protonated small moleucles.\r\nApache 2.0 License. Copyright 2020 Jacob D. Durrant.\r\n\r\nOptions:\r\n -h, --help Show this message and exit.\r\n --min_ph MIN minimum pH to consider (default: 6.4)\r\n --max_ph MAX maximum pH to consider (default: 8.4)\r\n --pka_precision PRE pKa precision factor (number of standard devations,\r\n default: 1.0)\r\n --smiles SMI SMILES string to protonate NOTE: This argument is\r\n mutually exclusive with smiles_file. [required]\r\n --smiles_file FILE file that contains SMILES strings to protonate NOTE:\r\n This argument is mutually exclusive with smiles.\r\n [required]\r\n --output_file FILE output file to write protonated SMILES (optional)\r\n --max_variants MXV limit number of variants per input compound (default:\r\n 128)\r\n --label_states label protonated SMILES with target state (i.e.,\r\n \"DEPROTONATED\", \"PROTONATED\", or \"BOTH\").\r\n --silent do not print any messages to the screen\r\n --test run unit tests (for debugging)\r\n```\r\n\r\nThe default pH range is 6.4 to 8.4, considered biologically relevant pH.\r\n\r\nCLI usage examples\r\n--------\r\n\r\n```\r\n dimorphite --smiles_file sample_molecules.smi\r\n dimorphite --smiles \"CCC(=O)O\" --min_ph -3.0 --max_ph -2.0\r\n dimorphite --smiles \"CCCN\" --min_ph -3.0 --max_ph -2.0 --output_file output.smi\r\n dimorphite --smiles_file sample_molecules.smi --pka_precision 2.0 --label_states\r\n dimorphite --test\r\n```\r\n\r\nAdvanced Usage\r\n--------------\r\n\r\nIt is also possible to access Dimorphite-DL from another Python script, rather\r\nthan from the command line. Here's an example:\r\n\r\n```python\r\nfrom rdkit import Chem\r\nimport dimorphite_dl\r\n\r\n# Using the dimorphite_dl.run() function, you can run Dimorphite-DL exactly as\r\n# you would from the command line. Here's an example:\r\ndimorphite_dl.run(smiles=\"CCCN\",\r\n min_ph=-3.0,\r\n max_ph=-2.0)\r\n\r\n\r\n# One can also provide multiple SMILES at once.\r\ndimorphite_dl.run([\"C[C@](F)(Br)CC(O)=O\", \"CCCCCN\"],\r\n min_ph=5.0,\r\n max_ph=9.0,\r\n silent=True)\r\n```\r\n\r\nCaveats\r\n-------\r\n\r\nDimorphite-DL deprotonates indoles and pyrroles around pH 14.5. But these\r\nsubstructures can also be protonated around pH -3.5. Dimorphite does not\r\nperform the protonation.\r\n\r\nAuthors and Contacts\r\n--------------------\r\n\r\nSee the `CONTRIBUTORS.md` file for a full list of contributors. Please contact\r\nJacob Durrant (durrantj@pitt.edu) with any questions.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An open-source program for enumerating the ionization states of drug-like small molecules",
"version": "1.2.5.post1",
"project_urls": {
"Homepage": "https://durrantlab.pitt.edu/dimorphite-dl/"
},
"split_keywords": [
"ionization",
"ph",
"protonation",
"modeling",
"virtual screening",
"drug discovery"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "47fcbf2b1e7d62f15cec76ea40694415e53c59dc93bfdad177ec89e51df89dac",
"md5": "a3aa1ce0bf83fcebac99cbdfe22baff7",
"sha256": "585cd9f8bdffe9fe975ccf6791a404cabc6a3e4033dc0d62ec55c529316c79ff"
},
"downloads": -1,
"filename": "dimorphite_ojmb-1.2.5.post1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a3aa1ce0bf83fcebac99cbdfe22baff7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 24376,
"upload_time": "2023-09-10T16:43:13",
"upload_time_iso_8601": "2023-09-10T16:43:13.396633Z",
"url": "https://files.pythonhosted.org/packages/47/fc/bf2b1e7d62f15cec76ea40694415e53c59dc93bfdad177ec89e51df89dac/dimorphite_ojmb-1.2.5.post1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2b395cdec18788b4ee5320a6feaf5142b6909f3f7035f6f4016625d4c6b969c5",
"md5": "74155757d4980177b05f50ac04a9864b",
"sha256": "a257737ff11a22ec90d88f6e37f4ec73433272d2699ffc9e9b760fb61a8f068b"
},
"downloads": -1,
"filename": "dimorphite-ojmb-1.2.5.post1.tar.gz",
"has_sig": false,
"md5_digest": "74155757d4980177b05f50ac04a9864b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 24457,
"upload_time": "2023-09-10T16:43:15",
"upload_time_iso_8601": "2023-09-10T16:43:15.085681Z",
"url": "https://files.pythonhosted.org/packages/2b/39/5cdec18788b4ee5320a6feaf5142b6909f3f7035f6f4016625d4c6b969c5/dimorphite-ojmb-1.2.5.post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-10 16:43:15",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "dimorphite-ojmb"
}