An open-source program for enumerating the ionization states of drug-like small molecules
Project description
Dimorphite-DL
This repository is a modified version of Durrant Lab's original Dimorphite-DL implementation (original article).
Changes were brought to facilitate its installation and integration in bigger cheminformatics projects (see CHANGES.md).
What is it?
As stated on Durrant's Lab original GitLab page:
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. |
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.
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:
pip install dimorphite-ojmb
If the above does not work, you can run the installation like so:
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:
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.
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file dimorphite-ojmb-1.2.5.post1.tar.gz
.
File metadata
- Download URL: dimorphite-ojmb-1.2.5.post1.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a257737ff11a22ec90d88f6e37f4ec73433272d2699ffc9e9b760fb61a8f068b |
|
MD5 | 74155757d4980177b05f50ac04a9864b |
|
BLAKE2b-256 | 2b395cdec18788b4ee5320a6feaf5142b6909f3f7035f6f4016625d4c6b969c5 |
File details
Details for the file dimorphite_ojmb-1.2.5.post1-py3-none-any.whl
.
File metadata
- Download URL: dimorphite_ojmb-1.2.5.post1-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 585cd9f8bdffe9fe975ccf6791a404cabc6a3e4033dc0d62ec55c529316c79ff |
|
MD5 | a3aa1ce0bf83fcebac99cbdfe22baff7 |
|
BLAKE2b-256 | 47fcbf2b1e7d62f15cec76ea40694415e53c59dc93bfdad177ec89e51df89dac |