maomlab/HLM_RLM
Human & Rat Liver Microsomal Stability 3345 RLM and 6420 HLM compounds were initially collected from the ChEMBL bioactivity database. (HLM ID: 613373, 2367379, and 612558; RLM ID: 613694, 2367428, and 612558) Finally, the RLM stability data set contains 3108 compounds, and the HLM stability data set contains 5902 compounds. For the RLM stability data set, 1542 (49.6%) compounds were classified as stable, and 1566 (50.4%) compounds were classified as unstable, among which the… See the full description on the dataset page: https://huggingface.co/datasets/maomlab/HLM_RLM.
Human & Rat Liver Microsomal Stability
3345 RLM and 6420 HLM compounds were initially collected from the ChEMBL bioactivity database. (HLM ID: 613373, 2367379, and 612558; RLM ID: 613694, 2367428, and 612558) Finally, the RLM stability data set contains 3108 compounds, and the HLM stability data set contains 5902 compounds. For the RLM stability data set, 1542 (49.6%) compounds were classified as stable, and 1566 (50.4%) compounds were classified as unstable, among which the training and test sets contain 2512 and 596 compounds, respectively. The experimental data from the National Center for Advancing Translational Sciences (PubChem AID 1508591) were used as the RLM external set. For the HLM data set, 3799 (64%) compounds were classified as stable, and 2103 (36%) compounds were classified as unstable. In addition, an external set from Liu et al.12 was used to evaluate the predictive power of the HLM model.
The datasets uploaded to our Hugging Face repository are sanitized and reorganized versions. (We have sanitized the molecules from the original paper, using MolVS.)
Quickstart Usage
Load a dataset in python
Each subset can be loaded into python using the Huggingface datasets library. First, from the command line install the datasets library
$ pip install datasets
then, from within python load the datasets library
>> import datasets
and load one of the HLM_RLM datasets, e.g.,
>> HLM = datasets.loaddataset("maomlab/HLMRLM", name = "HLM")
Downloading readme: 100%|████████████████████████| 6.93k/6.93k [00:00<00:00, 280kB/s] Downloading data: 100%|██████████████████████████| 680k/680k [00:00<00:00, 946kB/s] Downloading data: 100%|██████████████████████████| 925k/925k [00:01<00:00, 634kB/s] Downloading data: 100%|██████████████████████████| 39.7k/39.7k [00:00<00:00, 90.8kB/s] Generating test split: 100%|█████████████████████| 1131/1131 [00:00<00:00, 20405.98 examples/s] Generating train split: 100%|████████████████████| 4771/4771 [00:00<00:00, 65495.46 examples/s] Generating external split: 100%|████████████████████| 111/111 [00:00<00:00, 3651.94 examples/s]
and inspecting the loaded dataset
>> HLM
HLM DatasetDict({ test: Dataset({ features: ['ID','SMILES', 'Y'], numrows: 1131 }) train: Dataset({ features: ['ID','SMILES', 'Y'], numrows: 4771 }) external: Dataset({ features: ['ID','SMILES', 'Y'], num_rows: 111 }) })
Use a dataset to train a model
One way to use the dataset is through the MolFlux package developed by Exscientia. First, from the command line, install MolFlux library with catboost and rdkit support
pip install 'molflux[catboost,rdkit]'
then load, featurize, split, fit, and evaluate the a catboost model
import json from datasets import loaddataset from molflux.datasets import featurisedataset from molflux.features import loadfromdicts as loadrepresentationsfromdicts from molflux.splits import loadfromdict as loadsplitfromdict from molflux.modelzoo import loadfromdict as loadmodelfromdict from molflux.metrics import loadsuite
splitdataset = loaddataset('maomlab/HLM_RLM', name = 'HLM')
splitfeaturiseddataset = featurisedataset( splitdataset, column = "SMILES", representations = loadrepresentationsfromdicts([{"name": "morgan"}, {"name": "maccsrdkit"}]))
model = loadmodelfromdict({ "name": "catboostclassifier", "config": { "xfeatures": ['SMILES::morgan', 'SMILES::maccsrdkit'], "yfeatures": ['Y'], }})
model.train(splitfeaturiseddataset["train"]) preds = model.predict(splitfeaturiseddataset["test"])
classificationsuite = loadsuite("classification")
scores = classificationsuite.compute( references=splitfeaturiseddataset["test"]['Y'], predictions=preds["catboost_classifier::Y"])
Citation
Chem. Res. Toxicol. 2022, 35, 9, 1614–1624 Publication Date:September 2, 2022 https://doi.org/10.1021/acs.chemrestox.2c00207
dataset license: was not specified
