STReEF (ds005448): the register's first external check on an absolute value

Rendered from gate/RESULT-STREEF.md
Contents
  1. Question or issue resolved
  2. The result
  3. Four defects this deposit exposed in the reading code
  4. The sleep finding, and the correction to it
  5. The depth-electrode arm
  6. What the four cohorts say together
  7. Limitations, stated

Run 2026-09-19 / 2026-09-20. Code: gate/streef.py (grids) and gate/streef_seeg.py (depth electrodes), both reusing gate/prios.py against a repointed gate/prios_io. Output: gate/streef.json, gate/streef_seeg.json.

Every value in this document is the declared-departure window, [15, 300] ms, the column every issued reading uses. See defect 4.

Question or issue resolved

Whether the register's awake intracranial value is a property of the method or a property of the one cohort it came from.

NS-0012 issues that value at 32.26 on the strength of seven patients at a single center. Nothing in the register tested it against anyone else's patients, and an absolute value that has only ever been computed once is indistinguishable from an artifact of the hospital that produced it. The published literature brackets the figure but does not test it, because it does not use this pipeline.

STReEF supplies a second cohort at a different center under the same protocol and geometry, which makes the comparison a test rather than an illustration. What that test required, and the four defects in the reading code it exposed on the way, are below.

The result

NS-0012 issues the register's awake intracranial value as 32.26, interval 18.46 - 46.06, from seven PRIOS patients at one center. Nothing in the register tested whether that is a property of the method or a property of that cohort.

STReEF's grid arm is three patients at a different center, computed by the identical pipeline, under the identical protocol (SPESclin, monophasic, 0.2 Hz), on the identical geometry (subdural grid), at a single current (8 mA):

n cells Mean Median SD
STReEF grids, 2-trial floor 75 35.83 33.48 16.37
STReEF grids, all trials 75 37.32 34.52 14.30
PRIOS at 8 mA, 2-trial floor 220 29.97 26.95 12.14
PRIOS at 8 mA, matched 220 31.14 29.40 13.22
NS-0012 as issued (currents pooled) 269 32.26 29.92 13.8

35.83 falls well inside NS-0012's interval of 18.46 to 46.06. The absolute value replicates on an independent cohort.

The comparison is like-for-like on the four things now known to move this quantity: geometry is grid in both (METHOD 3.3); protocol is SPESclin in both, which matters by roughly 2x (gate/RESULT-CHOCS.md); current is held at 8 mA in both, which matters by up to 5.4x (METHOD 2.1); and the 2-trial-floor rows are compared against PRIOS's 2-trial-floor rows, because NS-0012 is matched down to the two trials its propofol arm carries.

STReEF measures about 20% above PRIOS at matched current and trial count. That difference is not established:

Cohort Per-patient medians
STReEF 29.54, 34.89, 35.44
PRIOS 21.49, 25.17, 26.35, 28.03, 31.25, 49.32, 54.16

Mann-Whitney on patient medians gives p = 0.52, and at three patients against seven the smallest attainable p is 0.017, so this test could not have shown a difference of any size. What the table does show is that STReEF's three patients fall inside PRIOS's range, and that PRIOS's own between-patient spread — a factor of 2.5, from 21.49 to 54.16 — is wider than the gap between the cohort centers. The between-patient term dominates the between-cohort term.

Four defects this deposit exposed in the reading code

1. Annotation classification. period_annotations rejected every non-stimulation annotation carrying electrodes_involved_onset = all. In ds004370 that is correct — its only such annotations are artefact, seizure and burst suppression, all of which mean the data is bad. In ds005448 the vocabulary also includes eyes, and those annotations tile the entire recording as contiguous eye-state spans. Every trial overlapped one. The whole deposit computed to zero cells and raised nothing.

Fixed by classifying rather than assuming: REJECT_TYPES for annotations meaning bad data, STATE_TYPES for annotations describing the subject, and a raise on any type in neither. Control: ds004370 still yields zero state spans.

electrodes_involved_onset also takes the value diffuse in ds005448, which the old code would have parsed as a channel name. Added to GLOBAL_ELECTRODES.

2. No single-state path. contrasts paired awake only against propofol, so a deposit with one state produced no rows at all. Added a single-state path that emits unmatched and floor2 variants and deliberately does not emit a matched variant, since there is nothing to match against.

3. Mixed geometry inside one deposit. ds005448 is not one cohort. STREEF01 through STREEF05 record from subdural grids; STREEF06 through STREEF13 record from depth electrodes. The first run used CHANNEL_TYPES = {"ECOG"} for all thirteen, which matched no channel at all in the last eight.

Those eight subjects reported 25 cells sampled in the rejection record and produced zero rows, because cell eligibility is decided from the events table before any channel filter applies. A count of what was sampled sat beside a count of nothing computed and neither contradicted the other.

Fixed in prios.load_subject, which now refuses any subject whose constant channel set falls below MIN_CHANNELS and names both the channel types present and the types requested. The per-cell MIN_CHANNELS test that already existed could not catch this: it skipped each cell individually and never reported that it had skipped all of them.

Controls: with {"ECOG"} requested, STREEF06 now raises and names SEEG; with {"SEEG"} it loads 53 channels; STREEF01 is unaffected at 104; PRIOS01 is unaffected at 38.

