Leak CURBER kcat–Km model starter

This is a starter model for the joint kcat–Km task. You train a model on your computer and upload it to a public Hugging Face (HF) model repository. Then you submit that repository to the Leak CURBER leaderboard. A free HF account is enough.

Task

The input is a Parquet file with the columns id, smiles, and sequence. The output is a CSV file:

id,log10_kcat,log10_km
v_000001,0.5,-1.2

Predict both base-10 logged values. Do not exponentiate them. The public data are train.parquet (with labels) and val_inputs.parquet (inputs only). Validation labels and test data are private.

We compute the Spearman rank correlation (SCC) and RMSE for each target. The leaderboard ranks by mean SCC, the average of the two SCCs. A higher value ranks higher. Equal scores favor the earlier submission.

Baseline

The baseline fits a ridge regression with two outputs, one for each target. Its features are the sequence length, the SMILES length, the amino acid frequencies, and the SMILES character frequencies. It uses only the training split.

Run the baseline

python -m pip install huggingface-hub==2.2.0
hf download starkAhmed43/leak-curber-kcat-km-starter --local-dir model
hf download starkAhmed43/leak-curber-kcat-km 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

example_predictions.csv shows the output format. To retrain the baseline:

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

Check with Docker

Run these commands in the model directory:

mkdir -p output && chmod 777 output
docker build --platform linux/amd64 -t my-kcat-km-model .
docker run --rm --platform linux/amd64 --user 1000:1000 --network none --cpus 2 --memory 16g \
  -v "$PWD/../data:/input:ro" -v "$PWD/output:/output" \
  my-kcat-km-model python /app/predict.py \
  --input /input/val_inputs.parquet --output /output/predictions.csv

output/predictions.csv must contain every input ID exactly once.

Replace the baseline

Use any model or library. Train wherever you like, but the model runs on CPU only. The evaluator gives it 2 vCPUs, 16 GB RAM, and 15 minutes for all inputs. This is the maximum and will not be raised. It covers image pull, model load and inference. It has no GPU and no network. Change Dockerfile, requirements.txt, and predict.py. Put the weights in your repository, with all other files that inference needs. Do not add the downloaded data or the output directory.

We build the image from your Dockerfile. The image must meet these limits:

  • Linux x86-64, with Python at /usr/local/bin/python and working directory /app.
  • The command is python /app/predict.py --input INPUT --output OUTPUT.
  • The build must finish in 30 minutes. The repository must be 4 GiB or less.
  • No file that predict.py writes may exceed 16 MiB.

We start Python directly. Docker entrypoints and shell startup hooks do not run. Use /tmp for temporary files.

An evaluation fails in these cases:

  • The columns are not exactly id,log10_kcat,log10_km.
  • An ID is missing, duplicated, or added.
  • A value is not finite, or its absolute value is more than 1,000,000.
  • Inference needs more than 15 minutes, or needs the network.

Row order does not matter.

Submit

Choose the task assigned to you in this sheet.

  1. Sign in: hf auth login.

  2. Upload the model directory to a public model repository:

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

    For an existing repository, make sure it is public. The --no-private flag does not change an existing repository. The repository must contain Dockerfile, predict.py, and README.md.

  3. Open the leaderboard, select the kcat–Km tab, and sign in with your registered account.

  4. Under Submit model, enter the repository ID, the revision (default main), and a model name. Select Submit for validation.

  5. Watch the progress under My submissions.

A submission records a fixed commit. Later changes to the repository do not change it. The validation score appears when the evaluation ends.

Limits and deadline

  • Each team has 2 submissions per day and 20 in total for each task.
  • Failed model runs count against these limits.
  • Only one of your evaluations can be active at a time.
  • Under My submissions, nominate one completed submission for the test evaluation. Each task has its own nomination. If you do not nominate, we use your best validation score.
  • Your best and your nominated submissions stay protected. Other successful archives expire after 7 days.
  • Submit and nominate before November 7, 2026, 23:59 IST. We will publish test scores after that.

Help

  • If the leaderboard says your account is not approved, post your HF username in the Moodle course discussion forum.
  • If the leaderboard says the evaluator is unavailable, refresh shortly. Post in the Moodle course discussion forum if the error persists.
  • Post any other question in the Moodle course discussion forum.
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