V8: enzyme–substrate retrieval with V6 fallback
Kcat is the unchanged verified LOCAL V6 deployment component. Km is a fixed 50% V6 / 50% retrieval blend in original logged units. With no eligible reference, Km is exactly V6. No V8 leaderboard score exists and no rank or score is promised. V6 source component choice was informed by earlier leaderboard feedback; older remote V3/V4 submitted-revision identity remains unresolved, while the actual local V6 bytes and output equivalence are verified separately.
Protein representation: original-case character 3-mer TF-IDF, sublinear TF,L2 norm,float64, min_df1,no vocabulary cap,no SVD. Vocabulary/IDF fitted only on unique fitting sequences. X/B/U, case and long sequences are preserved. Molecules use the unchanged V6 2048-bit radius2 Morgan settings with chirality and bond types. RDKit Tanimoto uses exact-string-deduplicated computations without altering source SMILES.
For each reference row, protein cosine p and molecular Tanimoto m must satisfy p>=.65,m>=.50. Rank by (p*m)^2; use up to8 rows; ties use ascending lexicographic fitting-ID rank (stored only as integer row order). Predict joint-score-weighted mean log10_km, then blend with V6. Multiple selected rows may belong to one training sequence; concentration diagnostics are retained in the project. No threshold/neighbor-count search, rank transform, calibration, target scaling, clipping or exponentiation.
Measured local evidence
| Evaluation | V6 Mean SCC | Selected blend Mean SCC | Paired95% interval for gain |
|---|---|---|---|
| Primary inner seed43 | 0.608434 | 0.616771 | [+0.005461,+0.011685] |
| One confirmation seed50 | 0.614940 | 0.622988 | [+0.004583,+0.011463] |
Weight was selected on primary and frozen before confirmation; confirmation did not reselect it. Primary selection introduces optimism. Exact-sequence grouped splits are not homology-disjoint and triplet cosine is not aligned identity. The old outer holdout was previously observed and was not evaluated here. Compound-held-out/purged-sequence stress results and complete SCC/RMSE/MAE/R2/subgroup metrics are in the local readiness report. Local results are not leaderboard scores. V7's observed leaderboard decline is not attributed to a verified implementation bug; audit findings are preserved.
Fitted state and offline operation
Reference state is fitted on36970 public training rows only. It stores unique sparse protein vectors, packed Morgan bits, integer row-to-vector indices and logged Km targets; there are no raw training IDs/sequences/SMILES, raw training table, public-validation embeddings/predictions, private labels or credentials. Raw query strings exist only transiently for feature extraction/caching. All assets are local. V6 forests and their branch-specific preprocessing are copied unchanged, not refitted.
python /app/predict.py --input INPUT --output OUTPUT
Input Parquet columns exactly id,smiles,sequence. Starter ID/string/length rules apply, with global duplicate-ID rejection. Repeated exact inputs are deduplicated only for computation; every original row/ID remains in order. Output CSV exactly id,log10_kcat,log10_km, finite abs<=1,000,000; no grouping of output rows. Invalid molecules/unknown protein k-mers cause retrieval fallback without dropping IDs. No internet/GPU is required. Numerical libraries and forest inference use2 threads/workers; protein batches32, molecular-similarity cache bounded128MiB; no query-by-reference-by-feature tensor.
Deployment limits: Linux amd64,2 CPUs,16GiB,600seconds; repository<4GiB,CSV<16MiB,/usr/local/bin/python. Actual final-staged native/Docker measurements, image identity, agreement, fallback checks and hashes are recorded outside this payload in the project readiness report. This is classical ML and does not by itself establish completion of deep-learning academic expectations. No automatic upload, submission or nomination occurs.