{"id":17255127,"url":"https://github.com/unixjunkie/dimorphite_dl","last_synced_at":"2025-08-22T08:08:44.008Z","repository":{"id":144782318,"uuid":"177700246","full_name":"UnixJunkie/dimorphite_dl","owner":"UnixJunkie","description":"Mirror of https://git.durrantlab.pitt.edu/jdurrant/dimorphite_dl/","archived":false,"fork":false,"pushed_at":"2022-11-09T13:21:08.000Z","size":78,"stargazers_count":18,"open_issues_count":1,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T05:43:31.036Z","etag":null,"topics":["ph-range","protonation"],"latest_commit_sha":null,"homepage":"https://durrantlab.pitt.edu/dimorphite-dl/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UnixJunkie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-03-26T02:29:18.000Z","updated_at":"2025-04-02T17:25:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"d3066ad8-9aef-456f-8fd3-6344ed7e923b","html_url":"https://github.com/UnixJunkie/dimorphite_dl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/UnixJunkie/dimorphite_dl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fdimorphite_dl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fdimorphite_dl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fdimorphite_dl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fdimorphite_dl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UnixJunkie","download_url":"https://codeload.github.com/UnixJunkie/dimorphite_dl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fdimorphite_dl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271606595,"owners_count":24788979,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ph-range","protonation"],"created_at":"2024-10-15T07:10:45.585Z","updated_at":"2025-08-22T08:08:43.981Z","avatar_url":"https://github.com/UnixJunkie.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Dimorphite-DL 1.2.4\n===================\n\nWhat is it?\n-----------\n\nDimorphite-DL adds hydrogen atoms to molecular representations, as appropriate\nfor a user-specified pH range. It is a fast, accurate, accessible, and modular\nopen-source program for enumerating small-molecule ionization states.\n\nUsers can provide SMILES strings from the command line or via an .smi file.\n\nCitation\n--------\n\nIf you use Dimorphite-DL in your research, please cite:\n\nRopp PJ, Kaminsky JC, Yablonski S, Durrant JD (2019) Dimorphite-DL: An\nopen-source program for enumerating the ionization states of drug-like small\nmolecules. J Cheminform 11:14. doi:10.1186/s13321-019-0336-9.\n\nLicensing\n---------\n\nDimorphite-DL is released under the Apache 2.0 license. See LICENCE.txt for\ndetails.\n\nUsage\n-----\n\n```\nusage: dimorphite_dl.py [-h] [--min_ph MIN] [--max_ph MAX]\n                        [--pka_precision PRE] [--smiles SMI]\n                        [--smiles_file FILE] [--output_file FILE]\n                        [--label_states] [--test]\n\nDimorphite 1.2.4: Creates models of appropriately protonated small moleucles.\nApache 2.0 License. Copyright 2020 Jacob D. Durrant.\n\noptional arguments:\n  -h, --help           show this help message and exit\n  --min_ph MIN         minimum pH to consider (default: 6.4)\n  --max_ph MAX         maximum pH to consider (default: 8.4)\n  --pka_precision PRE  pKa precision factor (number of standard devations,\n                       default: 1.0)\n  --smiles SMI         SMILES string to protonate\n  --smiles_file FILE   file that contains SMILES strings to protonate\n  --output_file FILE   output file to write protonated SMILES (optional)\n  --label_states       label protonated SMILES with target state (i.e.,\n                       \"DEPROTONATED\", \"PROTONATED\", or \"BOTH\").\n  --test               run unit tests (for debugging)\n```\n\nThe default pH range is 6.4 to 8.4, considered biologically relevant pH.\n\nExamples\n--------\n\n```\n  python dimorphite_dl.py --smiles_file sample_molecules.smi\n  python dimorphite_dl.py --smiles \"CCC(=O)O\" --min_ph -3.0 --max_ph -2.0\n  python dimorphite_dl.py --smiles \"CCCN\" --min_ph -3.0 --max_ph -2.0 --output_file output.smi\n  python dimorphite_dl.py --smiles_file sample_molecules.smi --pka_precision 2.0 --label_states\n  python dimorphite_dl.py --test\n```\n\nAdvanced Usage\n--------------\n\nIt is also possible to access Dimorphite-DL from another Python script, rather\nthan from the command line. Here's an example:\n\n```python\nfrom rdkit import Chem\nimport dimorphite_dl\n\n# Using the dimorphite_dl.run() function, you can run Dimorphite-DL exactly as\n# you would from the command line. Here's an example:\ndimorphite_dl.run(\n   smiles=\"CCCN\",\n   min_ph=-3.0,\n   max_ph=-2.0,\n   output_file=\"output.smi\"\n)\nprint(\"Output of first test saved to output.smi...\")\n\n# Using the dimorphite_dl.run_with_mol_list() function, you can also pass a\n# list of RDKit Mol objects. The first argument is always the list.\nsmiles = [\"C[C@](F)(Br)CC(O)=O\", \"CCCCCN\"]\nmols = [Chem.MolFromSmiles(s) for s in smiles]\nfor i, mol in enumerate(mols):\n    mol.SetProp(\"msg\",\"Orig SMILES: \" + smiles[i])\n\nprotonated_mols = dimorphite_dl.run_with_mol_list(\n    mols,\n    min_ph=5.0,\n    max_ph=9.0,\n)\nprint([Chem.MolToSmiles(m) for m in protonated_mols])\n\n# Note that properties are preserved.\nprint([m.GetProp(\"msg\") for m in protonated_mols])\n```\n\nCaveats\n-------\n\nDimorphite-DL deprotonates indoles and pyrroles around pH 14.5. But these\nsubstructures can also be protonated around pH -3.5. Dimorphite does not\nperform the protonation.\n\nAuthors and Contacts\n--------------------\n\nSee the `CONTRIBUTORS.md` file for a full list of contributors. Please contact\nJacob Durrant (durrantj@pitt.edu) with any questions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funixjunkie%2Fdimorphite_dl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funixjunkie%2Fdimorphite_dl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funixjunkie%2Fdimorphite_dl/lists"}