Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/unixjunkie/dimorphite_dl
Mirror of https://git.durrantlab.pitt.edu/jdurrant/dimorphite_dl/
https://github.com/unixjunkie/dimorphite_dl
ph-range protonation
Last synced: about 1 month ago
JSON representation
Mirror of https://git.durrantlab.pitt.edu/jdurrant/dimorphite_dl/
- Host: GitHub
- URL: https://github.com/unixjunkie/dimorphite_dl
- Owner: UnixJunkie
- License: apache-2.0
- Created: 2019-03-26T02:29:18.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-09T13:21:08.000Z (about 2 years ago)
- Last Synced: 2023-10-20T23:36:35.207Z (about 1 year ago)
- Topics: ph-range, protonation
- Language: Python
- Homepage: https://durrantlab.pitt.edu/dimorphite-dl/
- Size: 76.2 KB
- Stars: 12
- Watchers: 4
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Dimorphite-DL 1.2.4
===================What is it?
-----------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.Usage
-----```
usage: dimorphite_dl.py [-h] [--min_ph MIN] [--max_ph MAX]
[--pka_precision PRE] [--smiles SMI]
[--smiles_file FILE] [--output_file FILE]
[--label_states] [--test]Dimorphite 1.2.4: Creates models of appropriately protonated small moleucles.
Apache 2.0 License. Copyright 2020 Jacob D. Durrant.optional arguments:
-h, --help show this help 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
--smiles_file FILE file that contains SMILES strings to protonate
--output_file FILE output file to write protonated SMILES (optional)
--label_states label protonated SMILES with target state (i.e.,
"DEPROTONATED", "PROTONATED", or "BOTH").
--test run unit tests (for debugging)
```The default pH range is 6.4 to 8.4, considered biologically relevant pH.
Examples
--------```
python dimorphite_dl.py --smiles_file sample_molecules.smi
python dimorphite_dl.py --smiles "CCC(=O)O" --min_ph -3.0 --max_ph -2.0
python dimorphite_dl.py --smiles "CCCN" --min_ph -3.0 --max_ph -2.0 --output_file output.smi
python dimorphite_dl.py --smiles_file sample_molecules.smi --pka_precision 2.0 --label_states
python dimorphite_dl.py --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,
output_file="output.smi"
)
print("Output of first test saved to output.smi...")# Using the dimorphite_dl.run_with_mol_list() function, you can also pass a
# list of RDKit Mol objects. The first argument is always the list.
smiles = ["C[C@](F)(Br)CC(O)=O", "CCCCCN"]
mols = [Chem.MolFromSmiles(s) for s in smiles]
for i, mol in enumerate(mols):
mol.SetProp("msg","Orig SMILES: " + smiles[i])protonated_mols = dimorphite_dl.run_with_mol_list(
mols,
min_ph=5.0,
max_ph=9.0,
)
print([Chem.MolToSmiles(m) for m in protonated_mols])# Note that properties are preserved.
print([m.GetProp("msg") for m in protonated_mols])
```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 ([email protected]) with any questions.