CoolFace
Datasetpublic

maomlab/AggregatorAdvisor

Aggregator Advisor The Aggregator Advisor is a web-tool hosted by the Shoichet Lab at UCSF and used to assess the risk of a molecules being an aggregetor, may aggregate in biochemical assays based on the chemical similarity to known aggregators, and physical properties. The most current release (2022/06) contains 12645 known aggregator molecules from 20 sources. The train and test datasets uploaded to our Hugging Face repository have been sanitized and split from the original… See the full description on the dataset page: https://huggingface.co/datasets/maomlab/AggregatorAdvisor.

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes56downloads
Dataset Card

Aggregator Advisor

The Aggregator Advisor is a web-tool hosted by the Shoichet Lab at UCSF and used to assess the risk of a molecules being an aggregetor, may aggregate in biochemical assays based on the chemical similarity to known aggregators, and physical properties. The most current release (2022/06) contains 12645 known aggregator molecules from 20 sources.

The train and test datasets uploaded to our Hugging Face repository have been sanitized and split from the original dataset If you want to try these processes with the original dataset, please follow the instructions in the Processing Script.py file located in the AggregatorAdvisor. The raw_data.csv is the original dataset from the paper, and the files in AggregatorAdvisor are the sanitized version files that we made.

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 AggregatorAdvisor datasets, e.g.,

>> AggregatorAdvisor = datasets.load_dataset("maomlab/AggregatorAdvisor", name = "AggregatorAdvisor")

Downloading readme: 100%|██████████| 4.70k/4.70k [00:00<00:00, 277kB/s] Downloading data: 100%|██████████| 530k/530k [00:00<00:00, 303kB/s] Downloading data: 100%|██████████| 2.16M/2.16M [00:00<00:00, 12.1MB/s] Generating test split: 100%|██████████| 2529/2529 [00:00<00:00, 29924.07 examples/s] Generating train split: 100%|██████████| 10116/10116 [00:00<00:00, 95081.99 examples/s]

and inspecting the loaded dataset

>> AggregatorAdvisor

DatasetDict({ test: Dataset({ features: ['new SMILES', 'substanceid', 'aggrefindex', 'logP', 'reference'], numrows: 2529 }) train: Dataset({ features: ['new SMILES', 'substanceid', 'aggrefindex', 'logP', 'reference'], numrows: 10116 }) })

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 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

Split and evaluate the catboost model

splitdataset = loaddataset('maomlab/AggregatorAdvisor', name = 'AggregatorAdvisor')

splitfeaturiseddataset = featurisedataset( splitdataset, column = "new SMILES", representations = loadrepresentationsfromdicts([{"name": "morgan"}, {"name": "maccsrdkit"}]))

model = loadmodelfromdict({ "name": "catboostregressor", "config": { "xfeatures": ['new SMILES::morgan', 'new SMILES::maccsrdkit'], "yfeatures": ['logP']}})

model.train(splitfeaturiseddataset["train"])

preds = model.predict(splitfeaturiseddataset["test"])

regressionsuite = loadsuite("regression")

scores = regressionsuite.compute( references=splitfeaturiseddataset["test"]['logP'], predictions=preds["catboost_regressor::logP"])

Data splits

Here we have used the Realistic Split method described in (Martin et al., 2018) to split the AggregatorAdvisor dataset.

Citation

If you use this dataset please cite:

An Aggregation Advisor for Ligand Discovery John J. Irwin, Da Duan, Hayarpi Torosyan, Allison K. Doak, Kristin T. Ziebart, Teague Sterling, Gurgen Tumanian, Brian K. Shoichet, J. Med. Chem. 2015, 58, 17, 7076–7087 DOI: https://doi.org/10.1021/acs.jmedchem.5b01105