ikmckenz / adme-pred-py

Python implementation of common ADME properties.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

adme-pred-py

This library supports computational drug discovery by implementing several druglikeness filters, medicinal chemistry filters, and provides an easy to use wrapping API for common cheminformatics calculations.

Getting started

We use Anaconda as the base Python, so first install it from here: https://www.anaconda.com/products/individual.

Then to get up and running, simply create an environment, add the conda-forge channel, and install from conda.

conda create -n adme-pred-py python=3.9
conda activate adme-pred-py
conda config --add channels conda-forge
conda install -c ikmckenz adme-pred-py

You can now import the main ADME class and get started!

from adme_pred import ADME

Examples

Asprin is druglike because it does not violate the Lipinski Rule of 5:

chem = "O=C(C)Oc1ccccc1C(=O)O"
mol = ADME(chem)
print(mol.druglikeness_lipinski(verbose=True))
No violations found

Paromomycin is not a small molecule drug, and so druglikeness filters will screen it out:

chem = "O=S(=O)(O)O.O([C@H]3[C@H](O[C@@H]2O[C@H](CO)[C@@H](O[C@H]1O[C@@H](CN)[C@@H](O)[C@H](O)[C@H]1N)[C@H]2O)[C@@H](O)[C@H](N)C[C@@H]3N)[C@H]4O[C@@H]([C@@H](O)[C@H](O)[C@H]4N)CO"
mol = ADME(chem)
print(*mol.druglikeness_lipinski(verbose=True), sep="\n")
H Bond Donors 15>5
H Bond Acceptors 21>10
Molecular Weight 713.263680664>500

Thalidomide triggers the Brenk medicinal chemistry filter:

chem = "O=C(N1C2CCC(NC2=O)=O)C3=CC=CC=C3C1=O"
mol = ADME(chem)
print(mol.brenk())
True

Contribute!

We want to replicate most of the functionality of SwissADME. We want the core code to be abstract enough that it can produce a extensive report on a single compound like SwissADME, or be used as a filter in a screen. (Ex. for compound in compounds if lipinski_druglikeness then ...) We will probably also want to implement some functionality from Open Source Bayesian Models.

We are open to novice contributors, and maintain a issues good for beginners in our issues.

About

Python implementation of common ADME properties.

License:GNU Affero General Public License v3.0


Languages

Language:Python 99.8%Language:Shell 0.2%