Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dimorphite-ojmb-1.2.5.post1.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

dimorphite_ojmb-1.2.5.post1-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

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

Hashes for dimorphite-ojmb-1.2.5.post1.tar.gz
Algorithm Hash digest
SHA256 a257737ff11a22ec90d88f6e37f4ec73433272d2699ffc9e9b760fb61a8f068b
MD5 74155757d4980177b05f50ac04a9864b
BLAKE2b-256 2b395cdec18788b4ee5320a6feaf5142b6909f3f7035f6f4016625d4c6b969c5

See more details on using hashes here.

File details

Details for the file dimorphite_ojmb-1.2.5.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for dimorphite_ojmb-1.2.5.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 585cd9f8bdffe9fe975ccf6791a404cabc6a3e4033dc0d62ec55c529316c79ff
MD5 a3aa1ce0bf83fcebac99cbdfe22baff7
BLAKE2b-256 47fcbf2b1e7d62f15cec76ea40694415e53c59dc93bfdad177ec89e51df89dac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page