V13 enzyme-substrate interaction regressor
Exploratory candidate; not a confirmed improvement. No V13 leaderboard result is claimed. Local development rows were previously inspected; cluster-bootstrap intervals are descriptive and do not erase selection optimism. Scientific decision: {"paired_MeanSCC_CI_lower_gt0": false, "unseen_guard_resolved": true, "log10_kcat_SCC_delta_ge_minus0.01": true, "log10_kcat_unseen_SCC_delta_ge_minus0.01": true, "log10_kcat_RMSE_ratio_le1.02": true, "log10_km_SCC_delta_ge_minus0.01": false, "log10_km_unseen_SCC_delta_ge_minus0.01": false, "log10_km_RMSE_ratio_le1.02": false}.
Frozen ESM2 8M produces 320-dimensional residue-mean protein vectors. Up to512 residues are encoded whole; longer proteins use separate first256 and last256 windows, averaged, omitting the middle. Padding and special tokens are excluded. X/B/U are retained. Add23 amino-acid fractions for343 protein inputs. Molecules use2048 verified Morgan bits plus16 RDKit descriptors and16 missing flags (2080 inputs). All learned medians/scales were refit on the verified42524-row official release a18f8d542c1849507ff1711b970b48b72a998c8c. No public-input fitting, embedded input cache or target-derived substrate prior.
Each branch maps to128 ReLU/LayerNorm units. Fusion concatenates p,m,p*m,abs(p-m), maps to128 ReLU/dropout0.15, then separate64-unit heads output the two logged targets. Selected loss A, fixed4 epochs from inner cluster validation. Continuous inputs/targets are standardized with fitting-only population statistics; binary bits/flags remain binary; outputs are restored to original logged units. The encoder is frozen FP32, CPU-only at inference.
Observed development Mean SCC: matched ExtraTrees 0.486186; selected neural 0.482464. These are local metrics, not leaderboard measurements. Mean target RMSE: control 1.217611, neural 1.261508. No blend or hyperparameter search. Full-data training is not another holdout evaluation.
Inference
python /app/predict.py --input INPUT --output OUTPUT
Input Parquet columns exactly id,smiles,sequence; output CSV exactly id,log10_kcat,log10_km. One output per original ID. Computation may deduplicate exact strings but restores every row. Invalid IDs, duplicate IDs or empty/non-string inputs are rejected under the starter contract. A nonempty unparsable SMILES has zero fingerprint, fitting medians and missing flags. Unknown residue tokens retain the source string and use the pinned tokenizer's unknown handling.
All assets load locally without network or GPU. Use the supplied Linux amd64 Dockerfile,2 CPUs,16GiB,600-second limit. Package test evidence and SHA256 manifest are maintained outside the upload directory; final readiness must be established by executing this exact package.