The two arms are computed separately and stay separate. Under METHOD 3.3 an absolute value from depth electrodes may not be set beside one from a grid without a stated warrant.

4. A column named for the wrong thing. Each row carries two PCIst values: the documented [0, 300] ms response window, and the declared departure [15, 300] ms that excludes the amplifier saturation. The departure is the one every issued reading uses. The documented one was called pcist and the departure pcist_departure, so the plainly-named column was the one that must never be cited — and on PRIOS it runs about 16 points high, because the saturation it contains is itself complex signal.

An analysis in this session read pcist, compared 55.50 against NS-0012's interval, and concluded STReEF had failed to replicate. On the correct column the same cells give 35.83 and replicate. The wrong column did not look wrong. It looked like a finding.

pcist is now pcist_documented. There is no longer a column whose name invites being taken for the real one, and any stale reader fails with KeyError rather than returning a contaminated number.

The sleep finding, and the correction to it

ds005448 carries 924 stimulation trials delivered during annotated sleep, in STREEF03 and STREEF04, in the same runs as those patients' awake trials. On its face that is a within-patient wake-versus-sleep intracranial contrast sitting in a deposit nobody had opened.

It cannot be built as a paired contrast, and the reason is structural.

Patient Channels Awake sites / trials Sleep sites / trials Shared sites Usable cells
STREEF03 61 11 / 51 51 / 253 0 0
STREEF04 47 22 / 101 80 / 390 4 3

SPESclin walks through electrode pairs sequentially across roughly fifty minutes. A patient who falls asleep partway through is stimulated at one set of sites awake and a different set asleep. State and site are confounded by the protocol. In STREEF03 the two sets do not intersect at all.

Three cells in one patient will not support a contrast reading, and issuing one would mean comparing PCIst across different stimulation sites while calling the difference a state effect. That is what METHOD 3 exists to prevent.

Added to the pre-admission checklist. Where a state change occurs during a sequential-site protocol rather than between sessions, check that the site sets intersect before treating it as a contrast. A within-patient state change is not automatically a within-site state change.

The depth-electrode arm

STREEF06 through STREEF13 are eight patients recorded on depth electrodes, at 1 and 2 mA, under the same SPESclin protocol. Computed separately, as METHOD 3.3 requires.

Patients Cells Mean Median SD
STReEF depth, 2-trial floor 8 200 26.47 24.23 14.33
STReEF depth, all trials 8 200 28.43 25.20 16.54

Per-patient medians run 19.5 to 34.1 — a factor of 1.75, against the grid cohorts' 2.5. One cell of 200 returned zero.

What the four cohorts say together

The register now holds four independently computed awake intracranial cohorts. Held to the 2-trial floor and the declared-departure window, and broken out by the two things that move the quantity most:

Geometry Cohort mA Patients Cells Median Mean
grid PRIOS (ds004370) 2 2 10 20.91 21.58
grid PRIOS (ds004370) 4 4 45 32.84 36.34
grid PRIOS (ds004370) 8 7 220 26.95 29.97
grid STReEF grids (ds005448) 8 4 78 33.55 35.66
depth CHOCS SPESclin (ds003848) 2 2 45 16.36 20.25
depth STReEF depth (ds005448) 1 4 32 24.03 27.02
depth STReEF depth (ds005448) 2 8 167 24.23 26.36

Three things follow, and only the first is solid.

The grid replication holds. At 8 mA, the only current where two grid cohorts meet, PRIOS gives 26.95 and STReEF 33.55. Both sit inside NS-0012's issued interval.

Two depth cohorts at the same current, protocol and geometry differ by about 1.5x. CHOCS SPESclin gives 16.36 at 2 mA and STReEF depth gives 24.23, with every methodological variable this project knows about held constant. The difference is between deposits — different centers, different patients, different electrode manufacturers and montages. Two patients against eight settles nothing, but it sets a floor on how precise any absolute intracranial value can claim to be: the between-cohort term is not small.

Geometry does not obviously dominate that term. METHOD 3.3 bars comparing absolute values across geometries, adopted as a precaution before any evidence bore on it. This is the first evidence. At 2 mA the grid value, 20.91, falls between the two depth values, 16.36 and 24.23. Whatever separates grid from depth is not larger than what separates two depth cohorts from each other.

That is not a reason to drop 3.3. The 2 mA grid figure rests on ten cells in two patients; current and geometry are confounded across the whole table, since the grid cohorts stimulate at 4-8 mA and the depth cohorts at 1-2 mA; and a rule that keeps incomparable things apart costs nothing when it turns out they were comparable. It is a reason to record that the restriction is precautionary rather than demonstrated, and to revisit it when a deposit stimulates both geometries at a common current.

One further pattern is visible and should not be read as a finding: PRIOS's grid values run 20.91 at 2 mA, 32.84 at 4 mA and 26.95 at 8 mA — the inverted U that METHOD 2.1 describes from mouse data, appearing in human cortex. It is fully confounded with patient composition, because two patients contribute at 2 mA, four at 4 mA and seven at 8 mA. Testing it needs a within-patient current sweep, which this deposit can support and nothing here has attempted.

Limitations, stated