Leak CURBER kcat model starter

Use this starter to try the submission process or build your own model. You train locally and upload a public Hugging Face (HF) model repository. We build its Docker image and run CPU inference. A free HF account is enough.

The included baseline uses ridge regression with sequence composition and SMILES character counts. Its weights use only the fixed training split.

Read the step-by-step guide for the full workflow and troubleshooting.

Try the baseline

Download this repository and the public data:

python -m pip install huggingface-hub==2.2.0
hf download starkAhmed43/leak-curber-kcat-starter --local-dir model
hf download starkAhmed43/leak-curber-kcat train.parquet val_inputs.parquet --repo-type dataset --local-dir data
cd model
python -m pip install -r requirements.txt
python predict.py --input example_inputs.parquet --output predictions.csv

The output contains one prediction for each input ID. Compare its format with example_predictions.csv. Those example values are model predictions, not labels.

To retrain the baseline, run:

python train.py --train ../data/train.parquet --output weights/baseline.json

Test your Docker image

Install Docker first. From the model directory, run:

mkdir -p output
docker build --platform linux/amd64 -t my-kcat-model .
docker run --rm --platform linux/amd64 --network none \
  -v "$PWD/../data:/input:ro" -v "$PWD/output:/output" \
  my-kcat-model python /app/predict.py \
  --input /input/val_inputs.parquet --output /output/predictions.csv

Check that output/predictions.csv contains every input ID exactly once.

Replace the baseline

Use any CPU-compatible model or library. Update Dockerfile, requirements.txt, and predict.py as needed. Include your trained weights and all other assets.

Your image must meet these requirements:

Item Requirement
Platform Linux x86-64
Python /usr/local/bin/python
Prediction script /app/predict.py
Working directory /app
Command python /app/predict.py --input INPUT --output OUTPUT
Input Parquet columns: id, smiles, sequence
Output CSV columns: id, prediction
Target log10 kcat, matching training column log10_value
Resources 2 vCPU, 16 GB RAM, 10 minutes
Repository size At most 4 GiB

Return one finite number per input ID. Row order does not matter. Predictions must have an absolute value no greater than 1,000,000.

Inference runs without internet, credentials, or host files. The evaluator starts Python directly. Put required setup in your build or prediction code. Docker entrypoints and shell startup hooks do not run. Use /tmp for temporary files. Write predictions to the supplied output path.

Upload and submit

Use a public model repository under your registered HF account:

hf auth login
hf upload YOUR_USERNAME/YOUR_MODEL . --repo-type model --no-private --exclude ".cache/**" "output/**" "predictions.csv"

If the repository already exists, check its visibility on HF. The upload flag does not make an existing private repository public.

Open the leaderboard. Sign in with your registered account. Enter your repository ID, revision, and model name. The default revision is main. Each submission records a fixed commit, so later edits do not change it.

Validation scores appear after evaluation. Use My submissions to check progress and nominate a model for test evaluation. Best validation models and nominations stay protected. Other successful archives expire after 7 days. You cannot nominate an expired archive; submit the model again if needed.

For the course, submit and nominate before November 6, 2026, at 23:59 IST. Each team has 2 submissions per day and 20 total per task. Only one evaluation per team can be active. If you do not nominate a model, we select your best validation model.

Validation labels and all test data stay private. TAs publish test scores after the deadline.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support