Queimo/tox21_tabicl_classifier
Tox21 TabICL Classifier
This Space is a TabICLv2 version of `ml-jku/tox21_tabpfn_classifier`. It implements the submission API expected by the `ml-jku/tox21_leaderboard`.
The static Space page documents the submission. Inference is exposed through the leaderboard's required predict() entry point, as in the source baseline.
A separate `tabicl.TabICLClassifier` is fitted for each of the twelve Tox21 pathway assays. The estimator is pinned to tabicl==2.0.2 and tabicl-classifier-v2-20260212.ckpt, the TabICLv2 classifier checkpoint. Molecular preprocessing and the required predict() return schema are inherited from the source baseline.
Repository structure
predict.pydefines the leaderboard-compatiblepredict(smiles_list)entry point.preprocess.pycreates molecular descriptors and preprocessing assets.train.pyfits and saves the twelve TabICLv2 in-context estimators.config/config.jsonrecords preprocessing and TabICLv2 settings.checkpoints/contains gzip-compressed fitted state for each assay.src/contains model, preprocessing, and utility code.
Training
The training and validation splits come from `ml-jku/tox21`. To reproduce the fitted state:
python preprocess.py
python train.pyTabICLv2 is an in-context model: fit() prepares and stores each assay's training context; it does not fine-tune the pretrained network. At inference time, the pretrained TabICLv2 weights are loaded from jingang/TabICL and shared across the twelve fitted estimators.
Inference
from predict import predict
results = predict(["CCO", "c1ccccc1", "CC(=O)O"])The result maps every input SMILES string to probabilities for all twelve Tox21 targets. Molecules that cannot be sanitized receive the default probability of 0.5.
This model is a research baseline and is not intended for clinical use without experimental validation.
