V15 — enzyme–substrate kcat/Km predictor (V14 tree ensemble + small MLP blend)
Status: EXPLORATORY — did not pass the pre-registered local gate. This model is V14 (leaderboard Mean SCC 0.5145 on the official leaderboard) with a 20% blend of a small multi-task neural network. The local improvement is small (+0.002 to +0.008 Mean Spearman) and statistically unresolved (every paired 95% interval includes zero). No leaderboard score is claimed for V15.
Task and I/O
Predict log10_kcat and log10_km from an enzyme amino-acid sequence and a substrate smiles. Metric: Mean SCC = (Spearman kcat + Spearman Km) / 2.
python /app/predict.py --input INPUT.parquet --output OUTPUT.csv. Input columns exactly id, smiles, sequence; output CSV exactly id,log10_kcat,log10_km, one row per input ID. Fully offline, CPU only, no network, all weights local.
Architecture
- V14 tree ensemble (unchanged). Three members A/B/C on shared features (protein composition/order/regional features, RDKit descriptors, Morgan-count / MACCS fingerprints, frozen ESM2-8M mean embedding) plus fitted target-aware reference statistics (substrate priors; B adds enzyme-neighbour, C adds similar-substrate statistics). Each member = 50% per-target LightGBM + 50% multi-output ExtraTrees; equal member average.
- MLP member (new). A multi-task network (shared trunk 3103→512→256 with GELU/dropout, two heads) on the same 3,103 features, standardised with training statistics; 3 seeds averaged.
- Blend:
prediction = 0.8 * trees + 0.2 * MLPfor both targets. The weight 0.2 was chosen on one local split (inner) only.
Training data
Official release starkAhmed43/leak-curber-kcat-km, revision a18f8d542c1849507ff1711b970b48b72a998c8c, train.parquet (42,524 rows, sha256 f160db6f…1574). No other data. Public inputs were never used to fit anything. Reference statistics were cross-fitted inside each fitting partition (cluster-disjoint folds) so training rows never see their own cluster's labels.
Local results (measured; labelled by split)
All splits are repeatedly-used local partitions (not independent test sets). Spearman SCC, V14 in brackets:
| split | kcat | Km | Mean | paired matched-M2 Mean gain [95% CI] |
|---|---|---|---|---|
| inner | 0.3926 (0.3901) | 0.6773 (0.6727) | 0.5350 (0.5314) | +0.0030 [−0.012, +0.019] |
| development | 0.4294 (0.4248) | 0.6470 (0.6445) | 0.5382 (0.5346) | +0.0021 [−0.010, +0.014] |
| confirmation | 0.5037 (0.4941) | 0.7119 (0.7036) | 0.6078 (0.5988) | +0.0078 [−0.002, +0.019] |
The official V14 leaderboard Mean SCC is 0.5145, lower than these local numbers, because leaderboard enzymes are farther from the training enzymes than the local splits (measured with 3-mer similarity; local matched-for-shift estimates are ~0.49–0.56).
Limitations
- Generalisation to novel enzymes and unseen compounds is weak, especially for kcat.
- The MLP alone is weaker than the trees and stops training at epochs 1–3; it only adds diversity.
- Predictions can change slightly between CPU platforms (tiny floating-point differences alter nearest-neighbour and tree-threshold decisions); Linux amd64 is the reference.
- Fitted aggregate target statistics per exact enzyme/substrate are stored as model state (see NOTICE.md).
Attribution and license
Architecture inspired by the supplied aura6_files.zip reference (high-level multi-member tree design); this is an independent implementation, no participant code or weights are copied. Frozen encoder: Meta facebook/esm2_t6_8M_UR50D (MIT). Code and weights: MIT, as in the starter.
Reports, hashes and test records are kept outside this folder (UPLOAD_THIS_MANIFEST.json, READINESS.md in the project).