{
  "protocol": {
    "lockedAtUTC": "2026-10-13T17:15:12.038018+00:00",
    "candidate": "M4 v8: nonnegative unit-sum blend of absolute-error boosted trees, ExtraTrees and ridge. No intercept or test calibration.",
    "selection": "Same v6 52 features, weights, seed and 12 configurations per component. Within each outer training pair, train each configuration on one study and validate on the other, in both directions. Choose lowest equal-study transfer MAE; optimize convex weights on the selected cross-study predictions. Refit bases on the two training studies and apply frozen weights to the third. No held-outer-study outcomes used in selection.",
    "budget": "216 base tuning fits plus three convex optimizations. Ensemble combines all three families and has greater aggregate computation than a single baseline. Not a novel architecture claim.",
    "sourceHashes": {
      "docs/validation/2026-10-13-response-reconciliation-v4/m4-aligned.parquet": "08527f163c57d28fc248a78eb7f9c262dafed686300727a4257df2e90d2ff68b",
      "docs/validation/2026-10-13-public-only-benchmarks-v8/evaluated-predictions.csv": "a199a705ce31e8bb27e0f4e9c9fe207dbbac9251990cf94041cefd846b55b357"
    },
    "families": [
      "M4_v6",
      "ExtraTrees",
      "ridge"
    ],
    "configurations": {
      "M4_v6": [
        {
          "max_depth": 2,
          "min_child_weight": 20,
          "reg_lambda": 10
        },
        {
          "max_depth": 2,
          "min_child_weight": 20,
          "reg_lambda": 100
        },
        {
          "max_depth": 2,
          "min_child_weight": 80,
          "reg_lambda": 10
        },
        {
          "max_depth": 2,
          "min_child_weight": 80,
          "reg_lambda": 100
        },
        {
          "max_depth": 4,
          "min_child_weight": 20,
          "reg_lambda": 10
        },
        {
          "max_depth": 4,
          "min_child_weight": 20,
          "reg_lambda": 100
        },
        {
          "max_depth": 4,
          "min_child_weight": 80,
          "reg_lambda": 10
        },
        {
          "max_depth": 4,
          "min_child_weight": 80,
          "reg_lambda": 100
        },
        {
          "max_depth": 6,
          "min_child_weight": 20,
          "reg_lambda": 10
        },
        {
          "max_depth": 6,
          "min_child_weight": 20,
          "reg_lambda": 100
        },
        {
          "max_depth": 6,
          "min_child_weight": 80,
          "reg_lambda": 10
        },
        {
          "max_depth": 6,
          "min_child_weight": 80,
          "reg_lambda": 100
        }
      ],
      "ExtraTrees": [
        {
          "min_samples_leaf": 2,
          "max_features": 0.5,
          "max_depth": 18
        },
        {
          "min_samples_leaf": 2,
          "max_features": 0.5,
          "max_depth": null
        },
        {
          "min_samples_leaf": 2,
          "max_features": 1.0,
          "max_depth": 18
        },
        {
          "min_samples_leaf": 2,
          "max_features": 1.0,
          "max_depth": null
        },
        {
          "min_samples_leaf": 5,
          "max_features": 0.5,
          "max_depth": 18
        },
        {
          "min_samples_leaf": 5,
          "max_features": 0.5,
          "max_depth": null
        },
        {
          "min_samples_leaf": 5,
          "max_features": 1.0,
          "max_depth": 18
        },
        {
          "min_samples_leaf": 5,
          "max_features": 1.0,
          "max_depth": null
        },
        {
          "min_samples_leaf": 10,
          "max_features": 0.5,
          "max_depth": 18
        },
        {
          "min_samples_leaf": 10,
          "max_features": 0.5,
          "max_depth": null
        },
        {
          "min_samples_leaf": 10,
          "max_features": 1.0,
          "max_depth": 18
        },
        {
          "min_samples_leaf": 10,
          "max_features": 1.0,
          "max_depth": null
        }
      ],
      "ridge": [
        {
          "alpha": 0.01
        },
        {
          "alpha": 0.1
        },
        {
          "alpha": 1.0
        },
        {
          "alpha": 10.0
        },
        {
          "alpha": 100.0
        },
        {
          "alpha": 1000.0
        },
        {
          "alpha": 10000.0
        },
        {
          "alpha": 100000.0
        },
        {
          "alpha": 1000000.0
        },
        {
          "alpha": 10000000.0
        },
        {
          "alpha": 100000000.0
        },
        {
          "alpha": 1000000000.0
        }
      ]
    },
    "rows": 29703,
    "genes": 11277,
    "freshHoldout": false,
    "primaryMetric": "MAE; secondary Spearman and R2",
    "finalFit": "Choose each component by mean inner MAE across folds; average the three inner-selected convex weight vectors; refit components on all development data.",
    "limitations": [
      "All three studies are repeatedly used development data; no confirmatory superiority claim.",
      "Weights and component configurations share an inner validation set, creating selection optimism; outer outcomes do not select weights.",
      "Inner splits separate studies, not genes; gene overlap is allowed to match the cross-study deployment question. This does not establish unseen-gene generalization.",
      "The ensemble contains the ExtraTrees baseline itself; any gain is an incremental ensemble effect, not independent biological novelty.",
      "Different assays, perturbations and cell types remain. Gene bootstrap does not model laboratory/replicate uncertainty."
    ]
  },
  "folds": [
    {
      "study": "NMDRHT",
      "genes": 10990,
      "overlappingGenes": 10813,
      "weights": {
        "M4_v6": 0.03233621688556689,
        "ExtraTrees": 0.28181546757137793,
        "ridge": 0.6858483155430553
      },
      "metrics": {
        "M4_v8": {
          "spearman": 0.5728286568474865,
          "mae": 0.5069845314746838,
          "r2": 0.09557701074125013
        },
        "M4_v6": {
          "spearman": 0.584407509520529,
          "mae": 0.49420808159613117,
          "r2": 0.13832714515751598
        },
        "ExtraTrees": {
          "spearman": 0.601046489113912,
          "mae": 0.4749815958167117,
          "r2": 0.22022758055258862
        },
        "ridge": {
          "spearman": 0.47475329224287705,
          "mae": 0.5300337029486886,
          "r2": 0.014360917882173974
        },
        "training_median": {
          "spearman": null,
          "mae": 0.5675473432855375,
          "r2": -0.10189963958838
        }
      },
      "comparisons": [
        {
          "baseline": "ExtraTrees",
          "baselineMinusM4MAE": -0.03200293565797201,
          "adjustedPairedCi": [
            -0.03546349193976139,
            -0.028670749099537485
          ]
        },
        {
          "baseline": "ridge",
          "baselineMinusM4MAE": 0.02304917147400483,
          "adjustedPairedCi": [
            0.021463804032596057,
            0.02447218108051445
          ]
        }
      ],
      "selected": {
        "M4_v6": 8,
        "ExtraTrees": 9,
        "ridge": 7
      }
    },
    {
      "study": "SMG1_HEK293",
      "genes": 11026,
      "overlappingGenes": 11026,
      "weights": {
        "M4_v6": 0.3179796798341576,
        "ExtraTrees": 0.47840405725959945,
        "ridge": 0.20361626290624282
      },
      "metrics": {
        "M4_v8": {
          "spearman": 0.5869835676844656,
          "mae": 0.2857677051596157,
          "r2": 0.19020146959979278
        },
        "M4_v6": {
          "spearman": 0.5321747998120148,
          "mae": 0.3030243486670703,
          "r2": 0.053481575663200775
        },
        "ExtraTrees": {
          "spearman": 0.6183412243250586,
          "mae": 0.30153020847191797,
          "r2": 0.13685352850468813
        },
        "ridge": {
          "spearman": 0.40602520174176987,
          "mae": 0.3151597132014095,
          "r2": -0.03526822785272676
        },
        "training_median": {
          "spearman": null,
          "mae": 0.30850374408515713,
          "r2": -0.0719493901606727
        }
      },
      "comparisons": [
        {
          "baseline": "ExtraTrees",
          "baselineMinusM4MAE": 0.015762503312302254,
          "adjustedPairedCi": [
            0.012702149111413617,
            0.018741362228874268
          ]
        },
        {
          "baseline": "ridge",
          "baselineMinusM4MAE": 0.02939200804179384,
          "adjustedPairedCi": [
            0.02517942009107561,
            0.03370242531821224
          ]
        }
      ],
      "selected": {
        "M4_v6": 8,
        "ExtraTrees": 4,
        "ridge": 6
      }
    },
    {
      "study": "Tani2012",
      "genes": 7687,
      "overlappingGenes": 7643,
      "weights": {
        "M4_v6": 0.0,
        "ExtraTrees": 0.9368413412862595,
        "ridge": 0.06315865871374049
      },
      "metrics": {
        "M4_v8": {
          "spearman": 0.5027982370402614,
          "mae": 0.6149105442624968,
          "r2": 0.05171765468281009
        },
        "M4_v6": {
          "spearman": 0.458972713425424,
          "mae": 0.6148048180589849,
          "r2": 0.038005263547049695
        },
        "ExtraTrees": {
          "spearman": 0.5015114107456764,
          "mae": 0.6142031786564388,
          "r2": 0.05243467620031628
        },
        "ridge": {
          "spearman": 0.38836184660367473,
          "mae": 0.6677044081090955,
          "r2": -0.061057018599391055
        },
        "training_median": {
          "spearman": null,
          "mae": 0.6450195364304797,
          "r2": -0.07579048338070993
        }
      },
      "comparisons": [
        {
          "baseline": "ExtraTrees",
          "baselineMinusM4MAE": -0.0007073656060579206,
          "adjustedPairedCi": [
            -0.001274547282754393,
            -0.00017155493372884192
          ]
        },
        {
          "baseline": "ridge",
          "baselineMinusM4MAE": 0.052793863846598815,
          "adjustedPairedCi": [
            0.04575326455720659,
            0.05979825288773078
          ]
        }
      ],
      "selected": {
        "M4_v6": 9,
        "ExtraTrees": 6,
        "ridge": 6
      }
    }
  ],
  "finalModel": {
    "path": "backend/models/m4-decay-response-v8/M4_v8.joblib",
    "sha256": "19460e11719d02a6898718483a7ca2d825161bc1f2bb943baa3f438b4ce5f7a4",
    "weights": {
      "M4_v6": 0.11677196557324149,
      "ExtraTrees": 0.5656869553724123,
      "ridge": 0.3175410790543462
    },
    "componentSelection": {
      "M4_v6": {
        "configurationId": 8
      },
      "ExtraTrees": {
        "configurationId": 5
      },
      "ridge": {
        "configurationId": 6
      }
    }
  },
  "independentSuperiority": false,
  "search": [
    {
      "name": "GSE56748 / GSE56751 \u00b7 MOV10",
      "url": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE56748",
      "decision": "Six libraries are total, labeled and flow-through RNA under mock versus MOV10 depletion. The series mentions UPF1 binding, but measured decay perturbation is MOV10, not UPF1/SMG1. Excluded from the requested NMD holdout; numerical half-life table unopened."
    },
    {
      "name": "Alternative UPF1 isoform study",
      "url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC9108617/",
      "decision": "Genome-wide stability changes are inferred from RNA-seq with REMBRANDTS; direct decay measurements are selected-gene qPCR. Not a broad measured-decay M4 test or matched RNA/RPF M5 test."
    },
    {
      "name": "GSE143301 / GSM4407916 \u00b7 ABCE1",
      "url": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM4407916",
      "decision": "Rechecked sample list: UPF1 samples are total RNA only. Shared Ribo-seq extraction text does not establish UPF1 RPF libraries. No qualifying matched UPF1 endpoint."
    },
    {
      "name": "GSE303542 / GSM9130088",
      "url": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM9130088",
      "decision": "UPF1 sample is Neurospora crassa, despite human Ribo-seq text in shared processing metadata. It does not supply a fresh human UPF1 RNA/RPF cohort."
    },
    {
      "name": "GSE186795 \u00b7 ribosome-bound UPF1",
      "url": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE186795",
      "decision": "Ribosome-associated UPF1 investigation in Saccharomyces cerevisiae. Wrong species for the requested human validation."
    },
    {
      "name": "MDC SLAM-seq catalogue",
      "url": "https://edoc.mdc-berlin.de/id/eprint/25702/",
      "decision": "Boehm/Landthaler HCT116 AID-UPF1, 0/12/24h: the already-used NMDRHT study. A catalogue mirror is not independent data."
    }
  ],
  "scope": "Public GEO sample metadata, primary literature and repository searches including EBI, Figshare and Zenodo-linked results. Targeted review, not an exhaustive absence claim. No author contact.",
  "searchEvidenceDirectory": "docs/validation/2026-10-13-m4-ensemble-v7",
  "v7Reference": {
    "NMDRHT": 0.4980065885071933,
    "SMG1_HEK293": 0.30448280888948,
    "Tani2012": 0.6166839088958349
  },
  "overallMAE": {
    "M4_v8": 0.46922092696559875,
    "M4_v6": 0.4706790827740621,
    "ExtraTrees": 0.4635716609816895,
    "ridge": 0.5042992747530645
  },
  "v7OverallMAE": 0.47305776876416944,
  "winsAgainstExtraTrees": 1,
  "newFreshStudyQualified": false,
  "strongestObservedExtraTrees": [
    {
      "study": "NMDRHT",
      "recipe": "v8 study-transfer selection",
      "mae": 0.4749815958167117,
      "m4MAE": 0.5069845314746838,
      "m4Wins": false
    },
    {
      "study": "SMG1_HEK293",
      "recipe": "historical v5 frozen ExtraTrees",
      "mae": 0.28264508225683,
      "m4MAE": 0.2857677051596157,
      "m4Wins": false
    },
    {
      "study": "Tani2012",
      "recipe": "v8 study-transfer selection",
      "mae": 0.6142031786564388,
      "m4MAE": 0.6149105442624968,
      "m4Wins": false
    }
  ],
  "strongestObservedWins": 0
}