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
Hashes for dimorphite-ojmb-1.2.5.post1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a257737ff11a22ec90d88f6e37f4ec73433272d2699ffc9e9b760fb61a8f068b |
|
MD5 | 74155757d4980177b05f50ac04a9864b |
|
BLAKE2b-256 | 2b395cdec18788b4ee5320a6feaf5142b6909f3f7035f6f4016625d4c6b969c5 |
Hashes for dimorphite_ojmb-1.2.5.post1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 585cd9f8bdffe9fe975ccf6791a404cabc6a3e4033dc0d62ec55c529316c79ff |
|
MD5 | a3aa1ce0bf83fcebac99cbdfe22baff7 |
|
BLAKE2b-256 | 47fcbf2b1e7d62f15cec76ea40694415e53c59dc93bfdad177ec89e51df89dac |