Model details
| Target | farnesoid X receptor (FXR, CHEMBL2047) |
| Endpoint | pEC50, the per-compound mean of ChEMBL pchembl_value over EC50 records (pchembl_value_mean) |
| Data source | ChEMBL37 aggregated EC50 deposition in OpenADMET data-catalogs |
| Featurizer | ChemProp molecular graph (ChemPropFeaturizer) |
| Model | ChemPropModel with from_foundation: chemeleon, default hyperparameters |
| Split | ClusterSplitter, Bemis-Murcko scaffolds, random_seed: 42 |
| Trained with | openadmet-models commit 102d3fa, via openadmet anvil |
Getting Started
Pre-requisites
IMPORTANT NOTE You will need git lfs installed.
Downloading the model
- Clone the model repo:
git clone https://huggingface.co/openadmet/fxr-chemeleon-v1/
- 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
Option A: Running the model locally
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. The installation instructions can be found here and also below:
- 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-gpu.yaml file instead:
conda env create -f devtools/conda-envs/openadmet-models-gpu.yaml
conda activate openadmet-models
pip install -e .
Option B: 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 (./fxr-chemeleon-v1) where you've downloaded the model. - For CPU only, run:
docker run -it --user=root --rm \
-v ./fxr-chemeleon-v1:/home/mambauser/model:rw \
ghcr.io/openadmet/openadmet-models:main
- For GPU, run:
docker run -it --user=root --rm \
-v ./fxr-chemeleon-v1:/home/mambauser/model:rw \
--runtime=nvidia \
--gpus all \
ghcr.io/openadmet/openadmet-models:main
Using the model
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>
We will use this model for inference, aka predict the FXR pEC50 values of a set of molecular compounds unseen to the model. For demonstration purposes, we have provided a subset of compounds from a ZINC deck in the file compounds_for_inference.csv. You can run this directly in your command line.
For our working example, run from the repo directory, this command becomes:
openadmet predict \
--input-path compounds_for_inference.csv \
--input-col OPENADMET_CANONICAL_SMILES \
--model-dir . \
--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) pEC50 values for the FXR target:
OADMET_PRED_openadmet-FXR-EC50-chemeleon_pchembl_value_mean,
OADMET_STD_openadmet-FXR-EC50-chemeleon_pchembl_value_mean
NOTE In this example, the standard deviation (OADMET_STD) columns are empty because uncertainty cannot be estimated unless training an ensemble of models. For further details, visit our docs.
- Downloads last month
- 26