| Target | Caco-2 permeability, LogD and plasma protein binding: LogD Caco-2 permeability Papp AβB Caco-2 permeability Papp BβA mouse plasma protein binding (MPPB) human plasma protein binding (HPPB) |
| Endpoint | logββ-scaled permeability, LogD and percent unbound |
| Data source | ChEMBL aggregated deposition in OpenADMET data-catalogs |
| Featurizer | ChemPropFeaturizer with target normalization |
| Model | ChemPropModel, initialized from CheMeleon weights (from_chemeleon: true), 5 tasks, 3-layer FFN of width 512, dropout 0.25 |
| Split | ShuffleSplitter, train_size: 1.0, random_state: 42 |
| Trained with | openadmet-models via openadmet anvil |
This is a model trained on publicly available data. While we've done our best to curate the data, the model performance can still improve. Proceed with caution.
In this repo, we have our baseline model for Caco-2 permeability, LogD and plasma protein binding. It is a multitask CheMeleon model trained on logββ-scaled permeability, LogD and percent unbound data curated from ChEMBL for the following targets: LogD, Caco-2 permeability Papp AβB, Caco-2 permeability Papp BβA, mouse plasma protein binding (MPPB), human plasma protein binding (HPPB).
Update Notice: We have released an updated version of the model (v2) featuring enhanced curation of the ChEMBL training set. Key improvements include the exclusion of censored data (non-explicit modifiers like
<or>) to ensure high-fidelity regression and optimized outlier filtering. The legacy version remains accessible via the commit history.
This model predicts values (on ) for the Caco-2 endpoints. To get values in , backtransform:
For the protein binding endpoints, the model predicts . To get PPB values from %bound, subtract .
Comparative performance on the ExpansionRx dataset is written up here. The compounds used in that comparison come from the OpenADMET-ExpansionRx challenge.
It is a no split model, meaning it has been trained with no data allocated to validation and test sets and with just a training set fraction of 1.0. The training set contains 28,497 compounds.
Getting Started
We highly recommend you have the Anvil framework from openadmet-models installed in an environment (called openadmet-models) for ease of use and full utilization of OpenADMET's models. For full documentation, visit our website here. If you'd like to see some more examples on how to use Anvil, see our demos here.
Option A: Downloading & running the model with Github
- You can install openadmet-models via our GitHub package. If you want the latest development version, clone the repository and install in editable mode:
git clone git@github.com:OpenADMET/openadmet-models.git
- Set up an environment using the provided files in devtools/conda-envs.
cd openadmet-models/
conda env create -f devtools/conda-envs/openadmet-models.yaml
conda activate openadmet-models
pip install -e .
- If you want to use GPU acceleration, ensure you have the appropriate CUDA toolkit installed and use the openadmet-models-cuda.yaml file instead:
conda env create -f devtools/conda-envs/openadmet-models-gpu.yaml
conda activate openadmet-models
pip install -e .
IMPORTANT NOTE You will also need
git lfsinstalled.After installing Anvil, clone the model repo:
git clone https://huggingface.co/openadmet/permeability-logd-ppb-chemeleon-baseline/
- Change to the repo directory. Ensure you have
git lfsinstalled for the repo and get the large model files:
git lfs install
git lfs pull
- You are now ready to use the model!
Option B: Downloading & running the model with Docker
Alternatively, you can also use Docker to spin up a containerized pre-installed environment to run openadmet-models. Just be sure you are mounting the correct folder (./permeability-logd-ppb-chemeleon-baseline) where you've downloaded the model.
If you're using a gpu, run:
docker run -it --user=root --rm \
-v ./permeability-logd-ppb-chemeleon-baseline:/home/mambauser/model:rw \
--runtime=nvidia \
--gpus all \
ghcr.io/openadmet/openadmet-models:main
Otherwise, for cpu only:
docker run -it --user=root --rm \
-v ./permeability-logd-ppb-chemeleon-baseline:/home/mambauser/model:rw \
ghcr.io/openadmet/openadmet-models:main
Using the model
We will use this model for inference, aka predict the logββ-scaled endpoint values of a set of molecular compounds unseen to the model. For demonstration purposes, we have provided a small subset of compounds from a ZINC deck in the file compounds_for_inference.csv.
The generic command to run our inference pipeline is:
openadmet predict \
--input-path <the path to the data to predict on> \
--input-col <the column to of the data to predict on, often SMILES> \
--model-dir <the anvil_training directory of the model to predict with> \
--output-csv <the path to an output CSV to save the predictions to> \
--accelerator <whether to use gpu or cpu, defaults to gpu>
You can run this directly in your command line, OR you can use the bash script we've provided, run_model_inference.sh.
For our working example, this command becomes:
openadmet predict \
--input-path compounds_for_inference.csv \
--input-col OPENADMET_CANONICAL_SMILES \
--model-dir anvil_training/ \
--output-csv predictions.csv \
--accelerator cpu
You can easily substitute your own set of compounds, simply modify the --input-path and --input-col arguments for your specific dataset.
In our example, this outputs a file called predictions.csv which will have predicted (the OADMET_PRED columns) logββ-scaled endpoint values for each of the five endpoints the model was trained on:
OADMET_PRED_chemprop_logD,
OADMET_STD_chemprop_logD,
OADMET_PRED_chemprop_caco2_atob_LogPapp,
OADMET_STD_chemprop_caco2_atob_LogPapp,
OADMET_PRED_chemprop_caco2_btoa_LogPapp,
OADMET_STD_chemprop_caco2_btoa_LogPapp,
OADMET_PRED_chemprop_mppb_LogUnbound,
OADMET_STD_chemprop_mppb_LogUnbound,
OADMET_PRED_chemprop_hppb_LogUnbound,
OADMET_STD_chemprop_hppb_LogUnbound
NOTE In this example, the standard deviation (OADMET_STD) columns are empty because uncertainty cannot be estimated unless running inference on an ensemble of models. For further details, visit our demo specifically about ensembling.
- Downloads last month
- 68