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.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file dimorphite-ojmb-1.2.5.tar.gz.

File metadata

  • Download URL: dimorphite-ojmb-1.2.5.tar.gz
  • Upload date:
  • Size: 24.4 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.tar.gz
Algorithm Hash digest
SHA256 7486bb970e8fe604a7105772defbb1e03e81ccf3799eaac2898e43d6c88fc356
MD5 aa9d26c6a3d3d7ad38ee199951fd0f83
BLAKE2b-256 722994d71dd8d94ebaf8edb0a30b6dceb68c7673151410fb2982c29f6f5921b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dimorphite_ojmb-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 eb8b776e6bcbf05bcddf3182adbd9d5ddc63e32b71e9bdba956029d3cf21079a
MD5 f66984d161830b5ff4106e231d01a134
BLAKE2b-256 81bf45173fb888ad82b3bd0fd6d870eba3049e0ebe17421c572cc25d645de31f

See more details on using hashes here.

Supported by

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