CoolFace
Apppublic

Queimo/tox21_tabicl_classifier

sourceHugging Facecc-by-nc-4.0updated 14d agoView on Hugging Face
0likes
App README

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.py defines the leaderboard-compatible predict(smiles_list) entry point.
  • preprocess.py creates molecular descriptors and preprocessing assets.
  • train.py fits and saves the twelve TabICLv2 in-context estimators.
  • config/config.json records 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:

bash
python preprocess.py
python train.py

TabICLv2 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

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