Audit calyx-specific PN contact scope without changing frozen baseline
This commit is contained in:
+33
-14
@@ -1,19 +1,38 @@
|
|||||||
# 当前研究状态 — Phase 4AA
|
# 当前研究状态 — Phase 4AB
|
||||||
|
|
||||||
最新封存结果:**PASS-APL-PN-ANATOMICAL-LOCALIZATION / NO-DYNAMICS-CANDIDATE**。
|
最新结果:**COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE**。
|
||||||
初始化 README 与原 registry 快照仍按原字节保留;它们描述初始化时的 Phase 4Z 截止状态。最新结论请从本文件进入。
|
初始化 README/registry 保留原字节,最新结论从本页进入。
|
||||||
|
|
||||||
- [本轮完整报告](docs/progress/phase4aa-apl-pn-scope.md)
|
- [本轮中文机制解读](docs/progress/phase4ab-terminal-scope.md)
|
||||||
- [本轮证据与最终结果](registry/phase4aa-apl-pn-scope/evidence/audit/final-summary.json)
|
- [完整逐气味结果与限制](docs/progress/phase4ab-technical-results.md)
|
||||||
- [新模型/审计源码](models/male-cns-lif/apl-pn-scope-audit-v1/PROTOCOL.md)
|
- [预先声明的诊断方案](models/male-cns-lif/terminal-scope-diagnostic-v1/PROTOCOL.md)
|
||||||
- [外部数据官方校验](registry/phase4aa-apl-pn-scope/evidence/external-resources/synaptic-partners/download-verification.json)
|
- [最终结果及 SHA-256 证据](registry/phase4ab-terminal-scope/evidence/audit/final-summary.json)
|
||||||
|
- [上一轮官方突触空间定位](docs/progress/phase4aa-apl-pn-scope.md)
|
||||||
|
|
||||||
新增事实:268 条 APL→PN 边、4,600 contacts;3,820 contacts 在官方 CA(L/R),731 仍为 CentralBrain-unspecified。
|
## 新证据
|
||||||
七个重点 PN 的 APL 输入集中在 calyx,而其局部 ALLN 回路主要位于触角叶。受体、末梢作用系数与功能因果仍未确认。
|
|
||||||
|
|
||||||
5/5 frozen-v2 trials 事件/计数/V/g 精确一致;230,239 个旧科学文件哈希不变。
|
以官方 primary_post ROI 和真实 APL→PN / PN→KC 接触选择 229 个 PN。
|
||||||
没有训练,没有新动力学候选,顶层 gates 仍是 5/10(50%)。
|
局部诊断范围是 20,263 条边中的 337,099 个 calyx 接触,影响 3,760 个 KC。
|
||||||
下一步是预先定义 compartment/terminal-specific upstream 假设和对照,不直接改冻结模型,不调学习率来制造通过。
|
没有把 46,159 个未细分 ROI 的 PN→KC 接触重标为 calyx;没有推测 bouton/receptor。
|
||||||
|
|
||||||
官方 syn-partners 附加数据为 6,777,179,098 bytes,在新实验 external-resources 目录;raw 不变,未下载 EM。
|
24 组主对照(6 个旧 calibration 气味、一个旧 seed)显示:
|
||||||
Git 只保存代码、报告和 manifest;新增完整配对数据尚未异机备份。
|
|
||||||
|
- 仅阻断上述 calyx 接触,目标 KC82312 晚期 spikes 从 60–61 降到 0。
|
||||||
|
- VA6 PN 晚期仍有 212–214 spikes;受观察的 ALLN 仍有 454–456 Hz 活动。
|
||||||
|
- 全部活跃 KC 从原来的 139–172 个降到 1–2 个:这不是编码/记忆修复。
|
||||||
|
- 更广的 PN 快速输出阻断使回路近乎静默,不能把这种结果认作正确生理模型。
|
||||||
|
|
||||||
|
上述只是独立工程极端对照,不是 APL 抑制强度标定;未保存正式新权重。
|
||||||
|
Base CSR、raw counts、transmitter signs、LIF/APL calibration、eligibility-v2 和 14,232 plastic mask 不变。
|
||||||
|
|
||||||
|
## 验证与状态
|
||||||
|
|
||||||
|
6 组历史 trial 精确重现,4 组诊断重复精确一致,5/5 frozen deterministic-v2 reference 回归精确通过。
|
||||||
|
230,239 个原有科学文件及 Phase 4AA 模型/数据 manifests 前后完整性通过。
|
||||||
|
6 项单元测试、10,000 个随机算子检查通过;ComfyUI 未停用/卸载,未升级依赖。
|
||||||
|
|
||||||
|
顶层 gates 仍是 5/10(50%);本轮改进了机制定位和可重复诊断,不代表已获得学习能力。
|
||||||
|
下一步优先约束 upstream feedback 与局部 compartment physiology,不能靠增大整体抑制、调学习率/阈值或扩大 mask 达成通过。
|
||||||
|
不进入游戏、RL、视觉或 action decoder。
|
||||||
|
|
||||||
|
Git 仅同步代码、小报告和校验清单。大数据/全部 spike 输出保留在服务器,不等于已有完整异机备份。
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
# Phase 4AB — calyx contact-scope diagnostic
|
||||||
|
|
||||||
|
Status: COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE.
|
||||||
|
Diagnostic interventions only; no calibrated biological inhibition, no training, no parameter winner.
|
||||||
|
|
||||||
|
Eligible PNs: 229/259. CA mask: 20263 edges / 337099 contacts.
|
||||||
|
Affected KCs: 3760. Mixed-ROI affected edges: 3323; retained other contacts: 28975.
|
||||||
|
Broader PN→KC control: 21882 edges / 384555 contacts. All-fast-PN-output control: 116211 edges / 1268111 contacts.
|
||||||
|
|
||||||
|
| Odor | Condition | Active KC | KC late spikes | KC82312 late | VA6 late |
|
||||||
|
|---|---|---:|---:|---:|---:|
|
||||||
|
| ethyl (R)-(-)-3-hydroxybutanoate | frozen_reference | 160 | 114 | 60 | 213 |
|
||||||
|
| ethyl (R)-(-)-3-hydroxybutanoate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 214 |
|
||||||
|
| ethyl (R)-(-)-3-hydroxybutanoate | all_PN_KC_block | 1 | 39 | 0 | 214 |
|
||||||
|
| ethyl (R)-(-)-3-hydroxybutanoate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| 3-penten-2-one | frozen_reference | 172 | 118 | 60 | 213 |
|
||||||
|
| 3-penten-2-one | calyx_PN_KC_contact_block | 2 | 39 | 0 | 213 |
|
||||||
|
| 3-penten-2-one | all_PN_KC_block | 1 | 39 | 0 | 213 |
|
||||||
|
| 3-penten-2-one | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| (2R)-hexan-2-ol | frozen_reference | 144 | 117 | 61 | 213 |
|
||||||
|
| (2R)-hexan-2-ol | calyx_PN_KC_contact_block | 1 | 39 | 0 | 213 |
|
||||||
|
| (2R)-hexan-2-ol | all_PN_KC_block | 1 | 39 | 0 | 213 |
|
||||||
|
| (2R)-hexan-2-ol | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| gamma-propyl-gamma-butyrolactone | frozen_reference | 151 | 117 | 60 | 212 |
|
||||||
|
| gamma-propyl-gamma-butyrolactone | calyx_PN_KC_contact_block | 2 | 39 | 0 | 212 |
|
||||||
|
| gamma-propyl-gamma-butyrolactone | all_PN_KC_block | 1 | 40 | 0 | 212 |
|
||||||
|
| gamma-propyl-gamma-butyrolactone | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| 2-methyl butyl acetate | frozen_reference | 139 | 118 | 61 | 213 |
|
||||||
|
| 2-methyl butyl acetate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 212 |
|
||||||
|
| 2-methyl butyl acetate | all_PN_KC_block | 1 | 39 | 0 | 212 |
|
||||||
|
| 2-methyl butyl acetate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| ethyl (S)-(+)-3-hydroxybutanoate | frozen_reference | 163 | 119 | 61 | 214 |
|
||||||
|
| ethyl (S)-(+)-3-hydroxybutanoate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 214 |
|
||||||
|
| ethyl (S)-(+)-3-hydroxybutanoate | all_PN_KC_block | 1 | 39 | 0 | 214 |
|
||||||
|
| ethyl (S)-(+)-3-hydroxybutanoate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
|
||||||
|
Late means 500–1,000 ms; 120 ms old calibration odor input; one seed, six old odors. No held-out generalization claim.
|
||||||
|
Identical scheduled requests across conditions. Delivered request-associated output differences versus reference: 459 (summed over all comparisons). See per-trial table; this is state/refractory feedback, not a changed RNG.
|
||||||
|
|
||||||
|
## Interpretation limits
|
||||||
|
|
||||||
|
CA selection uses exact primary_post labels plus matched APL→PN/ROI metadata, not bouton identities or inferred receptors. Unknown ROIs are not reclassified.
|
||||||
|
Whole-PN control removes fast output, not somatic spikes or the frozen graded APL input. It is not a complete PN knockout.
|
||||||
|
Reduction/silencing is not restored information or associative memory. No condition becomes a formal model. Fixed-event replay freezes other recorded events/APL; dynamic trials allow natural recurrent feedback.
|
||||||
|
Local-inhibition motivation: [Prisco et al.](https://doi.org/10.7554/eLife.74172), [Amin et al.](https://doi.org/10.7554/eLife.56954). These sources do not establish the complete-block operator as physiological.
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
|
||||||
|
Six original trials reproduced exactly (whole spike events, watched state and final counts/V/g). Four first-odor repeats exact. Five deterministic-v2 frozen reference trials exact. Finite state throughout.
|
||||||
|
Original 230,239 files and both Phase 4AA manifests rechecked before/after. Base CSR/count/sign, frozen LIF/APL, eligibility-v2 and 14,232 plastic mask preserved.
|
||||||
|
Timing includes diagnostic CPU/GPU observation overhead and is not a runtime speed benchmark. ComfyUI was not stopped or unloaded.
|
||||||
|
Top-level acceptance gates remain 5/10 (50%); anatomical diagnosis is not evidence of learning success.
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# Phase 4AB 机制解读
|
||||||
|
|
||||||
|
正式状态:**COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE**。
|
||||||
|
|
||||||
|
这一轮区分了“PN→KC 传入位置”与“维持 PN 放电的上游反馈”。没有修复或批准新的 APL 生理模型,也没有训练。
|
||||||
|
|
||||||
|
| 诊断范围 | 活跃 KC(6 个旧气味) | 目标 KC 晚期 spikes | VA6 PN 晚期 spikes |
|
||||||
|
|---|---:|---:|---:|
|
||||||
|
| 原模型 | 139–172 | 60–61 | 212–214 |
|
||||||
|
| 仅明确 calyx 接触 | 1–2 | 0 | 212–214 |
|
||||||
|
| 同批 PN 的全部 KC 输出 | 1 | 0 | 212–214 |
|
||||||
|
| 同批 PN 的全部快速输出 | 0 | 0 | 0 |
|
||||||
|
|
||||||
|
晚期窗口是 500–1,000 ms。每个气味沿用 seed 131101;总计 24 组诊断、4 次精确重复,不是 5-seed 学习验证。
|
||||||
|
|
||||||
|
## 能说明什么
|
||||||
|
|
||||||
|
仅 calyx 接触阻断后,目标 KC82312 的晚期 spikes 范围为 0,VA6 仍为 212–214。
|
||||||
|
同时 KC 总活跃数降为 1–2,原模型为 139–172。不能把这种接近静默的结果包装成编码或记忆改善。
|
||||||
|
即使两个局部阻断条件的事件序列相同,其电压/g 仍可能不同;逐气味比较见 narrow-vs-allKC.csv。
|
||||||
|
宽范围 PN 快速输出阻断影响反馈路径,不等价于局部 calyx 调制;它也没有关闭 PN 胞体或 frozen graded APL 的 PN 输入。
|
||||||
|
|
||||||
|
## 仍不能说明什么
|
||||||
|
|
||||||
|
完全阻断只是工程极端对照,不是 APL 的实测释放抑制比例。没有估计 receptor、bouton、局部扩散范围或时间常数。
|
||||||
|
未使用 held-out 气味,未检验学习、保持、反转或动作输出。不得选取这次“让活动更少”的操作作为正式脑模型。
|
||||||
|
剩余 late KC 的 ID/type 已单独保存;其来源不能仅凭残余计数猜测。
|
||||||
|
|
||||||
|
## 下一步边界
|
||||||
|
|
||||||
|
先继续 upstream feedback / compartment-specific physiology 的证据约束,区分 calyx 信号传递与触角叶持续放电,再确定可检验的局部动力学假设。
|
||||||
|
不能靠增加整体抑制、调 eta/threshold、扩大 plastic mask 或让 KC 全静默宣称修复。当前不进入学习、游戏或视觉。
|
||||||
|
|
||||||
|
相关原始研究:[Prisco et al., 2021](https://doi.org/10.7554/eLife.74172)、[Amin et al., 2020](https://doi.org/10.7554/eLife.56954)。它们支持研究局部 APL 作用,不直接验证本实验完全阻断幅度。
|
||||||
|
|
||||||
|
顶层验收仍为 5/10(50%);本轮推进的是机制定位与可重复诊断能力。最终完整性状态见 regression/final-integrity.json。
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
# Phase 4AB — calyx contact-scope counterfactuals
|
||||||
|
|
||||||
|
This is an exploratory mechanism diagnostic, NOT an APL physiological model,
|
||||||
|
learning experiment, parameter calibration or new formal runtime candidate.
|
||||||
|
All previous scientific artifacts remain read-only. Only new output directories
|
||||||
|
are permitted. No additional download is required.
|
||||||
|
|
||||||
|
## Question and predeclared controls
|
||||||
|
|
||||||
|
Does removal of anatomically labelled calyx PN→KC input alter persistent KC
|
||||||
|
activity without also removing the same PNs' antennal-lobe output?
|
||||||
|
|
||||||
|
Select PN/ROI pairs from actual Phase 4AA APL→ALPN synaptic contacts whose
|
||||||
|
`primary_post` is exactly `CA(L)` or `CA(R)`. Select PN→KC contacts only when
|
||||||
|
their source PN and actual `primary_post` match that pair. This is **ROI-level
|
||||||
|
co-location**, not proof of the same bouton, receptor, physiological coefficient,
|
||||||
|
or even a per-presynaptic-site ROI annotation. `primary_post` labels the
|
||||||
|
postsynaptic site. Never reclassify `CentralBrain-unspecified` by proximity.
|
||||||
|
|
||||||
|
Compare four conditions on the same eligible PN set:
|
||||||
|
|
||||||
|
1. Frozen reference; no changed weights or injected current.
|
||||||
|
2. Block only the matched CA PN→KC contact component.
|
||||||
|
3. Block all PN→KC output of those PNs, irrespective of ROI.
|
||||||
|
4. Block all fast outgoing synaptic weights of those PNs (broad scope control).
|
||||||
|
|
||||||
|
These are complete-block engineering interventions, not estimates of biological
|
||||||
|
APL inhibition. There is no strength sweep or winner selection. Condition 4
|
||||||
|
does **not** silence PN somata or alter their force requests. The frozen graded
|
||||||
|
APL input matrix remains active in all four conditions; condition 4 is therefore
|
||||||
|
not a complete PN knockout. All fast edge slots remain present. Output masks are
|
||||||
|
not plastic masks, and nothing is written back to base CSR or an old model.
|
||||||
|
|
||||||
|
For condition 2, the in-memory diagnostic effective weight is
|
||||||
|
`float32(float64(frozen_effective_weight) * (raw_count - CA_count) / raw_count)`.
|
||||||
|
The linear per-contact decomposition is an engineering consequence of the
|
||||||
|
existing linear weight model, not a measured transmitter-release law.
|
||||||
|
At strength zero there is no arithmetic or write at all; identity must be exact.
|
||||||
|
Conditions 3/4 set only the declared fast effective weights to zero. Anatomical
|
||||||
|
counts, transmitter signs, LIF/refractory/delay, APL matrices and calibration,
|
||||||
|
eligibility-v2 and the 14,232 plastic-edge mask remain frozen.
|
||||||
|
|
||||||
|
## Trials and measurements, declared before results
|
||||||
|
|
||||||
|
Use all six old calibration odors, seed 131101, the frozen Phase 4V DoOR→PN
|
||||||
|
request generator, 120 ms stimulus followed by observation to 1,000 ms. Do not
|
||||||
|
consume held-out odors. Reset all states between trials. Repeat every condition
|
||||||
|
for odor 0 to test exact determinism. No DAN reinforcement or weight training.
|
||||||
|
|
||||||
|
Record all spike events, all final counts/V/g, watched PN/KC/ALLN states, original
|
||||||
|
force requests and their accepted/preexisting/blocked status, KC active fraction,
|
||||||
|
late KC82312/VA6/ALLN activity (500–1,000 ms), and class-wise counts. All conditions
|
||||||
|
share requested inputs; delivered events need not match because recurrent state
|
||||||
|
and refractory periods can change. Explicitly report this distinction.
|
||||||
|
|
||||||
|
Unmodified trials must reproduce Phase 4Z whole events, watched states and
|
||||||
|
Phase 4Y final arrays bit-for-bit. Each first-odor repeat must be exact. Run the
|
||||||
|
five frozen Phase 4C trials against the deterministic-v2 archived oracle in new
|
||||||
|
output paths. Original v1 files remain preserved, not relabelled as deterministic.
|
||||||
|
|
||||||
|
Additionally, replay the first frozen trial with its recorded events fixed, using
|
||||||
|
the frozen ordered reduction and 18-step queue to validate locality: no terminal
|
||||||
|
mask affects non-KC arrivals; broad controls may do so. This fixed-event test
|
||||||
|
only measures the direct operator, not whole-brain causality.
|
||||||
|
|
||||||
|
## Interpretation gate
|
||||||
|
|
||||||
|
Reduced KC activity alone is not repaired encoding or memory. A broad blockade
|
||||||
|
can destroy useful drive. If CA blockade fails to remove the late KC response,
|
||||||
|
report that it is insufficient under this model; do not increase gain or relabel
|
||||||
|
unknown contacts. If it succeeds while ALPN/ALLN persist, report scope-specific
|
||||||
|
model counterfactual evidence, not proof that biological APL has that strength.
|
||||||
|
No result in this phase can generate a learned/physiological candidate.
|
||||||
|
|
||||||
|
## Source boundaries
|
||||||
|
|
||||||
|
- MaleCNS official v1.0 syn-partners, CC BY 4.0, already verified in Phase 4AA:
|
||||||
|
https://male-cns.janelia.org/download/
|
||||||
|
- Prisco et al. (2021), doi:10.7554/eLife.74172: local calyx APL interactions;
|
||||||
|
does not assign MaleCNS edge-specific inhibition coefficients.
|
||||||
|
- Amin et al. (2020), doi:10.7554/eLife.56954: spatially localized APL activity
|
||||||
|
and inhibition; does not validate the present engineering complete-block rule.
|
||||||
|
|
||||||
|
Unknown: bouton identity, receptor distribution, strength/time course of terminal
|
||||||
|
release modulation, and whether adding such physiology would rescue memory.
|
||||||
|
No game, decoder, RL, visual input, threshold/eta tuning, or next-phase training.
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
# Terminal-scope diagnostic v1 (Phase 4AB)
|
||||||
|
|
||||||
|
Independent engineering counterfactual harness, **not a formal brain model**.
|
||||||
|
Read `PROTOCOL.md` before interpreting any result. Frozen input datasets and
|
||||||
|
scientific sources are mandatory; no data are fetched by this stage.
|
||||||
|
|
||||||
|
## Sequence
|
||||||
|
|
||||||
|
Use the existing scientific environment with `PYTHONDONTWRITEBYTECODE=1`,
|
||||||
|
`OMP_NUM_THREADS=4`, `OPENBLAS_NUM_THREADS=4`, `MKL_NUM_THREADS=4`:
|
||||||
|
|
||||||
|
1. `python -B -m unittest -v test_scope`
|
||||||
|
2. `python -B diagnostic.py prepare` (new empty experiment directory only)
|
||||||
|
3. `python -B validate.py`
|
||||||
|
4. `python -B launch.py` (explicit frozen module paths, single 4090)
|
||||||
|
5. `python -B environment.py`
|
||||||
|
6. `python -B analyze.py`
|
||||||
|
7. `python -B diagnostic.py finalize`
|
||||||
|
8. `python -B publish.py` (new small Git evidence copies only)
|
||||||
|
|
||||||
|
The completed output is sealed. **Do not rerun these commands into its directory.**
|
||||||
|
Unit tests may be rerun read-only. An independent full replication requires a new
|
||||||
|
isolated experiment/model directory, with its paths changed consistently in the
|
||||||
|
copied configuration/entry points before preregistration. Retain this original
|
||||||
|
source and every old output. The current protocol also includes four in-run exact
|
||||||
|
repeats, six historical exact comparisons and five archived reference checks.
|
||||||
|
|
||||||
|
`launch.py` fixes the initial import-path failure without editing the five
|
||||||
|
preregistered source/config files. `analyze.py` is a post-hoc summary only and
|
||||||
|
does not launch any additional experiment or fit any parameter. Additional helper
|
||||||
|
hashes and imported code hashes are captured in the final manifest/protocol.
|
||||||
|
|
||||||
|
The existing environment is reused, never upgraded. ComfyUI queues are checked
|
||||||
|
between trials; a busy service causes deferral, not eviction. Performance includes
|
||||||
|
observation overhead. The historical APL graded input/output remains unchanged.
|
||||||
|
|
||||||
|
All-fast-PN-output blockade is not somatic silencing and not a complete knockout:
|
||||||
|
PN spikes still contribute to the frozen graded APL input. `primary_post` is a
|
||||||
|
postsynaptic ROI label, not a reconstructed bouton identity. Unknown stays unknown.
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
"""Post-hoc interpretation only; no further trials, selection or parameter changes."""
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
import numpy as np
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
ROOT = Path('/data/digital-drosophila'); MODEL = ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1'
|
||||||
|
EXP = ROOT/'experiments/phase4ab-terminal-scope'
|
||||||
|
sys.path.insert(0, str(MODEL))
|
||||||
|
import diagnostic
|
||||||
|
cfg, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||||
|
assert (EXP/'audit/run-complete.json').exists()
|
||||||
|
m = pd.read_parquet(ROOT/cfg['canonical']/'neuron-index/unified-metadata.parquet').sort_values('neuron_idx').reset_index(drop=True)
|
||||||
|
trials = pd.read_csv(EXP/'audit/trials.csv'); watched = pd.read_csv(EXP/'audit/watched-counts.csv')
|
||||||
|
remaining, comparisons = [], []
|
||||||
|
for oi in cfg['odor_indices']:
|
||||||
|
names = {c: f'{oi}-{cfg["seed"]}-{c}' for c in cfg['conditions']}
|
||||||
|
narrow = pd.read_parquet(EXP/'events'/f'{names["calyx_PN_KC_contact_block"]}.parquet')
|
||||||
|
allkc = pd.read_parquet(EXP/'events'/f'{names["all_PN_KC_block"]}.parquet')
|
||||||
|
a = np.load(EXP/'states'/f'{names["calyx_PN_KC_contact_block"]}.npz')
|
||||||
|
b = np.load(EXP/'states'/f'{names["all_PN_KC_block"]}.npz')
|
||||||
|
comparisons.append({'odor_index': oi, 'terminal_vs_allKC_events_exact': narrow.equals(allkc),
|
||||||
|
'counts_exact': bool(np.array_equal(a['counts'], b['counts'])),
|
||||||
|
'max_V_difference': float(np.abs(a['final_v'].astype(float)-b['final_v']).max()),
|
||||||
|
'max_g_difference': float(np.abs(a['final_g'].astype(float)-b['final_g']).max())})
|
||||||
|
kc = np.flatnonzero(m.annotation_class.eq('Kenyon_Cell'))
|
||||||
|
late = narrow[(narrow.step >= 5000) & narrow.neuron_idx.isin(kc)]
|
||||||
|
for node, group in late.groupby('neuron_idx'):
|
||||||
|
row = m.iloc[node]
|
||||||
|
remaining.append({'odor_index': oi, 'neuron_idx': int(node), 'body_id': int(row.body_id),
|
||||||
|
'type': str(row.annotation_type), 'late_spikes': len(group),
|
||||||
|
'first_late_spike_ms': float(group.step.min()/10), 'last_spike_ms': float(group.step.max()/10),
|
||||||
|
'source_identity_not_inferred_from_this_count': True})
|
||||||
|
pd.DataFrame(remaining).to_csv(EXP/'audit/remaining-late-KCs.csv', index=False)
|
||||||
|
pd.DataFrame(comparisons).to_csv(EXP/'audit/narrow-vs-allKC.csv', index=False)
|
||||||
|
|
||||||
|
rows = []
|
||||||
|
for name, g in trials.groupby('condition', sort=False):
|
||||||
|
row = {'condition': name}
|
||||||
|
for key in ['whole_spikes', 'KC_active', 'KC_spikes', 'KC_late_spikes', 'KC82312_late_spikes', 'VA6_late_spikes', 'wall_seconds']:
|
||||||
|
row[key+'_min'] = float(g[key].min()); row[key+'_max'] = float(g[key].max())
|
||||||
|
rows.append(row)
|
||||||
|
pd.DataFrame(rows).to_csv(EXP/'audit/condition-ranges.csv', index=False)
|
||||||
|
ca = trials[trials.condition == 'calyx_PN_KC_contact_block']
|
||||||
|
wide = trials[trials.condition == 'whole_PN_output_block']
|
||||||
|
local = watched[(watched.population == 'ALLN') & watched.trial.str.endswith('calyx_PN_KC_contact_block')]
|
||||||
|
result = {'posthoc_summary_not_new_experiment': True,
|
||||||
|
'all_six_CA_block_targetKC_late_zero': bool(ca.KC82312_late_spikes.eq(0).all()),
|
||||||
|
'all_six_CA_block_VA6_late_persists': bool(ca.VA6_late_spikes.gt(0).all()),
|
||||||
|
'all_six_broad_block_KC_and_VA6_late_zero': bool((wide.KC_late_spikes.eq(0) & wide.VA6_late_spikes.eq(0)).all()),
|
||||||
|
'CA_block_active_KC_range': [int(ca.KC_active.min()), int(ca.KC_active.max())],
|
||||||
|
'CA_block_ALLN_watched_late_rate_range_hz': [float(local.late_rate_hz.min()), float(local.late_rate_hz.max())],
|
||||||
|
'CA_vs_allKC_spike_sequence_exact_for_all_odors': bool(all(x['terminal_vs_allKC_events_exact'] for x in comparisons)),
|
||||||
|
'not_a_physiological_APL_gain_estimate': True, 'not_a_memory_or_separability_success': True,
|
||||||
|
'new_candidate': False, 'source_sha256': digest(Path(__file__))}
|
||||||
|
save(EXP/'audit/mechanism-interpretation.json', result)
|
||||||
|
|
||||||
|
def span(frame, key):
|
||||||
|
lo, hi = frame[key].min(), frame[key].max()
|
||||||
|
return str(int(lo)) if lo == hi else f'{int(lo)}–{int(hi)}'
|
||||||
|
ref = trials[trials.condition == 'frozen_reference']
|
||||||
|
lines = ['# Phase 4AB 机制解读', '',
|
||||||
|
'正式状态:**COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE**。', '',
|
||||||
|
'这一轮区分了“PN→KC 传入位置”与“维持 PN 放电的上游反馈”。没有修复或批准新的 APL 生理模型,也没有训练。', '',
|
||||||
|
'| 诊断范围 | 活跃 KC(6 个旧气味) | 目标 KC 晚期 spikes | VA6 PN 晚期 spikes |',
|
||||||
|
'|---|---:|---:|---:|']
|
||||||
|
labels = {'frozen_reference': '原模型', 'calyx_PN_KC_contact_block': '仅明确 calyx 接触',
|
||||||
|
'all_PN_KC_block': '同批 PN 的全部 KC 输出', 'whole_PN_output_block': '同批 PN 的全部快速输出'}
|
||||||
|
for name in cfg['conditions']:
|
||||||
|
g = trials[trials.condition == name]
|
||||||
|
lines.append(f'| {labels[name]} | {span(g,"KC_active")} | {span(g,"KC82312_late_spikes")} | {span(g,"VA6_late_spikes")} |')
|
||||||
|
lines += ['', '晚期窗口是 500–1,000 ms。每个气味沿用 seed 131101;总计 24 组诊断、4 次精确重复,不是 5-seed 学习验证。', '',
|
||||||
|
'## 能说明什么', '',
|
||||||
|
f'仅 calyx 接触阻断后,目标 KC82312 的晚期 spikes 范围为 {span(ca,"KC82312_late_spikes")},VA6 仍为 {span(ca,"VA6_late_spikes")}。',
|
||||||
|
f'同时 KC 总活跃数降为 {span(ca,"KC_active")},原模型为 {span(ref,"KC_active")}。不能把这种接近静默的结果包装成编码或记忆改善。',
|
||||||
|
'即使两个局部阻断条件的事件序列相同,其电压/g 仍可能不同;逐气味比较见 narrow-vs-allKC.csv。',
|
||||||
|
'宽范围 PN 快速输出阻断影响反馈路径,不等价于局部 calyx 调制;它也没有关闭 PN 胞体或 frozen graded APL 的 PN 输入。', '',
|
||||||
|
'## 仍不能说明什么', '',
|
||||||
|
'完全阻断只是工程极端对照,不是 APL 的实测释放抑制比例。没有估计 receptor、bouton、局部扩散范围或时间常数。',
|
||||||
|
'未使用 held-out 气味,未检验学习、保持、反转或动作输出。不得选取这次“让活动更少”的操作作为正式脑模型。',
|
||||||
|
'剩余 late KC 的 ID/type 已单独保存;其来源不能仅凭残余计数猜测。', '',
|
||||||
|
'## 下一步边界', '',
|
||||||
|
'先继续 upstream feedback / compartment-specific physiology 的证据约束,区分 calyx 信号传递与触角叶持续放电,再确定可检验的局部动力学假设。',
|
||||||
|
'不能靠增加整体抑制、调 eta/threshold、扩大 plastic mask 或让 KC 全静默宣称修复。当前不进入学习、游戏或视觉。', '',
|
||||||
|
'相关原始研究:[Prisco et al., 2021](https://doi.org/10.7554/eLife.74172)、[Amin et al., 2020](https://doi.org/10.7554/eLife.56954)。它们支持研究局部 APL 作用,不直接验证本实验完全阻断幅度。', '',
|
||||||
|
'顶层验收仍为 5/10(50%);本轮推进的是机制定位与可重复诊断能力。最终完整性状态见 regression/final-integrity.json。']
|
||||||
|
with (EXP/'INTERPRETATION.zh.md').open('x', encoding='utf-8') as out:
|
||||||
|
out.write('\n'.join(lines)+'\n')
|
||||||
|
print(result)
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
451b53b128eb0ad67acb81f060f3676794a68c98637dd2c0eddd137da509fccf PROTOCOL.md
|
||||||
|
2842b5dd94ed30fc01d1a8b8d95e235de78695d3d1c1076402499276fb903261 README.md
|
||||||
|
33ba5f323e9ed3343f43a8d64fb7e862c8a4f1118b9b441f4745e26cc14303a8 analyze.py
|
||||||
|
e22088d9847504a50c0e684d2cee9420f484ab1ebef9d6057921062d8f785e73 config.yaml
|
||||||
|
c8ec2ae6e72d35fedbd42acc6e6b5e7af2634d5b9805dc20e777b172c55d5aa4 diagnostic.py
|
||||||
|
be92ce24e63910f67da0238b19e3abb882e1afd317561fccf01734f1b4a56f25 environment.py
|
||||||
|
0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625 launch.py
|
||||||
|
bc194bb857336908b1c3fe71cc0e7b7fe4152794745bd3443533d47da886f5ec publish.py
|
||||||
|
8f5774496dcceaee1c2793a5308754cbd0864c4a38d507481071d988f9de424d scope.py
|
||||||
|
38a1c6e653ae97e77e5feda3ee8f2f8a3c366755bfbbd57ca1373b9b8f971bbb test_scope.py
|
||||||
|
971136a667367a84cfc50ebc3fa73a749eddb8b8e1ca6931708ba67bfc12f0c1 validate.py
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
phase: 4AB
|
||||||
|
root: /data/digital-drosophila
|
||||||
|
model: models/male-cns-lif/terminal-scope-diagnostic-v1
|
||||||
|
experiment: experiments/phase4ab-terminal-scope
|
||||||
|
prior_model: models/male-cns-lif/apl-pn-scope-audit-v1
|
||||||
|
prior_experiment: experiments/phase4aa-apl-pn-scope
|
||||||
|
runtime: models/male-cns-lif/deterministic-runtime-v2
|
||||||
|
snapshot: registry/snapshots/bootstrap-20260929
|
||||||
|
canonical: datasets/male-cns-v1.0/processed/neuron-only
|
||||||
|
event_prior: experiments/phase4z-pn-feedback-audit
|
||||||
|
state_prior: experiments/phase4y-dpm-hypothesis
|
||||||
|
input_model: models/male-cns-lif/csus-audit-v1
|
||||||
|
roi_labels: [CA(L), CA(R)]
|
||||||
|
seed: 131101
|
||||||
|
odor_indices: [0, 1, 2, 3, 4, 5]
|
||||||
|
repeat_odor_index: 0
|
||||||
|
late_start_ms: 500
|
||||||
|
target_KC: 82312
|
||||||
|
watched_VA6: 133666
|
||||||
|
conditions: [frozen_reference, calyx_PN_KC_contact_block, all_PN_KC_block, whole_PN_output_block]
|
||||||
|
workers: 4
|
||||||
|
no_candidate: true
|
||||||
@@ -0,0 +1,369 @@
|
|||||||
|
"""New-path-only Phase 4AB scope diagnostics; never edits frozen scientific files."""
|
||||||
|
import argparse
|
||||||
|
from datetime import datetime, timezone
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
import urllib.request
|
||||||
|
import numpy as np
|
||||||
|
import pandas as pd
|
||||||
|
import yaml
|
||||||
|
from scope import contact_scope, edge_ids_for_pairs, blocked_weights
|
||||||
|
|
||||||
|
|
||||||
|
def load_context():
|
||||||
|
cfg = yaml.safe_load(Path(__file__).with_name('config.yaml').read_text())
|
||||||
|
root = Path(cfg['root']); model = root/cfg['model']; exp = root/cfg['experiment']
|
||||||
|
sys.path.insert(0, str(root/cfg['prior_model']))
|
||||||
|
from audit import save, digest, immutable_check, seal
|
||||||
|
return cfg, root, model, exp, save, digest, immutable_check, seal
|
||||||
|
|
||||||
|
|
||||||
|
def manifest_check(folder, digest):
|
||||||
|
manifest = folder/'manifest.json'
|
||||||
|
rows = json.loads(manifest.read_text())['files']
|
||||||
|
bad = []
|
||||||
|
for row in rows:
|
||||||
|
path = folder/row['path']
|
||||||
|
if not path.is_file() or path.stat().st_size != row['bytes'] or digest(path) != row['sha256']:
|
||||||
|
bad.append(row['path'])
|
||||||
|
return {'pass': not bad, 'checked': len(rows), 'mismatches': bad,
|
||||||
|
'manifest_sha256': digest(manifest), 'checksums_sha256': digest(folder/'checksums.sha256')}
|
||||||
|
|
||||||
|
|
||||||
|
def integrity(cfg, root, digest, immutable_check):
|
||||||
|
result = {'original': immutable_check(root, root/cfg['snapshot'], cfg['workers'])}
|
||||||
|
for key in ('prior_model', 'prior_experiment'):
|
||||||
|
result[key] = manifest_check(root/cfg[key], digest)
|
||||||
|
assert all(x['pass'] for x in result.values()), result
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def queues():
|
||||||
|
out = []
|
||||||
|
for port in (8188, 8189, 8190):
|
||||||
|
with urllib.request.urlopen(f'http://192.168.10.51:{port}/queue', timeout=5) as r:
|
||||||
|
q = json.load(r)
|
||||||
|
out.append({'port': port, 'running': len(q['queue_running']), 'pending': len(q['queue_pending'])})
|
||||||
|
assert all(x['running'] == x['pending'] == 0 for x in out), 'ComfyUI busy: defer, never evict'
|
||||||
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
def prepare():
|
||||||
|
cfg, root, model, exp, save, digest, immutable_check, _ = load_context()
|
||||||
|
assert exp.parent == root/'experiments' and model.parent == root/'models/male-cns-lif'
|
||||||
|
if exp.exists() and any(exp.iterdir()): raise RuntimeError('Refusing nonempty experiment')
|
||||||
|
exp.mkdir(exist_ok=True)
|
||||||
|
for d in ('protocol', 'audit', 'masks', 'events', 'states', 'observations', 'requests', 'replay', 'regression', 'performance'):
|
||||||
|
(exp/d).mkdir()
|
||||||
|
save(exp/'protocol/preregistered.json', {'config': cfg, 'before_analysis': True,
|
||||||
|
'timestamp_utc': datetime.now(timezone.utc).isoformat(),
|
||||||
|
'parent_commit': subprocess.check_output(['git', '-C', str(root), 'rev-parse', 'HEAD'], text=True).strip(),
|
||||||
|
'source_hashes': {p.name: digest(p) for p in sorted(model.iterdir()) if p.is_file()}})
|
||||||
|
save(exp/'regression/preflight.json', integrity(cfg, root, digest, immutable_check))
|
||||||
|
can = root/cfg['canonical']; prior = root/cfg['prior_experiment']
|
||||||
|
m = pd.read_parquet(can/'neuron-index/unified-metadata.parquet').sort_values('neuron_idx').reset_index(drop=True)
|
||||||
|
ptr = np.load(can/'gpu/csr-indptr.int64.npy', mmap_mode='r')
|
||||||
|
dst = np.load(can/'gpu/csr-indices.int32.npy', mmap_mode='r')
|
||||||
|
raw = np.load(can/'gpu/csr-weights.int64.npy', mmap_mode='r')
|
||||||
|
assert len(m) == 166700 and len(dst) == 25582938 and int(raw.sum()) == 124177617
|
||||||
|
assert m.body_id.dtype == np.uint64 and np.array_equal(m.neuron_idx, np.arange(len(m)))
|
||||||
|
src = np.repeat(np.arange(len(m), dtype=np.int32), np.diff(ptr))
|
||||||
|
apl = np.flatnonzero(m.annotation_type.eq('APL')); pn = np.flatnonzero(m.annotation_class.eq('ALPN'))
|
||||||
|
kc = np.flatnonzero(m.annotation_class.eq('Kenyon_Cell'))
|
||||||
|
contacts = pd.read_parquet(prior/'localization/APL-incident.parquet')
|
||||||
|
ap = contacts[contacts.source_neuron_idx.isin(apl) & contacts.target_neuron_idx.isin(pn)].copy()
|
||||||
|
pk = pd.read_parquet(prior/'localization/APL-target-PN-to-KC.parquet')
|
||||||
|
assert len(ap) == 4600 and ap.target_neuron_idx.nunique() == 259 and len(pk) == 385229
|
||||||
|
assert pk.source_neuron_idx.isin(pn).all() and pk.target_neuron_idx.isin(kc).all()
|
||||||
|
pairs, allowed, keep = contact_scope(ap, pk, cfg['roi_labels'])
|
||||||
|
ids = edge_ids_for_pairs(pairs, ptr, dst)
|
||||||
|
assert np.array_equal(raw[ids], pairs.raw_partner_count)
|
||||||
|
full_expected = np.flatnonzero(np.isin(src, ap.target_neuron_idx.unique()) & np.isin(dst, kc))
|
||||||
|
assert np.array_equal(np.sort(ids), full_expected), 'Missing whole PN->KC pairs'
|
||||||
|
pairs['edge_id'] = ids
|
||||||
|
pairs['source_body_id'] = m.body_id.to_numpy()[pairs.source_neuron_idx]
|
||||||
|
pairs['target_body_id'] = m.body_id.to_numpy()[pairs.target_neuron_idx]
|
||||||
|
ca = pairs[pairs.blocked_contact_count > 0].sort_values('edge_id').copy()
|
||||||
|
eligible = np.sort(ca.source_neuron_idx.unique()).astype(np.int32)
|
||||||
|
all_pk = np.flatnonzero(np.isin(src, eligible) & np.isin(dst, kc))
|
||||||
|
whole = np.flatnonzero(np.isin(src, eligible))
|
||||||
|
assert set(ca.edge_id).issubset(all_pk) and set(all_pk).issubset(whole)
|
||||||
|
assert not np.any(np.isin(src[ca.edge_id], apl)) and not np.any(ca.retained_contact_count < 0)
|
||||||
|
for name, eids, count in [
|
||||||
|
('calyx_PN_KC_contact_block', ca.edge_id.to_numpy(np.int64), ca.blocked_contact_count.to_numpy(np.int64)),
|
||||||
|
('all_PN_KC_block', all_pk, raw[all_pk]), ('whole_PN_output_block', whole, raw[whole])]:
|
||||||
|
frame = pd.DataFrame({'edge_id': eids, 'source_neuron_idx': src[eids], 'target_neuron_idx': dst[eids],
|
||||||
|
'raw_synapse_count': raw[eids], 'blocked_contact_count': count})
|
||||||
|
frame['source_body_id'] = m.body_id.to_numpy()[src[eids]]
|
||||||
|
frame['target_body_id'] = m.body_id.to_numpy()[dst[eids]]
|
||||||
|
frame.to_parquet(exp/'masks'/f'{name}.parquet', index=False)
|
||||||
|
pairs.to_parquet(exp/'audit/all-PN-KC-contact-partitions.parquet', index=False)
|
||||||
|
allowed.to_parquet(exp/'audit/observed-APL-PN-ROI-pairs.parquet', index=False)
|
||||||
|
pns = m.iloc[np.sort(ap.target_neuron_idx.unique().astype(np.int32))].copy()
|
||||||
|
pns['eligible_for_diagnostic'] = pns.neuron_idx.isin(eligible)
|
||||||
|
pns.to_parquet(exp/'audit/all-259-APL-target-PNs.parquet', index=False)
|
||||||
|
roi = pk.assign(in_scope=keep).groupby(['primary_post', 'in_scope'], observed=True, dropna=False).size().reset_index(name='contacts')
|
||||||
|
roi.to_csv(exp/'audit/ROI-partition.csv', index=False)
|
||||||
|
summary = {'neurons': len(m), 'edges': len(dst), 'raw_contacts': int(raw.sum()), 'APL_target_PNs': len(pns),
|
||||||
|
'eligible_PNs': len(eligible), 'ineligible_PNs': int((~pns.eligible_for_diagnostic).sum()),
|
||||||
|
'calyx_mask_edges': len(ca), 'calyx_blocked_contacts': int(ca.blocked_contact_count.sum()),
|
||||||
|
'calyx_affected_KCs': int(ca.target_neuron_idx.nunique()), 'mixed_CA_nonCA_edges': int((ca.retained_contact_count > 0).sum()),
|
||||||
|
'calyx_other_contacts_retained_on_affected_edges': int(ca.retained_contact_count.sum()),
|
||||||
|
'all_PN_KC_edges': len(all_pk), 'all_PN_KC_contacts': int(raw[all_pk].sum()),
|
||||||
|
'whole_PN_edges': len(whole), 'whole_PN_contacts': int(raw[whole].sum()),
|
||||||
|
'unknown_ROI_contacts_in_original_PN_KC': int(pk.primary_post.eq('CentralBrain-unspecified').sum()),
|
||||||
|
'unknown_contacts_relabelled': 0, 'same_bouton_confirmed': False, 'biophysical_coefficient_known': False}
|
||||||
|
save(exp/'audit/scope-summary.json', summary)
|
||||||
|
inputs = [prior/'localization/APL-incident.parquet', prior/'localization/APL-target-PN-to-KC.parquet',
|
||||||
|
prior/'external-resources/synaptic-partners/download-verification.json',
|
||||||
|
can/'neuron-index/unified-metadata.parquet'] + list((can/'gpu').glob('csr-*.npy'))
|
||||||
|
save(exp/'protocol/input-hashes.json', [{'path': str(p.relative_to(root)), 'sha256': digest(p), 'bytes': p.stat().st_size} for p in inputs])
|
||||||
|
save(exp/'protocol/mask-hashes.json', {p.name: digest(p) for p in sorted((exp/'masks').iterdir())})
|
||||||
|
print(json.dumps(summary), flush=True)
|
||||||
|
|
||||||
|
|
||||||
|
def run():
|
||||||
|
cfg, root, model, exp, save, digest, _, _ = load_context()
|
||||||
|
pre = json.loads((exp/'protocol/preregistered.json').read_text())
|
||||||
|
assert all(digest(model/n) == h for n, h in pre['source_hashes'].items()), 'Source changed since preregistration'
|
||||||
|
assert not (exp/'regression/run-start.json').exists(), 'Refusing rerun into existing outputs'
|
||||||
|
assert all(digest(exp/'masks'/n) == h for n, h in json.loads((exp/'protocol/mask-hashes.json').read_text()).items())
|
||||||
|
q = queues(); runtime = root/cfg['runtime']
|
||||||
|
pc = yaml.safe_load((runtime/'phase4p.yaml').read_text())
|
||||||
|
os.environ['CUDA_VISIBLE_DEVICES'] = pc['device']['visible_gpu_uuid']
|
||||||
|
os.environ['CUDA_HOME'] = '/usr/local/cuda'; os.environ['TORCH_CUDA_ARCH_LIST'] = '8.9'; os.environ['MAX_JOBS'] = '2'
|
||||||
|
os.environ['PATH'] = str(root/'models/male-cns-lif/.venv/bin') + ':/usr/local/cuda/bin:' + os.environ['PATH']
|
||||||
|
sys.path.insert(0, str(root/'models/male-cns-lif')); sys.path.insert(0, str(runtime))
|
||||||
|
import torch
|
||||||
|
import phase4p, phase4v, phase4z
|
||||||
|
from phase4p_revalidate import DeterministicAPLSim, door_inputs, make_drive
|
||||||
|
from phase4r import arrhash
|
||||||
|
free, total = torch.cuda.mem_get_info(); assert free > 2*1024**3
|
||||||
|
save(exp/'regression/run-start.json', {'ComfyUI_queues': q, 'free_VRAM': free, 'total_VRAM': total,
|
||||||
|
'device': torch.cuda.get_device_name(), 'timestamp_utc': datetime.now(timezone.utc).isoformat()})
|
||||||
|
start = time.perf_counter(); torch.cuda.reset_peak_memory_stats()
|
||||||
|
rt = phase4p.CanonicalRuntime(pc, runtime, exp)
|
||||||
|
sim = DeterministicAPLSim(rt); sim.install(None)
|
||||||
|
assert len(sim.identity) == 14232 and sim.n == 166700 and len(rt.raw_np) == 25582938 and rt.delay_steps == 18
|
||||||
|
frozen = rt.weights.cpu().numpy().copy(); anatomical_hash = arrhash(rt.raw_np)
|
||||||
|
original_install = sim.install
|
||||||
|
apl_input_hash = arrhash(sim.input_gpu.cpu().numpy(), sim.output_gpu.cpu().numpy())
|
||||||
|
base_hash = arrhash(sim.base.cpu().numpy())
|
||||||
|
masks = {n: pd.read_parquet(exp/'masks'/f'{n}.parquet') for n in cfg['conditions'][1:]}
|
||||||
|
updates = {}
|
||||||
|
for name, mask in masks.items():
|
||||||
|
ids = mask.edge_id.to_numpy(np.int64)
|
||||||
|
values = blocked_weights(frozen[ids], rt.raw_np[ids], mask.blocked_contact_count.to_numpy(np.int64))
|
||||||
|
assert np.all(np.abs(values) <= np.abs(frozen[ids]))
|
||||||
|
updates[name] = (torch.as_tensor(ids, device=rt.device), torch.as_tensor(values, device=rt.device))
|
||||||
|
mask.assign(frozen_effective_weight=frozen[ids], diagnostic_effective_weight=values,
|
||||||
|
diagnostic_delta=(values.astype(float)-frozen[ids])).to_parquet(exp/'audit'/f'{name}-effective-overlay.parquet', index=False)
|
||||||
|
condition = 'frozen_reference'
|
||||||
|
def install(E):
|
||||||
|
assert E is None, 'No learning allowed'
|
||||||
|
original_install(None)
|
||||||
|
if condition != 'frozen_reference':
|
||||||
|
ix, values = updates[condition]; rt.weights[ix] = values
|
||||||
|
sim.install = install
|
||||||
|
vc = yaml.safe_load((root/cfg['input_model']/'phase4v.yaml').read_text())
|
||||||
|
assert vc['short_duration_ms'] == 120 and vc['observation_duration_ms'] == 1000
|
||||||
|
oldwatch = json.loads((root/cfg['event_prior']/'protocol/watched.json').read_text())
|
||||||
|
watch = np.asarray(oldwatch['all_watched'], np.int32)
|
||||||
|
targetkc = np.unique(sim.identity.loc[sim.identity.compartment.eq(vc['target_compartment']), 'source_neuron_idx'].to_numpy(np.int32))
|
||||||
|
oc, panel, vectors, selection, mapping = door_inputs(); panel = panel[panel.split == 'calibration'].reset_index(drop=True)
|
||||||
|
assert len(panel) == 6
|
||||||
|
save(exp/'protocol/calibration-panel.json', panel.to_dict('records'))
|
||||||
|
codes = phase4z.role_codes(sim.meta)
|
||||||
|
trials, regress, request_summary, populations, watched, hashes = [], [], [], [], [], []
|
||||||
|
baseline0 = None
|
||||||
|
try:
|
||||||
|
for oi in cfg['odor_indices']:
|
||||||
|
odor = panel.iloc[oi]
|
||||||
|
targets, rates = make_drive(oc, panel, vectors, selection, mapping, odor.odor_id, 'physiological')
|
||||||
|
forcing_seed = vc['seed_namespace'] + oi*vc['odor_seed_offset'] + cfg['seed']
|
||||||
|
force = phase4v.forcing(sim, targets, rates, forcing_seed, vc, 'offset'); ff = force.cpu().numpy()
|
||||||
|
hashes.append({'odor_index': oi, 'seed': forcing_seed, 'forcing': arrhash(ff), 'targets_rates': arrhash(targets, rates)})
|
||||||
|
np.savez_compressed(exp/'requests'/f'{oi}-scheduled.npz', forcing=ff, targets=targets, rates=rates)
|
||||||
|
requests0 = None
|
||||||
|
for condition in cfg['conditions']:
|
||||||
|
queues(); name = f'{oi}-{cfg["seed"]}-{condition}'
|
||||||
|
obs = phase4z.Observer(rt, watch, ff, targets); obs.attach()
|
||||||
|
try: result = phase4v.observed(sim, targets, force, targetkc, vc)
|
||||||
|
finally: obs.detach()
|
||||||
|
assert result['finite'] and np.isfinite(result['final_v']).all() and np.isfinite(result['final_g']).all()
|
||||||
|
ev = obs.events(); states = np.asarray(obs.states); req = pd.DataFrame(obs.request_rows)
|
||||||
|
assert len(req) == int(ff.sum())
|
||||||
|
assert np.array_equal(np.bincount(ev.neuron_idx, minlength=sim.n), result['counts'])
|
||||||
|
expected_weights = frozen.copy()
|
||||||
|
if condition != 'frozen_reference':
|
||||||
|
ids = masks[condition].edge_id.to_numpy(np.int64)
|
||||||
|
expected_weights[ids] = updates[condition][1].cpu().numpy()
|
||||||
|
assert np.array_equal(rt.weights.cpu().numpy(), expected_weights), 'Undeclared weight change'
|
||||||
|
row = {'trial': name, 'declared_weight_scope_exact': True}
|
||||||
|
if condition == 'frozen_reference':
|
||||||
|
old_ev = pd.read_parquet(root/cfg['event_prior']/'events'/f'{name}-whole-brain.parquet')
|
||||||
|
old_state = np.load(root/cfg['event_prior']/'states'/f'{name}-watched.npz')
|
||||||
|
old_final = np.load(root/cfg['state_prior']/'states'/f'{name}.npz')
|
||||||
|
row['prior_exact'] = {'events': ev.equals(old_ev), 'watched_states': np.array_equal(states, old_state['state']),
|
||||||
|
**{key: bool(np.array_equal(result[key], old_final[key])) for key in ('counts', 'final_v', 'final_g', 'trace')}}
|
||||||
|
assert all(row['prior_exact'].values()), row
|
||||||
|
requests0 = req
|
||||||
|
if oi == cfg['repeat_odor_index']: baseline0 = ev, states, req, result
|
||||||
|
paired = requests0.merge(req, on=['step', 'neuron_idx'], suffixes=('_ref', '_diagnostic'), validate='one_to_one', how='outer', indicator=True)
|
||||||
|
assert paired['_merge'].eq('both').all()
|
||||||
|
request_summary.append({'trial': name, 'scheduled': len(req), 'identical_request_keys': True,
|
||||||
|
'accepted': int(req.status.eq('accepted').sum()), 'blocked': int(req.status.eq('blocked').sum()), 'preexisting': int(req.status.eq('preexisting').sum()),
|
||||||
|
'status_differences_vs_reference': int((paired.status_ref != paired.status_diagnostic).sum()),
|
||||||
|
'actual_output_differences_vs_reference': int((paired.actual_output_spike_ref != paired.actual_output_spike_diagnostic).sum())})
|
||||||
|
late = ev[ev.step >= round(cfg['late_start_ms']/rt.dt)]
|
||||||
|
period_count = np.bincount(late.neuron_idx, minlength=sim.n)
|
||||||
|
for code in np.unique(codes):
|
||||||
|
nodes = np.flatnonzero(codes == code)
|
||||||
|
populations.append({'trial': name, 'population': str(code), 'neurons': len(nodes), 'active': int((result['counts'][nodes] > 0).sum()),
|
||||||
|
'spikes': int(result['counts'][nodes].sum()), 'late_spikes': int(period_count[nodes].sum())})
|
||||||
|
for node in watch:
|
||||||
|
watched.append({'trial': name, 'neuron_idx': int(node), 'body_id': int(sim.meta.iloc[node].body_id),
|
||||||
|
'type': str(sim.meta.iloc[node].annotation_type), 'population': str(codes[node]),
|
||||||
|
'spikes': int(result['counts'][node]), 'late_spikes': int(period_count[node]),
|
||||||
|
'late_rate_hz': float(period_count[node]/((1000-cfg['late_start_ms'])/1000))})
|
||||||
|
trials.append({'trial': name, 'odor_index': oi, 'odor_name': str(odor.odor_name), 'seed': cfg['seed'], 'condition': condition,
|
||||||
|
'whole_spikes': len(ev), 'KC_active': int(np.count_nonzero(result['counts'][sim.kc])),
|
||||||
|
'KC_active_fraction': float(np.count_nonzero(result['counts'][sim.kc])/len(sim.kc)),
|
||||||
|
'KC_spikes': int(result['counts'][sim.kc].sum()), 'KC_late_spikes': int(period_count[sim.kc].sum()),
|
||||||
|
'KC82312_late_spikes': int(period_count[cfg['target_KC']]), 'VA6_late_spikes': int(period_count[cfg['watched_VA6']]),
|
||||||
|
'finite': True, 'wall_seconds': result['wall_seconds'], 'biological_ms': 1000})
|
||||||
|
ev.to_parquet(exp/'events'/f'{name}.parquet', index=False)
|
||||||
|
req.to_parquet(exp/'requests'/f'{name}.parquet', index=False)
|
||||||
|
pd.DataFrame(result['samples']).to_parquet(exp/'observations'/f'{name}.parquet', index=False)
|
||||||
|
np.savez_compressed(exp/'states'/f'{name}.npz', counts=result['counts'], final_v=result['final_v'], final_g=result['final_g'], trace=result['trace'])
|
||||||
|
np.savez_compressed(exp/'states'/f'{name}-watched.npz', state=states, watch=watch)
|
||||||
|
if oi == cfg['repeat_odor_index']:
|
||||||
|
queues(); again = phase4z.Observer(rt, watch, ff, targets); again.attach()
|
||||||
|
try: repeat = phase4v.observed(sim, targets, force, targetkc, vc)
|
||||||
|
finally: again.detach()
|
||||||
|
row['repeat_exact'] = {'events': ev.equals(again.events()), 'states': np.array_equal(states, again.states),
|
||||||
|
'requests': req.equals(pd.DataFrame(again.request_rows)),
|
||||||
|
**{key: bool(np.array_equal(result[key], repeat[key])) for key in ('counts', 'final_v', 'final_g', 'trace')}}
|
||||||
|
assert all(row['repeat_exact'].values()), row
|
||||||
|
regress.append(row); save(exp/'regression'/f'{name}.json', row)
|
||||||
|
print(json.dumps(trials[-1]), flush=True)
|
||||||
|
# Fixed-event replay is an independent direct-operator check, not the dynamic whole-brain result.
|
||||||
|
replay_check(cfg, exp, sim, masks, frozen, baseline0, watch, phase4z, save)
|
||||||
|
finally:
|
||||||
|
sim.install = original_install; original_install(None)
|
||||||
|
assert np.array_equal(rt.weights.cpu().numpy(), frozen)
|
||||||
|
assert arrhash(rt.raw_np) == anatomical_hash and arrhash(sim.base.cpu().numpy()) == base_hash
|
||||||
|
assert arrhash(sim.input_gpu.cpu().numpy(), sim.output_gpu.cpu().numpy()) == apl_input_hash
|
||||||
|
save(exp/'regression/restored.json', {'base': True, 'raw': True, 'APL_matrices': True, 'frozen_effective_weights': True})
|
||||||
|
for name, rows in [('trials', trials), ('request-comparison', request_summary), ('population-counts', populations), ('watched-counts', watched)]:
|
||||||
|
pd.DataFrame(rows).to_csv(exp/'audit'/f'{name}.csv', index=False)
|
||||||
|
save(exp/'protocol/forcing-hashes.json', hashes)
|
||||||
|
# Separate reference trials do not include the graded APL overlay, exactly as archived.
|
||||||
|
rt.weights.copy_(sim.base)
|
||||||
|
reference = []
|
||||||
|
for spec in pc['reference_trials']:
|
||||||
|
queues(); ref = root/'experiments/phase4p-deterministic-runtime/phase4c-v2/reference'/spec['name']
|
||||||
|
ev = pd.read_parquet(ref/'spike-events.parquet')
|
||||||
|
expected = {'step': ev.step.to_numpy(), 'neuron_idx': ev.neuron_idx.to_numpy(),
|
||||||
|
'counts': np.load(ref/'per-neuron-spike-counts.int32.npy'), 'v': np.load(ref/'final-voltage.float32.npy'), 'g': np.load(ref/'final-g.float32.npy')}
|
||||||
|
r = rt.run(np.flatnonzero(rt.pops[spec['population']]), spec['rate_hz'], spec['seed'], spec['duration_ms'])
|
||||||
|
eq = {key: bool(np.array_equal(r[key], value)) for key, value in expected.items()}
|
||||||
|
assert all(eq.values()), eq
|
||||||
|
reference.append({'trial': spec['name'], 'exact': eq, 'wall_seconds': r['metrics']['wall_seconds']})
|
||||||
|
original_install(None)
|
||||||
|
save(exp/'regression/five-frozen-trials.json', {'pass': True, 'trials': reference, 'original_v1_preserved': True, 'oracle': 'frozen deterministic-v2'})
|
||||||
|
save(exp/'performance/summary.json', {'wall_seconds_including_build': time.perf_counter()-start,
|
||||||
|
'peak_VRAM_bytes': int(torch.cuda.max_memory_allocated()), 'device': torch.cuda.get_device_name(),
|
||||||
|
'diagnostic_overhead_included': True, 'not_runtime_benchmark': True, 'ComfyUI_models_unloaded': False})
|
||||||
|
save(exp/'audit/run-complete.json', {'trials': len(trials), 'exact_repeat_trials': 4, 'old_trial_reproductions': 6,
|
||||||
|
'frozen_reference_trials': 5, 'all_finite': True, 'candidate': False, 'training': False})
|
||||||
|
|
||||||
|
|
||||||
|
def replay_check(cfg, exp, sim, masks, frozen, baseline, watch, phase4z, save):
|
||||||
|
ev, state, req, result = baseline; rt = sim.rt; T = len(state)
|
||||||
|
ids = np.flatnonzero(np.isin(rt.indices_np, watch))
|
||||||
|
edges = pd.DataFrame({'edge_id': ids, 'source_neuron_idx': sim.sources[ids], 'target_neuron_idx': rt.indices_np[ids], 'weight': frozen[ids]})
|
||||||
|
arrivals = ev.merge(edges, left_on='neuron_idx', right_on='source_neuron_idx')
|
||||||
|
arrivals['arrival_step'] = arrivals.step + rt.delay_steps
|
||||||
|
arrivals = arrivals[arrivals.arrival_step < T].sort_values(['target_neuron_idx', 'arrival_step', 'edge_id'], kind='stable')
|
||||||
|
rows = []
|
||||||
|
for wi, node in enumerate(watch):
|
||||||
|
subset = arrivals[arrivals.target_neuron_idx == node].copy()
|
||||||
|
after = np.r_[state[1:, 1, wi], result['final_g'][node]]
|
||||||
|
overlay = after.astype(float)-state[:, 5, wi].astype(float)
|
||||||
|
request = np.zeros(T, bool); rq = req[req.neuron_idx == node]; request[rq.step.to_numpy(np.int32)] = True
|
||||||
|
base_arrival = state[:, 3, wi]
|
||||||
|
for name in cfg['conditions']:
|
||||||
|
weights = subset.weight.to_numpy(np.float32).copy()
|
||||||
|
if name != 'frozen_reference':
|
||||||
|
frame = masks[name]; eids = frame.edge_id.to_numpy(np.int64)
|
||||||
|
values = blocked_weights(frozen[eids], rt.raw_np[eids], frame.blocked_contact_count.to_numpy(np.int64))
|
||||||
|
lookup = pd.Series(values, index=eids)
|
||||||
|
mapped = subset.edge_id.map(lookup); keep = mapped.notna().to_numpy()
|
||||||
|
weights[keep] = mapped[keep].to_numpy(np.float32)
|
||||||
|
subset['diagnostic_weight'] = weights
|
||||||
|
a = np.zeros(T, np.float32)
|
||||||
|
for step, group in subset.groupby('arrival_step', sort=False):
|
||||||
|
a[int(step)] = np.cumsum(group.diagnostic_weight.to_numpy(np.float32), dtype=np.float32)[-1]
|
||||||
|
rr = phase4z.replay(a, overlay, request, rt)
|
||||||
|
if name == 'frozen_reference':
|
||||||
|
exact = np.array_equal(a, base_arrival) and np.array_equal(rr[0], ev.loc[ev.neuron_idx == node, 'step']) and np.array_equal(rr[1], state[:, 4:7, wi])
|
||||||
|
assert exact and rr[2] == result['final_v'][node] and rr[3] == result['final_g'][node]
|
||||||
|
unchanged = np.array_equal(a, base_arrival)
|
||||||
|
if name == 'calyx_PN_KC_contact_block' and node not in sim.kc: assert unchanged
|
||||||
|
rows.append({'condition': name, 'neuron_idx': int(node), 'arrival_unchanged': bool(unchanged),
|
||||||
|
'arrival_L1_difference': float(np.abs(a.astype(float)-base_arrival).sum()),
|
||||||
|
'conditional_late_spikes': int((rr[0] >= round(cfg['late_start_ms']/rt.dt)).sum()),
|
||||||
|
'all_other_recorded_events_and_APL_fixed': True, 'whole_brain_causality_claim': False})
|
||||||
|
pd.DataFrame(rows).to_csv(exp/'replay/fixed-event-scope.csv', index=False)
|
||||||
|
save(exp/'regression/fixed-event-replay.json', {'baseline_exact_neurons': len(watch), 'terminal_nonKC_arrivals_exact': True})
|
||||||
|
|
||||||
|
|
||||||
|
def finalize():
|
||||||
|
cfg, root, model, exp, save, digest, immutable_check, seal = load_context()
|
||||||
|
assert (exp/'audit/run-complete.json').exists()
|
||||||
|
pre = json.loads((exp/'protocol/preregistered.json').read_text())
|
||||||
|
assert all(digest(model/n) == h for n, h in pre['source_hashes'].items())
|
||||||
|
post = integrity(cfg, root, digest, immutable_check)
|
||||||
|
assert post == json.loads((exp/'regression/preflight.json').read_text())
|
||||||
|
save(exp/'regression/final-integrity.json', post)
|
||||||
|
q = queues(); save(exp/'audit/final-service-health.json', {'ComfyUI_queues': q, 'services_stopped': False})
|
||||||
|
trials = pd.read_csv(exp/'audit/trials.csv'); scope = json.loads((exp/'audit/scope-summary.json').read_text())
|
||||||
|
requests = pd.read_csv(exp/'audit/request-comparison.csv')
|
||||||
|
lines = ['# Phase 4AB — calyx contact-scope diagnostic', '',
|
||||||
|
'Status: COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE.',
|
||||||
|
'Diagnostic interventions only; no calibrated biological inhibition, no training, no parameter winner.', '',
|
||||||
|
f"Eligible PNs: {scope['eligible_PNs']}/259. CA mask: {scope['calyx_mask_edges']} edges / {scope['calyx_blocked_contacts']} contacts.",
|
||||||
|
f"Affected KCs: {scope['calyx_affected_KCs']}. Mixed-ROI affected edges: {scope['mixed_CA_nonCA_edges']}; retained other contacts: {scope['calyx_other_contacts_retained_on_affected_edges']}.",
|
||||||
|
f"Broader PN→KC control: {scope['all_PN_KC_edges']} edges / {scope['all_PN_KC_contacts']} contacts. All-fast-PN-output control: {scope['whole_PN_edges']} edges / {scope['whole_PN_contacts']} contacts.", '',
|
||||||
|
'| Odor | Condition | Active KC | KC late spikes | KC82312 late | VA6 late |',
|
||||||
|
'|---|---|---:|---:|---:|---:|']
|
||||||
|
for r in trials.itertuples():
|
||||||
|
lines.append(f'| {r.odor_name} | {r.condition} | {r.KC_active} | {r.KC_late_spikes} | {r.KC82312_late_spikes} | {r.VA6_late_spikes} |')
|
||||||
|
lines += ['', 'Late means 500–1,000 ms; 120 ms old calibration odor input; one seed, six old odors. No held-out generalization claim.',
|
||||||
|
f"Identical scheduled requests across conditions. Delivered request-associated output differences versus reference: {int(requests.actual_output_differences_vs_reference.sum())} (summed over all comparisons). See per-trial table; this is state/refractory feedback, not a changed RNG.", '',
|
||||||
|
'## Interpretation limits', '',
|
||||||
|
'CA selection uses exact primary_post labels plus matched APL→PN/ROI metadata, not bouton identities or inferred receptors. Unknown ROIs are not reclassified.',
|
||||||
|
'Whole-PN control removes fast output, not somatic spikes or the frozen graded APL input. It is not a complete PN knockout.',
|
||||||
|
'Reduction/silencing is not restored information or associative memory. No condition becomes a formal model. Fixed-event replay freezes other recorded events/APL; dynamic trials allow natural recurrent feedback.',
|
||||||
|
'Local-inhibition motivation: [Prisco et al.](https://doi.org/10.7554/eLife.74172), [Amin et al.](https://doi.org/10.7554/eLife.56954). These sources do not establish the complete-block operator as physiological.', '',
|
||||||
|
'## Verification', '',
|
||||||
|
'Six original trials reproduced exactly (whole spike events, watched state and final counts/V/g). Four first-odor repeats exact. Five deterministic-v2 frozen reference trials exact. Finite state throughout.',
|
||||||
|
'Original 230,239 files and both Phase 4AA manifests rechecked before/after. Base CSR/count/sign, frozen LIF/APL, eligibility-v2 and 14,232 plastic mask preserved.',
|
||||||
|
'Timing includes diagnostic CPU/GPU observation overhead and is not a runtime speed benchmark. ComfyUI was not stopped or unloaded.',
|
||||||
|
'Top-level acceptance gates remain 5/10 (50%); anatomical diagnosis is not evidence of learning success.']
|
||||||
|
(exp/'REPORT.md').write_text('\n'.join(lines)+'\n', encoding='utf-8')
|
||||||
|
save(exp/'audit/final-summary.json', {'status': 'COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE',
|
||||||
|
'integrity_pass': True, 'reference_pass': True, 'scope': scope, 'candidate': False, 'training': False,
|
||||||
|
'preserved_acceptance_gates': '5/10', 'frozen_baseline_modified': False})
|
||||||
|
for folder in (model, exp):
|
||||||
|
count = seal(folder); assert manifest_check(folder, digest)['pass']; print('SEALED', folder, count, flush=True)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = argparse.ArgumentParser(); parser.add_argument('task', choices=['prepare', 'run', 'finalize'])
|
||||||
|
globals()[parser.parse_args().task]()
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
"""Record executable/package/hardware versions without installing anything."""
|
||||||
|
import importlib.metadata
|
||||||
|
import platform
|
||||||
|
from pathlib import Path
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
|
MODEL = Path('/data/digital-drosophila/models/male-cns-lif/terminal-scope-diagnostic-v1')
|
||||||
|
EXP = Path('/data/digital-drosophila/experiments/phase4ab-terminal-scope')
|
||||||
|
sys.path.insert(0, str(MODEL))
|
||||||
|
import diagnostic
|
||||||
|
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||||
|
packages = {}
|
||||||
|
for name in ('torch', 'numpy', 'pandas', 'pyarrow', 'scipy', 'PyYAML', 'ninja'):
|
||||||
|
try: packages[name] = importlib.metadata.version(name)
|
||||||
|
except importlib.metadata.PackageNotFoundError: packages[name] = None
|
||||||
|
gpu = subprocess.check_output(['nvidia-smi', '--query-gpu=index,name,uuid,driver_version,memory.total', '--format=csv,noheader'], text=True)
|
||||||
|
nvcc = subprocess.check_output(['/usr/local/cuda/bin/nvcc', '--version'], text=True)
|
||||||
|
save(EXP/'protocol/environment.json', {'python': sys.version, 'executable': sys.executable,
|
||||||
|
'platform': platform.platform(), 'packages': packages, 'GPU_inventory': gpu, 'nvcc': nvcc,
|
||||||
|
'installed_or_upgraded_packages': False, 'source_sha256': digest(Path(__file__))})
|
||||||
|
print(packages)
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
"""Explicit frozen module paths; repairs launch only, never scientific source."""
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
ROOT = Path('/data/digital-drosophila')
|
||||||
|
MODEL = ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1'
|
||||||
|
EXP = ROOT/'experiments/phase4ab-terminal-scope'
|
||||||
|
PARENT = ROOT/'models/male-cns-lif'
|
||||||
|
names = ['deterministic-runtime-v2', 'credit-v3', 'timing-audit-v1', 'timing-credit-v1',
|
||||||
|
'timing-stability-v1', 'odor-timing-generalization-v1', 'csus-audit-v1',
|
||||||
|
'late-kc-audit-v1', 'dpm-hypothesis-v1', 'pn-feedback-audit-v1', 'transmitter-audit-v1']
|
||||||
|
sys.path[:0] = [str(MODEL), str(PARENT)] + [str(PARENT/n) for n in names]
|
||||||
|
os.environ['PYTHONDONTWRITEBYTECODE'] = '1'
|
||||||
|
import diagnostic
|
||||||
|
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||||
|
save(EXP/'protocol/launch-addendum.json', {
|
||||||
|
'previous_attempt': 'ModuleNotFoundError: phase4v before run-start and before simulation',
|
||||||
|
'only_fix': 'Add explicit existing frozen dependency directories to module lookup',
|
||||||
|
'model_source_edited': False, 'protocol_parameters_changed': False,
|
||||||
|
'launcher_sha256': digest(Path(__file__)), 'module_paths': [str(PARENT/n) for n in names]})
|
||||||
|
try:
|
||||||
|
diagnostic.run()
|
||||||
|
finally:
|
||||||
|
loaded = {}
|
||||||
|
for name, mod in list(sys.modules.items()):
|
||||||
|
filename = getattr(mod, '__file__', None)
|
||||||
|
if filename:
|
||||||
|
p = Path(filename)
|
||||||
|
if p.is_file() and p.is_relative_to(PARENT) and '.venv' not in p.parts:
|
||||||
|
loaded[name] = {'path': str(p.relative_to(ROOT)), 'sha256': digest(p)}
|
||||||
|
save(EXP/'protocol/imported-code-hashes.json', loaded)
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"created_utc": "2026-09-29T16:26:06.650270+00:00",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"bytes": 4956,
|
||||||
|
"path": "PROTOCOL.md",
|
||||||
|
"sha256": "451b53b128eb0ad67acb81f060f3676794a68c98637dd2c0eddd137da509fccf"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 2083,
|
||||||
|
"path": "README.md",
|
||||||
|
"sha256": "2842b5dd94ed30fc01d1a8b8d95e235de78695d3d1c1076402499276fb903261"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 6922,
|
||||||
|
"path": "analyze.py",
|
||||||
|
"sha256": "33ba5f323e9ed3343f43a8d64fb7e862c8a4f1118b9b441f4745e26cc14303a8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 835,
|
||||||
|
"path": "config.yaml",
|
||||||
|
"sha256": "e22088d9847504a50c0e684d2cee9420f484ab1ebef9d6057921062d8f785e73"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 28229,
|
||||||
|
"path": "diagnostic.py",
|
||||||
|
"sha256": "c8ec2ae6e72d35fedbd42acc6e6b5e7af2634d5b9805dc20e777b172c55d5aa4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1193,
|
||||||
|
"path": "environment.py",
|
||||||
|
"sha256": "be92ce24e63910f67da0238b19e3abb882e1afd317561fccf01734f1b4a56f25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1608,
|
||||||
|
"path": "launch.py",
|
||||||
|
"sha256": "0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1644,
|
||||||
|
"path": "publish.py",
|
||||||
|
"sha256": "bc194bb857336908b1c3fe71cc0e7b7fe4152794745bd3443533d47da886f5ec"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 2797,
|
||||||
|
"path": "scope.py",
|
||||||
|
"sha256": "8f5774496dcceaee1c2793a5308754cbd0864c4a38d507481071d988f9de424d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 2615,
|
||||||
|
"path": "test_scope.py",
|
||||||
|
"sha256": "38a1c6e653ae97e77e5feda3ee8f2f8a3c366755bfbbd57ca1373b9b8f971bbb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 2032,
|
||||||
|
"path": "validate.py",
|
||||||
|
"sha256": "971136a667367a84cfc50ebc3fa73a749eddb8b8e1ca6931708ba67bfc12f0c1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
"""Copy only new small sealed evidence into Git; never copy bulk datasets."""
|
||||||
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
|
||||||
|
ROOT = Path('/data/digital-drosophila'); MODEL = ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1'
|
||||||
|
EXP = ROOT/'experiments/phase4ab-terminal-scope'
|
||||||
|
sys.path.insert(0, str(MODEL))
|
||||||
|
import diagnostic
|
||||||
|
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||||
|
for folder in (MODEL, EXP):
|
||||||
|
assert diagnostic.manifest_check(folder, digest)['pass']
|
||||||
|
registry = ROOT/'registry/phase4ab-terminal-scope'; registry.mkdir(exist_ok=False)
|
||||||
|
records = []
|
||||||
|
for p in sorted(EXP.rglob('*')):
|
||||||
|
if not p.is_file() or p.suffix not in ('.json', '.csv', '.md', '.sha256') or p.stat().st_size > 4*1024**2:
|
||||||
|
continue
|
||||||
|
dst = registry/'evidence'/p.relative_to(EXP); dst.parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
with p.open('rb') as src, dst.open('xb') as out: shutil.copyfileobj(src, out)
|
||||||
|
assert digest(p) == digest(dst)
|
||||||
|
records.append({'source': str(p.relative_to(ROOT)), 'copy': str(dst.relative_to(registry)),
|
||||||
|
'sha256': digest(p), 'bytes': p.stat().st_size})
|
||||||
|
save(registry/'evidence-index.json', records)
|
||||||
|
save(registry/'seal-verification.json', {str(p.relative_to(ROOT)): diagnostic.manifest_check(p, digest) for p in (MODEL, EXP)})
|
||||||
|
for source, dest in [('INTERPRETATION.zh.md', 'phase4ab-terminal-scope.md'), ('REPORT.md', 'phase4ab-technical-results.md')]:
|
||||||
|
target = ROOT/'docs/progress'/dest
|
||||||
|
with (EXP/source).open('rb') as src, target.open('xb') as out: shutil.copyfileobj(src, out)
|
||||||
|
print('Published', len(records), 'small evidence copies; no data copied to Git')
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
"""Pure CPU contact accounting and immutable diagnostic weight operations."""
|
||||||
|
import numpy as np
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
|
||||||
|
def contact_scope(apl_pn, pn_kc, rois):
|
||||||
|
"""Only exact, observed PN+postsynaptic-ROI pairs; no side/name inference."""
|
||||||
|
required = {'source_neuron_idx', 'target_neuron_idx', 'primary_post'}
|
||||||
|
if not required.issubset(apl_pn) or not required.issubset(pn_kc):
|
||||||
|
raise ValueError('Actual schema lacks required identifiers/primary_post')
|
||||||
|
permitted = apl_pn.loc[apl_pn.primary_post.isin(rois),
|
||||||
|
['target_neuron_idx', 'primary_post']].drop_duplicates()
|
||||||
|
permitted = permitted.rename(columns={'target_neuron_idx': 'source_neuron_idx'})
|
||||||
|
keys = pd.MultiIndex.from_frame(permitted.astype({'primary_post': 'string'}))
|
||||||
|
observed = pd.MultiIndex.from_frame(pn_kc[['source_neuron_idx', 'primary_post']]
|
||||||
|
.astype({'primary_post': 'string'}))
|
||||||
|
keep = observed.isin(keys)
|
||||||
|
pairs = ['source_neuron_idx', 'target_neuron_idx']
|
||||||
|
total = pn_kc.groupby(pairs, observed=True).size().rename('raw_partner_count')
|
||||||
|
ca = pn_kc.loc[keep].groupby(pairs, observed=True).size().rename('blocked_contact_count')
|
||||||
|
frame = total.to_frame().join(ca).fillna(0).reset_index()
|
||||||
|
for key in pairs + ['raw_partner_count', 'blocked_contact_count']:
|
||||||
|
frame[key] = frame[key].astype(np.int64)
|
||||||
|
frame['retained_contact_count'] = frame.raw_partner_count - frame.blocked_contact_count
|
||||||
|
assert (frame.retained_contact_count >= 0).all()
|
||||||
|
return frame, permitted, keep
|
||||||
|
|
||||||
|
|
||||||
|
def edge_ids_for_pairs(frame, ptr, dst):
|
||||||
|
out = []
|
||||||
|
for s, t in frame[['source_neuron_idx', 'target_neuron_idx']].itertuples(index=False, name=None):
|
||||||
|
ids = np.arange(ptr[s], ptr[s + 1], dtype=np.int64)
|
||||||
|
found = ids[dst[ids] == t]
|
||||||
|
if len(found) != 1:
|
||||||
|
raise ValueError(f'Expected exactly one existing CSR edge for {s}->{t}')
|
||||||
|
out.append(found[0])
|
||||||
|
return np.asarray(out, np.int64)
|
||||||
|
|
||||||
|
|
||||||
|
def blocked_weights(base, raw, contacts):
|
||||||
|
base = np.asarray(base)
|
||||||
|
raw = np.asarray(raw)
|
||||||
|
contacts = np.asarray(contacts)
|
||||||
|
if base.dtype != np.float32 or raw.dtype != np.int64 or contacts.dtype != np.int64:
|
||||||
|
raise TypeError('Expected float32 effective weight and int64 anatomical counts')
|
||||||
|
if base.shape != raw.shape or raw.shape != contacts.shape:
|
||||||
|
raise ValueError('Shape mismatch')
|
||||||
|
if not np.isfinite(base).all() or np.any(raw <= 0) or np.any(contacts < 0) or np.any(contacts > raw):
|
||||||
|
raise ValueError('Invalid contact partition or weights')
|
||||||
|
out = base.copy()
|
||||||
|
m = contacts > 0 # No-op copies original bits; no rounding at strength zero.
|
||||||
|
out[m] = (base[m].astype(np.float64) * (raw[m] - contacts[m]) / raw[m]).astype(np.float32)
|
||||||
|
return out
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
import unittest
|
||||||
|
import numpy as np
|
||||||
|
import pandas as pd
|
||||||
|
from scope import contact_scope, edge_ids_for_pairs, blocked_weights
|
||||||
|
|
||||||
|
|
||||||
|
class ScopeTests(unittest.TestCase):
|
||||||
|
def test_roi_and_side_not_guessed(self):
|
||||||
|
apl = pd.DataFrame({'source_neuron_idx': [0, 0, 1], 'target_neuron_idx': [3, 3, 4],
|
||||||
|
'primary_post': ['CA(R)', 'CentralBrain-unspecified', 'CA(L)']})
|
||||||
|
pn = pd.DataFrame({'source_neuron_idx': [3, 3, 3, 4, 4], 'target_neuron_idx': [5]*5,
|
||||||
|
'primary_post': ['CA(R)', 'CA(L)', None, 'CA(R)', 'CA(L)']})
|
||||||
|
pairs, allowed, keep = contact_scope(apl, pn, ['CA(L)', 'CA(R)'])
|
||||||
|
self.assertEqual(keep.tolist(), [True, False, False, False, True])
|
||||||
|
self.assertEqual(pairs.blocked_contact_count.tolist(), [1, 1])
|
||||||
|
self.assertEqual(pairs.retained_contact_count.tolist(), [2, 1])
|
||||||
|
self.assertEqual(len(allowed), 2)
|
||||||
|
|
||||||
|
def test_zero_identity_and_nonmutation(self):
|
||||||
|
w = np.array([.275, -3.14159, 0, -0.0], np.float32)
|
||||||
|
raw = np.array([1, 43, 10, 1], np.int64)
|
||||||
|
old = w.tobytes(), raw.tobytes()
|
||||||
|
result = blocked_weights(w, raw, np.zeros(4, np.int64))
|
||||||
|
self.assertEqual(w.tobytes(), result.tobytes())
|
||||||
|
self.assertEqual((w.tobytes(), raw.tobytes()), old)
|
||||||
|
|
||||||
|
def test_partial_and_full(self):
|
||||||
|
w = np.array([2., -4., 0., 1.], np.float32)
|
||||||
|
raw = np.array([4, 4, 3, 7], np.int64)
|
||||||
|
result = blocked_weights(w, raw, np.array([1, 4, 2, 0], np.int64))
|
||||||
|
np.testing.assert_array_equal(result, np.array([1.5, -0., 0., 1.], np.float32))
|
||||||
|
np.testing.assert_array_equal(w, np.array([2., -4., 0., 1.], np.float32))
|
||||||
|
|
||||||
|
def test_invalid_partition_rejected(self):
|
||||||
|
for bad in [-1, 3]:
|
||||||
|
with self.assertRaises(ValueError):
|
||||||
|
blocked_weights(np.array([1.], np.float32), np.array([2], np.int64), np.array([bad], np.int64))
|
||||||
|
|
||||||
|
def test_existing_edge_only(self):
|
||||||
|
p = pd.DataFrame({'source_neuron_idx': [0, 1], 'target_neuron_idx': [2, 0]})
|
||||||
|
ptr = np.array([0, 2, 3, 3], np.int64); dst = np.array([1, 2, 0], np.int32)
|
||||||
|
np.testing.assert_array_equal(edge_ids_for_pairs(p, ptr, dst), [1, 2])
|
||||||
|
p.loc[1, 'target_neuron_idx'] = 2
|
||||||
|
with self.assertRaises(ValueError): edge_ids_for_pairs(p, ptr, dst)
|
||||||
|
|
||||||
|
def test_duplicates_rejected(self):
|
||||||
|
p = pd.DataFrame({'source_neuron_idx': [0], 'target_neuron_idx': [1]})
|
||||||
|
with self.assertRaises(ValueError):
|
||||||
|
edge_ids_for_pairs(p, np.array([0, 2, 2], np.int64), np.array([1, 1], np.int32))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__': unittest.main()
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
"""Additional adversarial operator tests and durable unit-test record."""
|
||||||
|
import io
|
||||||
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
MODEL = Path('/data/digital-drosophila/models/male-cns-lif/terminal-scope-diagnostic-v1')
|
||||||
|
EXP = Path('/data/digital-drosophila/experiments/phase4ab-terminal-scope')
|
||||||
|
sys.path.insert(0, str(MODEL))
|
||||||
|
from scope import blocked_weights
|
||||||
|
import diagnostic
|
||||||
|
|
||||||
|
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||||
|
stream = io.StringIO()
|
||||||
|
suite = unittest.defaultTestLoader.discover(str(MODEL), pattern='test_scope.py')
|
||||||
|
result = unittest.TextTestRunner(stream=stream, verbosity=2).run(suite)
|
||||||
|
assert result.wasSuccessful(), stream.getvalue()
|
||||||
|
rng = np.random.default_rng(41337)
|
||||||
|
raw = rng.integers(1, 100000, size=10000, dtype=np.int64)
|
||||||
|
contacts = np.asarray([rng.integers(0, n+1) for n in raw], dtype=np.int64)
|
||||||
|
base = (raw.astype(np.float32)*np.float32(.275)*rng.choice([-1, 0, 1], size=len(raw))).astype(np.float32)
|
||||||
|
raw_bytes, base_bytes = raw.tobytes(), base.tobytes()
|
||||||
|
out = blocked_weights(base, raw, contacts)
|
||||||
|
assert np.isfinite(out).all() and np.all(np.abs(out) <= np.abs(base))
|
||||||
|
assert np.all(out[contacts == raw] == 0)
|
||||||
|
assert out[contacts == 0].tobytes() == base[contacts == 0].tobytes()
|
||||||
|
assert np.all(np.sign(out[out != 0]) == np.sign(base[out != 0]))
|
||||||
|
assert raw_bytes == raw.tobytes() and base_bytes == base.tobytes()
|
||||||
|
for bad in [np.array([np.inf], np.float32), np.array([np.nan], np.float32)]:
|
||||||
|
try: blocked_weights(bad, np.array([2], np.int64), np.array([1], np.int64))
|
||||||
|
except ValueError: pass
|
||||||
|
else: raise AssertionError('nonfinite accepted')
|
||||||
|
save(EXP/'regression/unit-tests.json', {'pass': True, 'unit_tests': result.testsRun, 'fuzz_cases': len(raw),
|
||||||
|
'fuzz_seed': 41337, 'finite': True, 'never_sign_flip_or_amplify': True, 'input_nonmutation': True,
|
||||||
|
'zero_identity_bitwise': True, 'unittest_log': stream.getvalue(), 'source_sha256': digest(Path(__file__))})
|
||||||
|
print('PASS', result.testsRun, 'unit tests +', len(raw), 'randomized operator cases')
|
||||||
@@ -0,0 +1,356 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"bytes": 2388,
|
||||||
|
"copy": "evidence/INTERPRETATION.zh.md",
|
||||||
|
"sha256": "50d11647abe23cd7f259d6835e20fa46bfe0cdfe248d75ae69c6b21051b3680d",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/INTERPRETATION.zh.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 3990,
|
||||||
|
"copy": "evidence/REPORT.md",
|
||||||
|
"sha256": "8d0c3ffbc718ada68cd4590a21726dd9c221269384e6aded32ca4731b21a983f",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/REPORT.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 232,
|
||||||
|
"copy": "evidence/audit/ROI-partition.csv",
|
||||||
|
"sha256": "2bd15ebf2718fdf06bfc968617b5a5fc72ebfd2a965559942876e40d168a229e",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/ROI-partition.csv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 754,
|
||||||
|
"copy": "evidence/audit/condition-ranges.csv",
|
||||||
|
"sha256": "c7c27fcbcb3f5c341b3fbdc6783e46405b0ceb520d34da1cb654633d57c0dd2f",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/condition-ranges.csv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 274,
|
||||||
|
"copy": "evidence/audit/final-service-health.json",
|
||||||
|
"sha256": "0397c6d86eb5fd7282cbb3b06927b7627760aeedbaf176cf870257f93cd161f1",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/final-service-health.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 912,
|
||||||
|
"copy": "evidence/audit/final-summary.json",
|
||||||
|
"sha256": "954e12d578df65f3e0891ad5c260b2d6a01a16de5d8f4168bcfbccda1ce6700f",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/final-summary.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 587,
|
||||||
|
"copy": "evidence/audit/mechanism-interpretation.json",
|
||||||
|
"sha256": "aa39952c5e3f5842c3fcc6ee6462ff15abef78729ccda1e3d3854b7b939173ca",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/mechanism-interpretation.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 384,
|
||||||
|
"copy": "evidence/audit/narrow-vs-allKC.csv",
|
||||||
|
"sha256": "00ec322b8e9c4900deaadda4eac8d604c61c88685fe3409f0dc8169c6057c055",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/narrow-vs-allKC.csv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 13321,
|
||||||
|
"copy": "evidence/audit/population-counts.csv",
|
||||||
|
"sha256": "7347919244fd27c2ecf7191d24302cb203769976604c4bd1c650a450c9f34604",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/population-counts.csv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 372,
|
||||||
|
"copy": "evidence/audit/remaining-late-KCs.csv",
|
||||||
|
"sha256": "1f6e83038ce0ebb1ac97b5c53a07fefdd0aa183d0490e6259a47070961a4fcb1",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/remaining-late-KCs.csv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1361,
|
||||||
|
"copy": "evidence/audit/request-comparison.csv",
|
||||||
|
"sha256": "b9ead245b439d22ecac202db3c15e9dae9882aac8af318895039c9f676c97f63",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/request-comparison.csv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 176,
|
||||||
|
"copy": "evidence/audit/run-complete.json",
|
||||||
|
"sha256": "a0038972a067a029a607920bfb441519950511cad54853d5fa33067e61273b8b",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/run-complete.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 616,
|
||||||
|
"copy": "evidence/audit/scope-summary.json",
|
||||||
|
"sha256": "67a8ce7fe5677fd7ab6e516f68254b4eb941a2f9f702de34027f69e91ce626de",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/scope-summary.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 3810,
|
||||||
|
"copy": "evidence/audit/trials.csv",
|
||||||
|
"sha256": "f9e0fd08cc5a2fe650749b06b3ca631b1c8258f3f1e40690458dbc5668920deb",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/trials.csv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 17593,
|
||||||
|
"copy": "evidence/audit/watched-counts.csv",
|
||||||
|
"sha256": "4256b8a89e2d5f55ca7b0ef2a45110dd0593994e3416a1de14144908f2a941af",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/audit/watched-counts.csv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 21478,
|
||||||
|
"copy": "evidence/checksums.sha256",
|
||||||
|
"sha256": "d83926a3055d9f9ca471ceba328076d7ceba883f267468750914080733e95e31",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/checksums.sha256"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 443,
|
||||||
|
"copy": "evidence/gpu-reference/extension.json",
|
||||||
|
"sha256": "eb664fc02ec10508dfca36b107ab8f083d682113d172f4183aed7b766d96dd45",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/gpu-reference/extension.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 35253,
|
||||||
|
"copy": "evidence/manifest.json",
|
||||||
|
"sha256": "cb3723f9dae29d4889489ae39f40293c927f4f9e532551e2c4d5214bf0a70140",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/manifest.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 237,
|
||||||
|
"copy": "evidence/performance/summary.json",
|
||||||
|
"sha256": "93a5b9bc4de3bf479916ae4b701fa7e23b570c442559e95a7aeabb7b33cd5410",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/performance/summary.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 2163,
|
||||||
|
"copy": "evidence/protocol/calibration-panel.json",
|
||||||
|
"sha256": "2b3ca78bf0946c757b7784719a6a7a06598941867df2a243a272a61337d2c889",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/protocol/calibration-panel.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1049,
|
||||||
|
"copy": "evidence/protocol/environment.json",
|
||||||
|
"sha256": "da2d2e47d2bc3ab214203723cac30a1386b09008e07118f460039e496b0b88f4",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/protocol/environment.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1341,
|
||||||
|
"copy": "evidence/protocol/forcing-hashes.json",
|
||||||
|
"sha256": "073a6ab1b615e9abdb06e5a6775366c3978ce7794714949de1a5f714edf98ec7",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/protocol/forcing-hashes.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 4965,
|
||||||
|
"copy": "evidence/protocol/imported-code-hashes.json",
|
||||||
|
"sha256": "4795fae3b3a320deff14f32e4722e94ade17e464b1fbf19315a1cb1769eb1927",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/protocol/imported-code-hashes.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1429,
|
||||||
|
"copy": "evidence/protocol/input-hashes.json",
|
||||||
|
"sha256": "24cba080c7b72da8f40e406f1403646ff11c3cc34d9870991874575a486e3e27",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/protocol/input-hashes.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1148,
|
||||||
|
"copy": "evidence/protocol/launch-addendum.json",
|
||||||
|
"sha256": "1eaf84efbcd9a7f5852b8d0feb4fd57b5f01f7211080923bb3fa63dadeaa1b7f",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/protocol/launch-addendum.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 310,
|
||||||
|
"copy": "evidence/protocol/mask-hashes.json",
|
||||||
|
"sha256": "6cee0248b8fb13a99f997c75a06542f26a1e9f5df8c8771ea997a5dc2de9d6b3",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/protocol/mask-hashes.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1742,
|
||||||
|
"copy": "evidence/protocol/preregistered.json",
|
||||||
|
"sha256": "da8da4efa93ba69867ef732cb9d328576c5fd5b82f483803bd330f597b32e61b",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/protocol/preregistered.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 248,
|
||||||
|
"copy": "evidence/regression/0-131101-all_PN_KC_block.json",
|
||||||
|
"sha256": "0980b7d3689cf626401d13728960c77a5f32d63fe61c5fb21869b36003ca890d",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/0-131101-all_PN_KC_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 258,
|
||||||
|
"copy": "evidence/regression/0-131101-calyx_PN_KC_contact_block.json",
|
||||||
|
"sha256": "fc2d7c3fd66b1816dd569721b1ffe16fb3d04195e0f39e54311235f996263e18",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/0-131101-calyx_PN_KC_contact_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 401,
|
||||||
|
"copy": "evidence/regression/0-131101-frozen_reference.json",
|
||||||
|
"sha256": "f0bdabde30646bbfddef9a6bc346a14e9a268ea096bf1495ade09ccb7257441b",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/0-131101-frozen_reference.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 254,
|
||||||
|
"copy": "evidence/regression/0-131101-whole_PN_output_block.json",
|
||||||
|
"sha256": "4703574c70cf854d05038a729e072ab48ec2db60746517dc0bd76a4c90984c2b",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/0-131101-whole_PN_output_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 81,
|
||||||
|
"copy": "evidence/regression/1-131101-all_PN_KC_block.json",
|
||||||
|
"sha256": "104536398ec87802f8ded2ab37cce3311c0af39f74533e712c8f827eb42d738b",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/1-131101-all_PN_KC_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 91,
|
||||||
|
"copy": "evidence/regression/1-131101-calyx_PN_KC_contact_block.json",
|
||||||
|
"sha256": "e7a98aa3f9eb31364a6c4f1f09df059162bc6633f527dd0eff44646a5a4e469d",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/1-131101-calyx_PN_KC_contact_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 234,
|
||||||
|
"copy": "evidence/regression/1-131101-frozen_reference.json",
|
||||||
|
"sha256": "f1ed3d7a9a6a290295ef477bff09566a9aee08a33c98f9c62519a5f4537c472b",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/1-131101-frozen_reference.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 87,
|
||||||
|
"copy": "evidence/regression/1-131101-whole_PN_output_block.json",
|
||||||
|
"sha256": "db90cddc95d283c78b6df8279c50b30a2ebcd02b173a31ddfd1f5da8ca6c85ca",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/1-131101-whole_PN_output_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 81,
|
||||||
|
"copy": "evidence/regression/2-131101-all_PN_KC_block.json",
|
||||||
|
"sha256": "1ef62eb572ada32b947e8fbbe649dee7842cba3c9cb044b03291383d7ddc7c00",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/2-131101-all_PN_KC_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 91,
|
||||||
|
"copy": "evidence/regression/2-131101-calyx_PN_KC_contact_block.json",
|
||||||
|
"sha256": "e3e54e240443b1abbb413b27886193fba595a28af8c7277550abc399b482ccd0",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/2-131101-calyx_PN_KC_contact_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 234,
|
||||||
|
"copy": "evidence/regression/2-131101-frozen_reference.json",
|
||||||
|
"sha256": "663a6881b31c76bd08350fc757929233173f4af39a89f5bf1b75423ca75ee997",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/2-131101-frozen_reference.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 87,
|
||||||
|
"copy": "evidence/regression/2-131101-whole_PN_output_block.json",
|
||||||
|
"sha256": "33153ce2d016e511ea2eaf2beed2af96a2b20de91524346b894f2c04379818f9",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/2-131101-whole_PN_output_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 81,
|
||||||
|
"copy": "evidence/regression/3-131101-all_PN_KC_block.json",
|
||||||
|
"sha256": "6d4cc009cbc2debf074dab3c0c6b5a134cd3677c22f96aad3f44ed9793f0c2ea",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/3-131101-all_PN_KC_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 91,
|
||||||
|
"copy": "evidence/regression/3-131101-calyx_PN_KC_contact_block.json",
|
||||||
|
"sha256": "91ff88c1fccfbb98164a1aad137adf0681eaa4ab458ee256060447a42736af42",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/3-131101-calyx_PN_KC_contact_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 234,
|
||||||
|
"copy": "evidence/regression/3-131101-frozen_reference.json",
|
||||||
|
"sha256": "3688243f5e477ea991d118909263c0a0ff3fc6be8c71924e49d14d1b0f687b30",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/3-131101-frozen_reference.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 87,
|
||||||
|
"copy": "evidence/regression/3-131101-whole_PN_output_block.json",
|
||||||
|
"sha256": "71ff0a2d2ff00dcaf0b73e71edcd914f997b6698f2edecc3ad1890d2b368de44",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/3-131101-whole_PN_output_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 81,
|
||||||
|
"copy": "evidence/regression/4-131101-all_PN_KC_block.json",
|
||||||
|
"sha256": "780f101c402d02f199efd7e4da12464f3d92af5dce3ec0ac07b7db298eb4b5d5",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/4-131101-all_PN_KC_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 91,
|
||||||
|
"copy": "evidence/regression/4-131101-calyx_PN_KC_contact_block.json",
|
||||||
|
"sha256": "eff14126327297664b469447643edf0a6715fb6f63694a32be8de5ff7121dfd7",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/4-131101-calyx_PN_KC_contact_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 234,
|
||||||
|
"copy": "evidence/regression/4-131101-frozen_reference.json",
|
||||||
|
"sha256": "8861144ebca5477c2d26b821123223ff9493e2f3469ed647c5e3cd9798b1973e",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/4-131101-frozen_reference.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 87,
|
||||||
|
"copy": "evidence/regression/4-131101-whole_PN_output_block.json",
|
||||||
|
"sha256": "78a82eb5862db7e8c98e50307112c62caa55377a42bc971e6416f74d69295cd4",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/4-131101-whole_PN_output_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 81,
|
||||||
|
"copy": "evidence/regression/5-131101-all_PN_KC_block.json",
|
||||||
|
"sha256": "dc5a9055739131fceac3824357c103116870b00244801e60bb441c522a37aa8b",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/5-131101-all_PN_KC_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 91,
|
||||||
|
"copy": "evidence/regression/5-131101-calyx_PN_KC_contact_block.json",
|
||||||
|
"sha256": "aa2ebf99bb706524a25d3bbc1047ee0604e37572dbe037854d8d2e9b55945166",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/5-131101-calyx_PN_KC_contact_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 234,
|
||||||
|
"copy": "evidence/regression/5-131101-frozen_reference.json",
|
||||||
|
"sha256": "a863e8bee672db98e9fbbf6fac8a00ebb6ddf003658dfc04a47aed25e56e1c61",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/5-131101-frozen_reference.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 87,
|
||||||
|
"copy": "evidence/regression/5-131101-whole_PN_output_block.json",
|
||||||
|
"sha256": "739eb5af0a8ce21470307d57e160c31fa1504c4a0725b85e9e015fd90d733a71",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/5-131101-whole_PN_output_block.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1025,
|
||||||
|
"copy": "evidence/regression/final-integrity.json",
|
||||||
|
"sha256": "22e3f76d2971117550a43438ec4c12e6f592dc6d8a55b6abae6f31c06056b408",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/final-integrity.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1229,
|
||||||
|
"copy": "evidence/regression/five-frozen-trials.json",
|
||||||
|
"sha256": "31912ae3b9dc77713c5d0ac6c3e5af94b360f8c8911e0078831a2f7e4f1cba33",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/five-frozen-trials.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 76,
|
||||||
|
"copy": "evidence/regression/fixed-event-replay.json",
|
||||||
|
"sha256": "2ec053136d7744a8f158a1028d3e35a9e11424c402fb588ec977920a2c310a67",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/fixed-event-replay.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1025,
|
||||||
|
"copy": "evidence/regression/preflight.json",
|
||||||
|
"sha256": "22e3f76d2971117550a43438ec4c12e6f592dc6d8a55b6abae6f31c06056b408",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/preflight.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 94,
|
||||||
|
"copy": "evidence/regression/restored.json",
|
||||||
|
"sha256": "d5e28ea53f1b2da7050ca66e4159a430fe330e9ff349ee95cd2e39c2402be99e",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/restored.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 396,
|
||||||
|
"copy": "evidence/regression/run-start.json",
|
||||||
|
"sha256": "4f6287aaf4324986a8c41bdbf06b784ab1d612558fa1204d1a587108788f63f4",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/run-start.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 773,
|
||||||
|
"copy": "evidence/regression/unit-tests.json",
|
||||||
|
"sha256": "7039bb7de7c47f6b2fd29ce7ab8bc86aebd0266579f5abc9518d1f4dc8a21644",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/regression/unit-tests.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 2511,
|
||||||
|
"copy": "evidence/replay/fixed-event-scope.csv",
|
||||||
|
"sha256": "ae083713cc4b4da9c54d1184889c953e0a8673dcd4c9ad466058d92a2418252e",
|
||||||
|
"source": "experiments/phase4ab-terminal-scope/replay/fixed-event-scope.csv"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# Phase 4AB 机制解读
|
||||||
|
|
||||||
|
正式状态:**COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE**。
|
||||||
|
|
||||||
|
这一轮区分了“PN→KC 传入位置”与“维持 PN 放电的上游反馈”。没有修复或批准新的 APL 生理模型,也没有训练。
|
||||||
|
|
||||||
|
| 诊断范围 | 活跃 KC(6 个旧气味) | 目标 KC 晚期 spikes | VA6 PN 晚期 spikes |
|
||||||
|
|---|---:|---:|---:|
|
||||||
|
| 原模型 | 139–172 | 60–61 | 212–214 |
|
||||||
|
| 仅明确 calyx 接触 | 1–2 | 0 | 212–214 |
|
||||||
|
| 同批 PN 的全部 KC 输出 | 1 | 0 | 212–214 |
|
||||||
|
| 同批 PN 的全部快速输出 | 0 | 0 | 0 |
|
||||||
|
|
||||||
|
晚期窗口是 500–1,000 ms。每个气味沿用 seed 131101;总计 24 组诊断、4 次精确重复,不是 5-seed 学习验证。
|
||||||
|
|
||||||
|
## 能说明什么
|
||||||
|
|
||||||
|
仅 calyx 接触阻断后,目标 KC82312 的晚期 spikes 范围为 0,VA6 仍为 212–214。
|
||||||
|
同时 KC 总活跃数降为 1–2,原模型为 139–172。不能把这种接近静默的结果包装成编码或记忆改善。
|
||||||
|
即使两个局部阻断条件的事件序列相同,其电压/g 仍可能不同;逐气味比较见 narrow-vs-allKC.csv。
|
||||||
|
宽范围 PN 快速输出阻断影响反馈路径,不等价于局部 calyx 调制;它也没有关闭 PN 胞体或 frozen graded APL 的 PN 输入。
|
||||||
|
|
||||||
|
## 仍不能说明什么
|
||||||
|
|
||||||
|
完全阻断只是工程极端对照,不是 APL 的实测释放抑制比例。没有估计 receptor、bouton、局部扩散范围或时间常数。
|
||||||
|
未使用 held-out 气味,未检验学习、保持、反转或动作输出。不得选取这次“让活动更少”的操作作为正式脑模型。
|
||||||
|
剩余 late KC 的 ID/type 已单独保存;其来源不能仅凭残余计数猜测。
|
||||||
|
|
||||||
|
## 下一步边界
|
||||||
|
|
||||||
|
先继续 upstream feedback / compartment-specific physiology 的证据约束,区分 calyx 信号传递与触角叶持续放电,再确定可检验的局部动力学假设。
|
||||||
|
不能靠增加整体抑制、调 eta/threshold、扩大 plastic mask 或让 KC 全静默宣称修复。当前不进入学习、游戏或视觉。
|
||||||
|
|
||||||
|
相关原始研究:[Prisco et al., 2021](https://doi.org/10.7554/eLife.74172)、[Amin et al., 2020](https://doi.org/10.7554/eLife.56954)。它们支持研究局部 APL 作用,不直接验证本实验完全阻断幅度。
|
||||||
|
|
||||||
|
顶层验收仍为 5/10(50%);本轮推进的是机制定位与可重复诊断能力。最终完整性状态见 regression/final-integrity.json。
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
# Phase 4AB — calyx contact-scope diagnostic
|
||||||
|
|
||||||
|
Status: COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE.
|
||||||
|
Diagnostic interventions only; no calibrated biological inhibition, no training, no parameter winner.
|
||||||
|
|
||||||
|
Eligible PNs: 229/259. CA mask: 20263 edges / 337099 contacts.
|
||||||
|
Affected KCs: 3760. Mixed-ROI affected edges: 3323; retained other contacts: 28975.
|
||||||
|
Broader PN→KC control: 21882 edges / 384555 contacts. All-fast-PN-output control: 116211 edges / 1268111 contacts.
|
||||||
|
|
||||||
|
| Odor | Condition | Active KC | KC late spikes | KC82312 late | VA6 late |
|
||||||
|
|---|---|---:|---:|---:|---:|
|
||||||
|
| ethyl (R)-(-)-3-hydroxybutanoate | frozen_reference | 160 | 114 | 60 | 213 |
|
||||||
|
| ethyl (R)-(-)-3-hydroxybutanoate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 214 |
|
||||||
|
| ethyl (R)-(-)-3-hydroxybutanoate | all_PN_KC_block | 1 | 39 | 0 | 214 |
|
||||||
|
| ethyl (R)-(-)-3-hydroxybutanoate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| 3-penten-2-one | frozen_reference | 172 | 118 | 60 | 213 |
|
||||||
|
| 3-penten-2-one | calyx_PN_KC_contact_block | 2 | 39 | 0 | 213 |
|
||||||
|
| 3-penten-2-one | all_PN_KC_block | 1 | 39 | 0 | 213 |
|
||||||
|
| 3-penten-2-one | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| (2R)-hexan-2-ol | frozen_reference | 144 | 117 | 61 | 213 |
|
||||||
|
| (2R)-hexan-2-ol | calyx_PN_KC_contact_block | 1 | 39 | 0 | 213 |
|
||||||
|
| (2R)-hexan-2-ol | all_PN_KC_block | 1 | 39 | 0 | 213 |
|
||||||
|
| (2R)-hexan-2-ol | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| gamma-propyl-gamma-butyrolactone | frozen_reference | 151 | 117 | 60 | 212 |
|
||||||
|
| gamma-propyl-gamma-butyrolactone | calyx_PN_KC_contact_block | 2 | 39 | 0 | 212 |
|
||||||
|
| gamma-propyl-gamma-butyrolactone | all_PN_KC_block | 1 | 40 | 0 | 212 |
|
||||||
|
| gamma-propyl-gamma-butyrolactone | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| 2-methyl butyl acetate | frozen_reference | 139 | 118 | 61 | 213 |
|
||||||
|
| 2-methyl butyl acetate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 212 |
|
||||||
|
| 2-methyl butyl acetate | all_PN_KC_block | 1 | 39 | 0 | 212 |
|
||||||
|
| 2-methyl butyl acetate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
| ethyl (S)-(+)-3-hydroxybutanoate | frozen_reference | 163 | 119 | 61 | 214 |
|
||||||
|
| ethyl (S)-(+)-3-hydroxybutanoate | calyx_PN_KC_contact_block | 1 | 39 | 0 | 214 |
|
||||||
|
| ethyl (S)-(+)-3-hydroxybutanoate | all_PN_KC_block | 1 | 39 | 0 | 214 |
|
||||||
|
| ethyl (S)-(+)-3-hydroxybutanoate | whole_PN_output_block | 0 | 0 | 0 | 0 |
|
||||||
|
|
||||||
|
Late means 500–1,000 ms; 120 ms old calibration odor input; one seed, six old odors. No held-out generalization claim.
|
||||||
|
Identical scheduled requests across conditions. Delivered request-associated output differences versus reference: 459 (summed over all comparisons). See per-trial table; this is state/refractory feedback, not a changed RNG.
|
||||||
|
|
||||||
|
## Interpretation limits
|
||||||
|
|
||||||
|
CA selection uses exact primary_post labels plus matched APL→PN/ROI metadata, not bouton identities or inferred receptors. Unknown ROIs are not reclassified.
|
||||||
|
Whole-PN control removes fast output, not somatic spikes or the frozen graded APL input. It is not a complete PN knockout.
|
||||||
|
Reduction/silencing is not restored information or associative memory. No condition becomes a formal model. Fixed-event replay freezes other recorded events/APL; dynamic trials allow natural recurrent feedback.
|
||||||
|
Local-inhibition motivation: [Prisco et al.](https://doi.org/10.7554/eLife.74172), [Amin et al.](https://doi.org/10.7554/eLife.56954). These sources do not establish the complete-block operator as physiological.
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
|
||||||
|
Six original trials reproduced exactly (whole spike events, watched state and final counts/V/g). Four first-odor repeats exact. Five deterministic-v2 frozen reference trials exact. Finite state throughout.
|
||||||
|
Original 230,239 files and both Phase 4AA manifests rechecked before/after. Base CSR/count/sign, frozen LIF/APL, eligibility-v2 and 14,232 plastic mask preserved.
|
||||||
|
Timing includes diagnostic CPU/GPU observation overhead and is not a runtime speed benchmark. ComfyUI was not stopped or unloaded.
|
||||||
|
Top-level acceptance gates remain 5/10 (50%); anatomical diagnosis is not evidence of learning success.
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
primary_post,in_scope,contacts
|
||||||
|
CA(L),False,927
|
||||||
|
CA(L),True,152627
|
||||||
|
CA(R),False,11
|
||||||
|
CA(R),True,184472
|
||||||
|
LH(L),False,15
|
||||||
|
PLP(L),False,14
|
||||||
|
SCL(L),False,792
|
||||||
|
SCL(R),False,140
|
||||||
|
SLP(R),False,57
|
||||||
|
SMP(L),False,15
|
||||||
|
CentralBrain-unspecified,False,46159
|
||||||
|
@@ -0,0 +1,5 @@
|
|||||||
|
condition,whole_spikes_min,whole_spikes_max,KC_active_min,KC_active_max,KC_spikes_min,KC_spikes_max,KC_late_spikes_min,KC_late_spikes_max,KC82312_late_spikes_min,KC82312_late_spikes_max,VA6_late_spikes_min,VA6_late_spikes_max,wall_seconds_min,wall_seconds_max
|
||||||
|
frozen_reference,1102887.0,1113472.0,139.0,172.0,372.0,408.0,114.0,119.0,60.0,61.0,212.0,214.0,14.812315593997482,15.05500110599678
|
||||||
|
calyx_PN_KC_contact_block,1096632.0,1112931.0,1.0,2.0,72.0,73.0,39.0,39.0,0.0,0.0,212.0,214.0,14.777685339009622,14.96407428199018
|
||||||
|
all_PN_KC_block,1096632.0,1112931.0,1.0,1.0,72.0,73.0,39.0,40.0,0.0,0.0,212.0,214.0,14.785283767996589,14.836084023001604
|
||||||
|
whole_PN_output_block,72.0,188.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,9.320402383003966,9.454139529989334
|
||||||
|
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"ComfyUI_queues": [
|
||||||
|
{
|
||||||
|
"pending": 0,
|
||||||
|
"port": 8188,
|
||||||
|
"running": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pending": 0,
|
||||||
|
"port": 8189,
|
||||||
|
"running": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pending": 0,
|
||||||
|
"port": 8190,
|
||||||
|
"running": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services_stopped": false
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"candidate": false,
|
||||||
|
"frozen_baseline_modified": false,
|
||||||
|
"integrity_pass": true,
|
||||||
|
"preserved_acceptance_gates": "5/10",
|
||||||
|
"reference_pass": true,
|
||||||
|
"scope": {
|
||||||
|
"APL_target_PNs": 259,
|
||||||
|
"all_PN_KC_contacts": 384555,
|
||||||
|
"all_PN_KC_edges": 21882,
|
||||||
|
"biophysical_coefficient_known": false,
|
||||||
|
"calyx_affected_KCs": 3760,
|
||||||
|
"calyx_blocked_contacts": 337099,
|
||||||
|
"calyx_mask_edges": 20263,
|
||||||
|
"calyx_other_contacts_retained_on_affected_edges": 28975,
|
||||||
|
"edges": 25582938,
|
||||||
|
"eligible_PNs": 229,
|
||||||
|
"ineligible_PNs": 30,
|
||||||
|
"mixed_CA_nonCA_edges": 3323,
|
||||||
|
"neurons": 166700,
|
||||||
|
"raw_contacts": 124177617,
|
||||||
|
"same_bouton_confirmed": false,
|
||||||
|
"unknown_ROI_contacts_in_original_PN_KC": 46159,
|
||||||
|
"unknown_contacts_relabelled": 0,
|
||||||
|
"whole_PN_contacts": 1268111,
|
||||||
|
"whole_PN_edges": 116211
|
||||||
|
},
|
||||||
|
"status": "COMPLETE-SCOPE-COUNTERFACTUAL / NO-DYNAMICS-CANDIDATE",
|
||||||
|
"training": false
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"CA_block_ALLN_watched_late_rate_range_hz": [
|
||||||
|
454.0,
|
||||||
|
456.0
|
||||||
|
],
|
||||||
|
"CA_block_active_KC_range": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"CA_vs_allKC_spike_sequence_exact_for_all_odors": false,
|
||||||
|
"all_six_CA_block_VA6_late_persists": true,
|
||||||
|
"all_six_CA_block_targetKC_late_zero": true,
|
||||||
|
"all_six_broad_block_KC_and_VA6_late_zero": true,
|
||||||
|
"new_candidate": false,
|
||||||
|
"not_a_memory_or_separability_success": true,
|
||||||
|
"not_a_physiological_APL_gain_estimate": true,
|
||||||
|
"posthoc_summary_not_new_experiment": true,
|
||||||
|
"source_sha256": "33ba5f323e9ed3343f43a8d64fb7e862c8a4f1118b9b441f4745e26cc14303a8"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
odor_index,terminal_vs_allKC_events_exact,counts_exact,max_V_difference,max_g_difference
|
||||||
|
0,True,True,59.083824157714844,66.9503173828125
|
||||||
|
1,False,False,232.58389282226562,346.2290802001953
|
||||||
|
2,True,True,59.49408721923828,60.36189270019531
|
||||||
|
3,False,False,173.94474029541016,486.3127136230469
|
||||||
|
4,True,True,59.40711975097656,59.434303283691406
|
||||||
|
5,True,True,59.37791442871094,58.91309356689453
|
||||||
|
@@ -0,0 +1,241 @@
|
|||||||
|
trial,population,neurons,active,spikes,late_spikes
|
||||||
|
0-131101-frozen_reference,ALLN,420,388,111462,56532
|
||||||
|
0-131101-frozen_reference,ALPN,686,573,126794,64388
|
||||||
|
0-131101-frozen_reference,APL,2,2,898,454
|
||||||
|
0-131101-frozen_reference,DAN,340,133,10825,5631
|
||||||
|
0-131101-frozen_reference,DPM,2,2,738,376
|
||||||
|
0-131101-frozen_reference,KC,4064,160,384,114
|
||||||
|
0-131101-frozen_reference,MBON,97,66,10545,5405
|
||||||
|
0-131101-frozen_reference,PN_olfactory_annotation,2639,54,3217,1665
|
||||||
|
0-131101-frozen_reference,dopamine_metadata_role_unknown,52,48,5907,3127
|
||||||
|
0-131101-frozen_reference,other_annotation,158398,12975,840820,429844
|
||||||
|
0-131101-calyx_PN_KC_contact_block,ALLN,420,388,111462,56539
|
||||||
|
0-131101-calyx_PN_KC_contact_block,ALPN,686,573,126817,64399
|
||||||
|
0-131101-calyx_PN_KC_contact_block,APL,2,2,897,455
|
||||||
|
0-131101-calyx_PN_KC_contact_block,DAN,340,134,10738,5648
|
||||||
|
0-131101-calyx_PN_KC_contact_block,DPM,2,2,718,376
|
||||||
|
0-131101-calyx_PN_KC_contact_block,KC,4064,1,72,39
|
||||||
|
0-131101-calyx_PN_KC_contact_block,MBON,97,62,10335,5403
|
||||||
|
0-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3214,1660
|
||||||
|
0-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,50,5937,3092
|
||||||
|
0-131101-calyx_PN_KC_contact_block,other_annotation,158398,13391,838005,431222
|
||||||
|
0-131101-all_PN_KC_block,ALLN,420,388,111462,56539
|
||||||
|
0-131101-all_PN_KC_block,ALPN,686,573,126817,64399
|
||||||
|
0-131101-all_PN_KC_block,APL,2,2,897,455
|
||||||
|
0-131101-all_PN_KC_block,DAN,340,134,10738,5648
|
||||||
|
0-131101-all_PN_KC_block,DPM,2,2,718,376
|
||||||
|
0-131101-all_PN_KC_block,KC,4064,1,72,39
|
||||||
|
0-131101-all_PN_KC_block,MBON,97,62,10335,5403
|
||||||
|
0-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3214,1660
|
||||||
|
0-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,50,5937,3092
|
||||||
|
0-131101-all_PN_KC_block,other_annotation,158398,13391,838005,431222
|
||||||
|
0-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||||
|
0-131101-whole_PN_output_block,ALPN,686,41,126,0
|
||||||
|
0-131101-whole_PN_output_block,APL,2,0,0,0
|
||||||
|
0-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||||
|
0-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||||
|
0-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||||
|
0-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||||
|
0-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||||
|
0-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||||
|
0-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||||
|
1-131101-frozen_reference,ALLN,420,386,111149,56510
|
||||||
|
1-131101-frozen_reference,ALPN,686,575,126477,64377
|
||||||
|
1-131101-frozen_reference,APL,2,2,896,454
|
||||||
|
1-131101-frozen_reference,DAN,340,135,10828,5658
|
||||||
|
1-131101-frozen_reference,DPM,2,2,738,376
|
||||||
|
1-131101-frozen_reference,KC,4064,172,408,118
|
||||||
|
1-131101-frozen_reference,MBON,97,64,10551,5408
|
||||||
|
1-131101-frozen_reference,PN_olfactory_annotation,2639,53,3198,1661
|
||||||
|
1-131101-frozen_reference,dopamine_metadata_role_unknown,52,48,5836,3066
|
||||||
|
1-131101-frozen_reference,other_annotation,158398,12679,835147,430753
|
||||||
|
1-131101-calyx_PN_KC_contact_block,ALLN,420,386,111166,56517
|
||||||
|
1-131101-calyx_PN_KC_contact_block,ALPN,686,575,126464,64367
|
||||||
|
1-131101-calyx_PN_KC_contact_block,APL,2,2,894,454
|
||||||
|
1-131101-calyx_PN_KC_contact_block,DAN,340,135,10685,5656
|
||||||
|
1-131101-calyx_PN_KC_contact_block,DPM,2,2,715,376
|
||||||
|
1-131101-calyx_PN_KC_contact_block,KC,4064,2,73,39
|
||||||
|
1-131101-calyx_PN_KC_contact_block,MBON,97,62,10304,5398
|
||||||
|
1-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3199,1662
|
||||||
|
1-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,50,5988,3120
|
||||||
|
1-131101-calyx_PN_KC_contact_block,other_annotation,158398,13097,832489,430551
|
||||||
|
1-131101-all_PN_KC_block,ALLN,420,386,111184,56531
|
||||||
|
1-131101-all_PN_KC_block,ALPN,686,575,126471,64363
|
||||||
|
1-131101-all_PN_KC_block,APL,2,2,894,454
|
||||||
|
1-131101-all_PN_KC_block,DAN,340,135,10680,5653
|
||||||
|
1-131101-all_PN_KC_block,DPM,2,2,715,376
|
||||||
|
1-131101-all_PN_KC_block,KC,4064,1,72,39
|
||||||
|
1-131101-all_PN_KC_block,MBON,97,62,10322,5406
|
||||||
|
1-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3194,1655
|
||||||
|
1-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,50,5942,3110
|
||||||
|
1-131101-all_PN_KC_block,other_annotation,158398,13007,836163,431478
|
||||||
|
1-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||||
|
1-131101-whole_PN_output_block,ALPN,686,39,161,0
|
||||||
|
1-131101-whole_PN_output_block,APL,2,0,0,0
|
||||||
|
1-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||||
|
1-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||||
|
1-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||||
|
1-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||||
|
1-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||||
|
1-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||||
|
1-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||||
|
2-131101-frozen_reference,ALLN,420,386,111332,56527
|
||||||
|
2-131101-frozen_reference,ALPN,686,577,126658,64397
|
||||||
|
2-131101-frozen_reference,APL,2,2,899,454
|
||||||
|
2-131101-frozen_reference,DAN,340,133,10885,5658
|
||||||
|
2-131101-frozen_reference,DPM,2,2,738,376
|
||||||
|
2-131101-frozen_reference,KC,4064,144,381,117
|
||||||
|
2-131101-frozen_reference,MBON,97,60,10553,5414
|
||||||
|
2-131101-frozen_reference,PN_olfactory_annotation,2639,53,3208,1661
|
||||||
|
2-131101-frozen_reference,dopamine_metadata_role_unknown,52,50,5923,3083
|
||||||
|
2-131101-frozen_reference,other_annotation,158398,13110,840199,429145
|
||||||
|
2-131101-calyx_PN_KC_contact_block,ALLN,420,386,111307,56511
|
||||||
|
2-131101-calyx_PN_KC_contact_block,ALPN,686,577,126662,64387
|
||||||
|
2-131101-calyx_PN_KC_contact_block,APL,2,2,898,455
|
||||||
|
2-131101-calyx_PN_KC_contact_block,DAN,340,135,10680,5636
|
||||||
|
2-131101-calyx_PN_KC_contact_block,DPM,2,2,719,376
|
||||||
|
2-131101-calyx_PN_KC_contact_block,KC,4064,1,73,39
|
||||||
|
2-131101-calyx_PN_KC_contact_block,MBON,97,62,10367,5405
|
||||||
|
2-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3207,1662
|
||||||
|
2-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,50,5946,3109
|
||||||
|
2-131101-calyx_PN_KC_contact_block,other_annotation,158398,13123,838495,430503
|
||||||
|
2-131101-all_PN_KC_block,ALLN,420,386,111307,56511
|
||||||
|
2-131101-all_PN_KC_block,ALPN,686,577,126662,64387
|
||||||
|
2-131101-all_PN_KC_block,APL,2,2,898,455
|
||||||
|
2-131101-all_PN_KC_block,DAN,340,135,10680,5636
|
||||||
|
2-131101-all_PN_KC_block,DPM,2,2,719,376
|
||||||
|
2-131101-all_PN_KC_block,KC,4064,1,73,39
|
||||||
|
2-131101-all_PN_KC_block,MBON,97,62,10367,5405
|
||||||
|
2-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3207,1662
|
||||||
|
2-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,50,5946,3109
|
||||||
|
2-131101-all_PN_KC_block,other_annotation,158398,13123,838495,430503
|
||||||
|
2-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||||
|
2-131101-whole_PN_output_block,ALPN,686,28,111,0
|
||||||
|
2-131101-whole_PN_output_block,APL,2,0,0,0
|
||||||
|
2-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||||
|
2-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||||
|
2-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||||
|
2-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||||
|
2-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||||
|
2-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||||
|
2-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||||
|
3-131101-frozen_reference,ALLN,420,386,110642,56491
|
||||||
|
3-131101-frozen_reference,ALPN,686,575,125876,64358
|
||||||
|
3-131101-frozen_reference,APL,2,2,892,454
|
||||||
|
3-131101-frozen_reference,DAN,340,134,10781,5643
|
||||||
|
3-131101-frozen_reference,DPM,2,2,735,377
|
||||||
|
3-131101-frozen_reference,KC,4064,151,385,117
|
||||||
|
3-131101-frozen_reference,MBON,97,61,10528,5447
|
||||||
|
3-131101-frozen_reference,PN_olfactory_annotation,2639,53,3188,1663
|
||||||
|
3-131101-frozen_reference,dopamine_metadata_role_unknown,52,50,5864,3088
|
||||||
|
3-131101-frozen_reference,other_annotation,158398,12902,836062,432377
|
||||||
|
3-131101-calyx_PN_KC_contact_block,ALLN,420,386,110635,56494
|
||||||
|
3-131101-calyx_PN_KC_contact_block,ALPN,686,575,125840,64349
|
||||||
|
3-131101-calyx_PN_KC_contact_block,APL,2,2,891,455
|
||||||
|
3-131101-calyx_PN_KC_contact_block,DAN,340,134,10664,5658
|
||||||
|
3-131101-calyx_PN_KC_contact_block,DPM,2,2,715,376
|
||||||
|
3-131101-calyx_PN_KC_contact_block,KC,4064,2,73,39
|
||||||
|
3-131101-calyx_PN_KC_contact_block,MBON,97,62,10285,5411
|
||||||
|
3-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3182,1656
|
||||||
|
3-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,50,5872,3073
|
||||||
|
3-131101-calyx_PN_KC_contact_block,other_annotation,158398,13086,830844,431059
|
||||||
|
3-131101-all_PN_KC_block,ALLN,420,386,110646,56489
|
||||||
|
3-131101-all_PN_KC_block,ALPN,686,575,125875,64350
|
||||||
|
3-131101-all_PN_KC_block,APL,2,2,892,456
|
||||||
|
3-131101-all_PN_KC_block,DAN,340,135,10625,5620
|
||||||
|
3-131101-all_PN_KC_block,DPM,2,2,715,376
|
||||||
|
3-131101-all_PN_KC_block,KC,4064,1,73,40
|
||||||
|
3-131101-all_PN_KC_block,MBON,97,62,10317,5426
|
||||||
|
3-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3187,1664
|
||||||
|
3-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,50,5882,3091
|
||||||
|
3-131101-all_PN_KC_block,other_annotation,158398,13020,836110,434403
|
||||||
|
3-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||||
|
3-131101-whole_PN_output_block,ALPN,686,34,91,0
|
||||||
|
3-131101-whole_PN_output_block,APL,2,0,0,0
|
||||||
|
3-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||||
|
3-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||||
|
3-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||||
|
3-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||||
|
3-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||||
|
3-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||||
|
3-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||||
|
4-131101-frozen_reference,ALLN,420,386,110608,56506
|
||||||
|
4-131101-frozen_reference,ALPN,686,572,125803,64341
|
||||||
|
4-131101-frozen_reference,APL,2,2,893,455
|
||||||
|
4-131101-frozen_reference,DAN,340,137,10770,5637
|
||||||
|
4-131101-frozen_reference,DPM,2,2,733,377
|
||||||
|
4-131101-frozen_reference,KC,4064,139,372,118
|
||||||
|
4-131101-frozen_reference,MBON,97,62,10511,5436
|
||||||
|
4-131101-frozen_reference,PN_olfactory_annotation,2639,53,3173,1651
|
||||||
|
4-131101-frozen_reference,dopamine_metadata_role_unknown,52,50,5830,3100
|
||||||
|
4-131101-frozen_reference,other_annotation,158398,12636,834194,433020
|
||||||
|
4-131101-calyx_PN_KC_contact_block,ALLN,420,386,110587,56496
|
||||||
|
4-131101-calyx_PN_KC_contact_block,ALPN,686,572,125776,64340
|
||||||
|
4-131101-calyx_PN_KC_contact_block,APL,2,2,891,454
|
||||||
|
4-131101-calyx_PN_KC_contact_block,DAN,340,137,10650,5651
|
||||||
|
4-131101-calyx_PN_KC_contact_block,DPM,2,2,715,377
|
||||||
|
4-131101-calyx_PN_KC_contact_block,KC,4064,1,72,39
|
||||||
|
4-131101-calyx_PN_KC_contact_block,MBON,97,62,10286,5421
|
||||||
|
4-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3170,1650
|
||||||
|
4-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,51,5851,3113
|
||||||
|
4-131101-calyx_PN_KC_contact_block,other_annotation,158398,12800,828634,430658
|
||||||
|
4-131101-all_PN_KC_block,ALLN,420,386,110587,56496
|
||||||
|
4-131101-all_PN_KC_block,ALPN,686,572,125776,64340
|
||||||
|
4-131101-all_PN_KC_block,APL,2,2,891,454
|
||||||
|
4-131101-all_PN_KC_block,DAN,340,137,10650,5651
|
||||||
|
4-131101-all_PN_KC_block,DPM,2,2,715,377
|
||||||
|
4-131101-all_PN_KC_block,KC,4064,1,72,39
|
||||||
|
4-131101-all_PN_KC_block,MBON,97,62,10286,5421
|
||||||
|
4-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3170,1650
|
||||||
|
4-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,51,5851,3113
|
||||||
|
4-131101-all_PN_KC_block,other_annotation,158398,12800,828634,430658
|
||||||
|
4-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||||
|
4-131101-whole_PN_output_block,ALPN,686,25,72,0
|
||||||
|
4-131101-whole_PN_output_block,APL,2,0,0,0
|
||||||
|
4-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||||
|
4-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||||
|
4-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||||
|
4-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||||
|
4-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||||
|
4-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||||
|
4-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||||
|
5-131101-frozen_reference,ALLN,420,389,111255,56552
|
||||||
|
5-131101-frozen_reference,ALPN,686,576,126597,64420
|
||||||
|
5-131101-frozen_reference,APL,2,2,898,455
|
||||||
|
5-131101-frozen_reference,DAN,340,134,10834,5653
|
||||||
|
5-131101-frozen_reference,DPM,2,2,737,377
|
||||||
|
5-131101-frozen_reference,KC,4064,163,395,119
|
||||||
|
5-131101-frozen_reference,MBON,97,63,10588,5428
|
||||||
|
5-131101-frozen_reference,PN_olfactory_annotation,2639,53,3211,1657
|
||||||
|
5-131101-frozen_reference,dopamine_metadata_role_unknown,52,51,5895,3093
|
||||||
|
5-131101-frozen_reference,other_annotation,158398,13146,843062,432870
|
||||||
|
5-131101-calyx_PN_KC_contact_block,ALLN,420,389,111261,56537
|
||||||
|
5-131101-calyx_PN_KC_contact_block,ALPN,686,576,126621,64416
|
||||||
|
5-131101-calyx_PN_KC_contact_block,APL,2,2,896,455
|
||||||
|
5-131101-calyx_PN_KC_contact_block,DAN,340,134,10718,5654
|
||||||
|
5-131101-calyx_PN_KC_contact_block,DPM,2,2,718,376
|
||||||
|
5-131101-calyx_PN_KC_contact_block,KC,4064,1,72,39
|
||||||
|
5-131101-calyx_PN_KC_contact_block,MBON,97,62,10352,5414
|
||||||
|
5-131101-calyx_PN_KC_contact_block,PN_olfactory_annotation,2639,53,3212,1661
|
||||||
|
5-131101-calyx_PN_KC_contact_block,dopamine_metadata_role_unknown,52,51,5929,3094
|
||||||
|
5-131101-calyx_PN_KC_contact_block,other_annotation,158398,13624,843152,429784
|
||||||
|
5-131101-all_PN_KC_block,ALLN,420,389,111261,56537
|
||||||
|
5-131101-all_PN_KC_block,ALPN,686,576,126621,64416
|
||||||
|
5-131101-all_PN_KC_block,APL,2,2,896,455
|
||||||
|
5-131101-all_PN_KC_block,DAN,340,134,10718,5654
|
||||||
|
5-131101-all_PN_KC_block,DPM,2,2,718,376
|
||||||
|
5-131101-all_PN_KC_block,KC,4064,1,72,39
|
||||||
|
5-131101-all_PN_KC_block,MBON,97,62,10352,5414
|
||||||
|
5-131101-all_PN_KC_block,PN_olfactory_annotation,2639,53,3212,1661
|
||||||
|
5-131101-all_PN_KC_block,dopamine_metadata_role_unknown,52,51,5929,3094
|
||||||
|
5-131101-all_PN_KC_block,other_annotation,158398,13624,843152,429784
|
||||||
|
5-131101-whole_PN_output_block,ALLN,420,0,0,0
|
||||||
|
5-131101-whole_PN_output_block,ALPN,686,40,188,0
|
||||||
|
5-131101-whole_PN_output_block,APL,2,0,0,0
|
||||||
|
5-131101-whole_PN_output_block,DAN,340,0,0,0
|
||||||
|
5-131101-whole_PN_output_block,DPM,2,0,0,0
|
||||||
|
5-131101-whole_PN_output_block,KC,4064,0,0,0
|
||||||
|
5-131101-whole_PN_output_block,MBON,97,0,0,0
|
||||||
|
5-131101-whole_PN_output_block,PN_olfactory_annotation,2639,0,0,0
|
||||||
|
5-131101-whole_PN_output_block,dopamine_metadata_role_unknown,52,0,0,0
|
||||||
|
5-131101-whole_PN_output_block,other_annotation,158398,0,0,0
|
||||||
|
@@ -0,0 +1,7 @@
|
|||||||
|
odor_index,neuron_idx,body_id,type,late_spikes,first_late_spike_ms,last_spike_ms,source_identity_not_inferred_from_this_count
|
||||||
|
0,78836,104513,KCg-d,39,502.6,999.4,True
|
||||||
|
1,78836,104513,KCg-d,39,500.5,992.5,True
|
||||||
|
2,78836,104513,KCg-d,39,509.9,996.4,True
|
||||||
|
3,78836,104513,KCg-d,39,500.4,995.8,True
|
||||||
|
4,78836,104513,KCg-d,39,508.6,998.5,True
|
||||||
|
5,78836,104513,KCg-d,39,506.1,994.9,True
|
||||||
|
@@ -0,0 +1,25 @@
|
|||||||
|
trial,scheduled,identical_request_keys,accepted,blocked,preexisting,status_differences_vs_reference,actual_output_differences_vs_reference
|
||||||
|
0-131101-frozen_reference,131,True,75,54,2,0,0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,131,True,73,53,5,7,5
|
||||||
|
0-131101-all_PN_KC_block,131,True,73,53,5,7,5
|
||||||
|
0-131101-whole_PN_output_block,131,True,126,5,0,55,53
|
||||||
|
1-131101-frozen_reference,186,True,77,102,7,0,0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,186,True,78,101,7,15,11
|
||||||
|
1-131101-all_PN_KC_block,186,True,82,98,6,12,8
|
||||||
|
1-131101-whole_PN_output_block,186,True,161,25,0,88,83
|
||||||
|
2-131101-frozen_reference,122,True,54,66,2,0,0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,122,True,52,70,0,8,6
|
||||||
|
2-131101-all_PN_KC_block,122,True,52,70,0,8,6
|
||||||
|
2-131101-whole_PN_output_block,122,True,111,11,0,59,57
|
||||||
|
3-131101-frozen_reference,95,True,41,54,0,0,0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,95,True,41,54,0,2,2
|
||||||
|
3-131101-all_PN_KC_block,95,True,41,54,0,2,2
|
||||||
|
3-131101-whole_PN_output_block,95,True,91,4,0,52,52
|
||||||
|
4-131101-frozen_reference,78,True,31,44,3,0,0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,78,True,30,44,4,8,8
|
||||||
|
4-131101-all_PN_KC_block,78,True,30,44,4,8,8
|
||||||
|
4-131101-whole_PN_output_block,78,True,72,6,0,43,40
|
||||||
|
5-131101-frozen_reference,215,True,92,118,5,0,0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,215,True,90,119,6,13,7
|
||||||
|
5-131101-all_PN_KC_block,215,True,90,119,6,13,7
|
||||||
|
5-131101-whole_PN_output_block,215,True,188,27,0,104,99
|
||||||
|
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"all_finite": true,
|
||||||
|
"candidate": false,
|
||||||
|
"exact_repeat_trials": 4,
|
||||||
|
"frozen_reference_trials": 5,
|
||||||
|
"old_trial_reproductions": 6,
|
||||||
|
"training": false,
|
||||||
|
"trials": 24
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"APL_target_PNs": 259,
|
||||||
|
"all_PN_KC_contacts": 384555,
|
||||||
|
"all_PN_KC_edges": 21882,
|
||||||
|
"biophysical_coefficient_known": false,
|
||||||
|
"calyx_affected_KCs": 3760,
|
||||||
|
"calyx_blocked_contacts": 337099,
|
||||||
|
"calyx_mask_edges": 20263,
|
||||||
|
"calyx_other_contacts_retained_on_affected_edges": 28975,
|
||||||
|
"edges": 25582938,
|
||||||
|
"eligible_PNs": 229,
|
||||||
|
"ineligible_PNs": 30,
|
||||||
|
"mixed_CA_nonCA_edges": 3323,
|
||||||
|
"neurons": 166700,
|
||||||
|
"raw_contacts": 124177617,
|
||||||
|
"same_bouton_confirmed": false,
|
||||||
|
"unknown_ROI_contacts_in_original_PN_KC": 46159,
|
||||||
|
"unknown_contacts_relabelled": 0,
|
||||||
|
"whole_PN_contacts": 1268111,
|
||||||
|
"whole_PN_edges": 116211
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
trial,odor_index,odor_name,seed,condition,whole_spikes,KC_active,KC_active_fraction,KC_spikes,KC_late_spikes,KC82312_late_spikes,VA6_late_spikes,finite,wall_seconds,biological_ms
|
||||||
|
0-131101-frozen_reference,0,ethyl (R)-(-)-3-hydroxybutanoate,131101,frozen_reference,1111590,160,0.03937007874015748,384,114,60,213,True,15.05500110599678,1000
|
||||||
|
0-131101-calyx_PN_KC_contact_block,0,ethyl (R)-(-)-3-hydroxybutanoate,131101,calyx_PN_KC_contact_block,1108195,1,0.00024606299212598425,72,39,0,214,True,14.781203242993797,1000
|
||||||
|
0-131101-all_PN_KC_block,0,ethyl (R)-(-)-3-hydroxybutanoate,131101,all_PN_KC_block,1108195,1,0.00024606299212598425,72,39,0,214,True,14.814815709993127,1000
|
||||||
|
0-131101-whole_PN_output_block,0,ethyl (R)-(-)-3-hydroxybutanoate,131101,whole_PN_output_block,126,0,0.0,0,0,0,0,True,9.408489347988507,1000
|
||||||
|
1-131101-frozen_reference,1,3-penten-2-one,131101,frozen_reference,1105228,172,0.04232283464566929,408,118,60,213,True,14.849270171995158,1000
|
||||||
|
1-131101-calyx_PN_KC_contact_block,1,3-penten-2-one,131101,calyx_PN_KC_contact_block,1101977,2,0.0004921259842519685,73,39,0,213,True,14.829743235008209,1000
|
||||||
|
1-131101-all_PN_KC_block,1,3-penten-2-one,131101,all_PN_KC_block,1105637,1,0.00024606299212598425,72,39,0,213,True,14.836084023001604,1000
|
||||||
|
1-131101-whole_PN_output_block,1,3-penten-2-one,131101,whole_PN_output_block,161,0,0.0,0,0,0,0,True,9.406520318007097,1000
|
||||||
|
2-131101-frozen_reference,2,(2R)-hexan-2-ol,131101,frozen_reference,1110776,144,0.03543307086614173,381,117,61,213,True,14.826602405999438,1000
|
||||||
|
2-131101-calyx_PN_KC_contact_block,2,(2R)-hexan-2-ol,131101,calyx_PN_KC_contact_block,1108354,1,0.00024606299212598425,73,39,0,213,True,14.964074281990179,1000
|
||||||
|
2-131101-all_PN_KC_block,2,(2R)-hexan-2-ol,131101,all_PN_KC_block,1108354,1,0.00024606299212598425,73,39,0,213,True,14.831739582994487,1000
|
||||||
|
2-131101-whole_PN_output_block,2,(2R)-hexan-2-ol,131101,whole_PN_output_block,111,0,0.0,0,0,0,0,True,9.401394432992674,1000
|
||||||
|
3-131101-frozen_reference,3,gamma-propyl-gamma-butyrolactone,131101,frozen_reference,1104953,151,0.037155511811023625,385,117,60,212,True,14.826186497011804,1000
|
||||||
|
3-131101-calyx_PN_KC_contact_block,3,gamma-propyl-gamma-butyrolactone,131101,calyx_PN_KC_contact_block,1099001,2,0.0004921259842519685,73,39,0,212,True,14.787222463011858,1000
|
||||||
|
3-131101-all_PN_KC_block,3,gamma-propyl-gamma-butyrolactone,131101,all_PN_KC_block,1104322,1,0.00024606299212598425,73,40,0,212,True,14.788134792994242,1000
|
||||||
|
3-131101-whole_PN_output_block,3,gamma-propyl-gamma-butyrolactone,131101,whole_PN_output_block,91,0,0.0,0,0,0,0,True,9.370064136994188,1000
|
||||||
|
4-131101-frozen_reference,4,2-methyl butyl acetate,131101,frozen_reference,1102887,139,0.03420275590551181,372,118,61,213,True,14.812315593997482,1000
|
||||||
|
4-131101-calyx_PN_KC_contact_block,4,2-methyl butyl acetate,131101,calyx_PN_KC_contact_block,1096632,1,0.00024606299212598425,72,39,0,212,True,14.777685339009622,1000
|
||||||
|
4-131101-all_PN_KC_block,4,2-methyl butyl acetate,131101,all_PN_KC_block,1096632,1,0.00024606299212598425,72,39,0,212,True,14.785283767996589,1000
|
||||||
|
4-131101-whole_PN_output_block,4,2-methyl butyl acetate,131101,whole_PN_output_block,72,0,0.0,0,0,0,0,True,9.320402383003966,1000
|
||||||
|
5-131101-frozen_reference,5,ethyl (S)-(+)-3-hydroxybutanoate,131101,frozen_reference,1113472,163,0.04010826771653543,395,119,61,214,True,14.947139675990911,1000
|
||||||
|
5-131101-calyx_PN_KC_contact_block,5,ethyl (S)-(+)-3-hydroxybutanoate,131101,calyx_PN_KC_contact_block,1112931,1,0.00024606299212598425,72,39,0,214,True,14.830266532007954,1000
|
||||||
|
5-131101-all_PN_KC_block,5,ethyl (S)-(+)-3-hydroxybutanoate,131101,all_PN_KC_block,1112931,1,0.00024606299212598425,72,39,0,214,True,14.83051910600625,1000
|
||||||
|
5-131101-whole_PN_output_block,5,ethyl (S)-(+)-3-hydroxybutanoate,131101,whole_PN_output_block,188,0,0.0,0,0,0,0,True,9.454139529989334,1000
|
||||||
|
@@ -0,0 +1,265 @@
|
|||||||
|
trial,neuron_idx,body_id,type,population,spikes,late_spikes,late_rate_hz
|
||||||
|
0-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||||
|
0-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||||
|
0-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,384,194,388.0
|
||||||
|
0-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,452,228,456.0
|
||||||
|
0-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,452,228,456.0
|
||||||
|
0-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,452,228,456.0
|
||||||
|
0-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,431,218,436.0
|
||||||
|
0-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,324,164,328.0
|
||||||
|
0-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,340,171,342.0
|
||||||
|
0-131101-frozen_reference,82312,109321,KC,KC,120,60,120.0
|
||||||
|
0-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,423,213,426.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,384,193,386.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,452,228,456.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,452,228,456.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,452,228,456.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,431,218,436.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,324,164,328.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
0-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||||
|
0-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||||
|
0-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||||
|
0-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,384,193,386.0
|
||||||
|
0-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,452,228,456.0
|
||||||
|
0-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,452,228,456.0
|
||||||
|
0-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,452,228,456.0
|
||||||
|
0-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,431,218,436.0
|
||||||
|
0-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,324,164,328.0
|
||||||
|
0-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||||
|
0-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
0-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||||
|
0-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,5,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
0-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||||
|
1-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,369,187,374.0
|
||||||
|
1-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||||
|
1-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,383,195,390.0
|
||||||
|
1-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
1-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
1-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
1-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,430,218,436.0
|
||||||
|
1-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,322,164,328.0
|
||||||
|
1-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,336,170,340.0
|
||||||
|
1-131101-frozen_reference,82312,109321,KC,KC,119,60,120.0
|
||||||
|
1-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,369,187,374.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,382,194,388.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,218,436.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,322,164,328.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,337,171,342.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
1-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||||
|
1-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,369,187,374.0
|
||||||
|
1-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||||
|
1-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,383,195,390.0
|
||||||
|
1-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
1-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
1-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
1-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,218,436.0
|
||||||
|
1-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,322,164,328.0
|
||||||
|
1-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,336,171,342.0
|
||||||
|
1-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
1-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||||
|
1-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,5,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
1-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||||
|
2-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,371,188,376.0
|
||||||
|
2-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,320,162,324.0
|
||||||
|
2-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,382,194,388.0
|
||||||
|
2-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
2-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
2-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
2-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||||
|
2-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,322,164,328.0
|
||||||
|
2-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,336,171,342.0
|
||||||
|
2-131101-frozen_reference,82312,109321,KC,KC,120,61,122.0
|
||||||
|
2-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,421,213,426.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,370,188,376.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,382,194,388.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,323,164,328.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,336,171,342.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
2-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||||
|
2-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,370,188,376.0
|
||||||
|
2-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,321,163,326.0
|
||||||
|
2-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,382,194,388.0
|
||||||
|
2-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
2-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
2-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,450,228,456.0
|
||||||
|
2-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||||
|
2-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,323,164,328.0
|
||||||
|
2-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,336,171,342.0
|
||||||
|
2-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
2-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,420,213,426.0
|
||||||
|
2-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
2-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,7,0,0.0
|
||||||
|
3-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,368,187,374.0
|
||||||
|
3-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,320,163,326.0
|
||||||
|
3-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,380,193,386.0
|
||||||
|
3-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,448,228,456.0
|
||||||
|
3-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,448,228,456.0
|
||||||
|
3-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,448,228,456.0
|
||||||
|
3-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,428,218,436.0
|
||||||
|
3-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,321,164,328.0
|
||||||
|
3-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,335,171,342.0
|
||||||
|
3-131101-frozen_reference,82312,109321,KC,KC,119,60,120.0
|
||||||
|
3-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,416,212,424.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,368,187,374.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,320,163,326.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,381,194,388.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,448,228,456.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,448,228,456.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,448,228,456.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,428,218,436.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,321,164,328.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,335,171,342.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
3-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,416,212,424.0
|
||||||
|
3-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,368,187,374.0
|
||||||
|
3-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,320,163,326.0
|
||||||
|
3-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,381,194,388.0
|
||||||
|
3-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,448,228,456.0
|
||||||
|
3-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,448,228,456.0
|
||||||
|
3-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,448,228,456.0
|
||||||
|
3-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,428,218,436.0
|
||||||
|
3-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,321,164,328.0
|
||||||
|
3-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,335,171,342.0
|
||||||
|
3-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
3-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,416,212,424.0
|
||||||
|
3-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,3,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
3-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||||
|
4-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,368,188,376.0
|
||||||
|
4-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,319,163,326.0
|
||||||
|
4-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,379,193,386.0
|
||||||
|
4-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,447,228,456.0
|
||||||
|
4-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,447,227,454.0
|
||||||
|
4-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,447,228,456.0
|
||||||
|
4-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,428,217,434.0
|
||||||
|
4-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,320,164,328.0
|
||||||
|
4-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,334,171,342.0
|
||||||
|
4-131101-frozen_reference,82312,109321,KC,KC,119,61,122.0
|
||||||
|
4-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,416,213,426.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,368,188,376.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,319,163,326.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,379,193,386.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,447,228,456.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,447,227,454.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,447,228,456.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,428,217,434.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,320,164,328.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,334,171,342.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
4-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,415,212,424.0
|
||||||
|
4-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,368,188,376.0
|
||||||
|
4-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,319,163,326.0
|
||||||
|
4-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,379,193,386.0
|
||||||
|
4-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,447,228,456.0
|
||||||
|
4-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,447,227,454.0
|
||||||
|
4-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,447,228,456.0
|
||||||
|
4-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,428,217,434.0
|
||||||
|
4-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,320,164,328.0
|
||||||
|
4-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,334,171,342.0
|
||||||
|
4-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
4-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,415,212,424.0
|
||||||
|
4-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,3,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
4-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||||
|
5-131101-frozen_reference,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||||
|
5-131101-frozen_reference,179,10198,VA7l_adPN,ALPN,322,163,326.0
|
||||||
|
5-131101-frozen_reference,484,10522,VL2p_adPN,ALPN,384,194,388.0
|
||||||
|
5-131101-frozen_reference,1197,11289,lLN1_bc,ALLN,451,228,456.0
|
||||||
|
5-131101-frozen_reference,1381,11478,lLN1_bc,ALLN,451,228,456.0
|
||||||
|
5-131101-frozen_reference,1511,11620,lLN1_bc,ALLN,451,228,456.0
|
||||||
|
5-131101-frozen_reference,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||||
|
5-131101-frozen_reference,6065,16610,VA7m_lPN,ALPN,324,165,330.0
|
||||||
|
5-131101-frozen_reference,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||||
|
5-131101-frozen_reference,82312,109321,KC,KC,120,61,122.0
|
||||||
|
5-131101-frozen_reference,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,484,10522,VL2p_adPN,ALPN,384,194,388.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,1197,11289,lLN1_bc,ALLN,451,228,456.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,1381,11478,lLN1_bc,ALLN,451,228,456.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,1511,11620,lLN1_bc,ALLN,451,228,456.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,6065,16610,VA7m_lPN,ALPN,323,164,328.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
5-131101-calyx_PN_KC_contact_block,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||||
|
5-131101-all_PN_KC_block,30,10039,VL2a_adPN,ALPN,371,187,374.0
|
||||||
|
5-131101-all_PN_KC_block,179,10198,VA7l_adPN,ALPN,323,164,328.0
|
||||||
|
5-131101-all_PN_KC_block,484,10522,VL2p_adPN,ALPN,384,194,388.0
|
||||||
|
5-131101-all_PN_KC_block,1197,11289,lLN1_bc,ALLN,451,228,456.0
|
||||||
|
5-131101-all_PN_KC_block,1381,11478,lLN1_bc,ALLN,451,228,456.0
|
||||||
|
5-131101-all_PN_KC_block,1511,11620,lLN1_bc,ALLN,451,228,456.0
|
||||||
|
5-131101-all_PN_KC_block,1644,11761,VP1d+VP4_l2PN1,ALPN,430,217,434.0
|
||||||
|
5-131101-all_PN_KC_block,6065,16610,VA7m_lPN,ALPN,323,164,328.0
|
||||||
|
5-131101-all_PN_KC_block,6842,17484,DC2_adPN,ALPN,339,171,342.0
|
||||||
|
5-131101-all_PN_KC_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
5-131101-all_PN_KC_block,133666,527577,VA6_adPN,ALPN,423,214,428.0
|
||||||
|
5-131101-whole_PN_output_block,30,10039,VL2a_adPN,ALPN,0,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,179,10198,VA7l_adPN,ALPN,0,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,484,10522,VL2p_adPN,ALPN,0,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,1197,11289,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,1381,11478,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,1511,11620,lLN1_bc,ALLN,0,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,1644,11761,VP1d+VP4_l2PN1,ALPN,0,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,6065,16610,VA7m_lPN,ALPN,0,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,6842,17484,DC2_adPN,ALPN,6,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,82312,109321,KC,KC,0,0,0.0
|
||||||
|
5-131101-whole_PN_output_block,133666,527577,VA6_adPN,ALPN,0,0,0.0
|
||||||
|
@@ -0,0 +1,199 @@
|
|||||||
|
50d11647abe23cd7f259d6835e20fa46bfe0cdfe248d75ae69c6b21051b3680d INTERPRETATION.zh.md
|
||||||
|
8d0c3ffbc718ada68cd4590a21726dd9c221269384e6aded32ca4731b21a983f REPORT.md
|
||||||
|
2bd15ebf2718fdf06bfc968617b5a5fc72ebfd2a965559942876e40d168a229e audit/ROI-partition.csv
|
||||||
|
4b35fc3bd77bd31a29ad30a9d5d16f0f29261518645cc565e08c62b0a884e977 audit/all-259-APL-target-PNs.parquet
|
||||||
|
978c1ca48c392d573fc3ebc9b67eae1b8fd5ceb1c0033ed3ffa57173c1688dbc audit/all-PN-KC-contact-partitions.parquet
|
||||||
|
63e700cfbd277ff9e08a45b680cfecea42ed7cd039e0b493d6860f755bfd8d17 audit/all_PN_KC_block-effective-overlay.parquet
|
||||||
|
e0c968e8974ea7bd12daf98a4563349e50a77468892b5ebe2b1bb7c425b5c836 audit/calyx_PN_KC_contact_block-effective-overlay.parquet
|
||||||
|
c7c27fcbcb3f5c341b3fbdc6783e46405b0ceb520d34da1cb654633d57c0dd2f audit/condition-ranges.csv
|
||||||
|
0397c6d86eb5fd7282cbb3b06927b7627760aeedbaf176cf870257f93cd161f1 audit/final-service-health.json
|
||||||
|
954e12d578df65f3e0891ad5c260b2d6a01a16de5d8f4168bcfbccda1ce6700f audit/final-summary.json
|
||||||
|
aa39952c5e3f5842c3fcc6ee6462ff15abef78729ccda1e3d3854b7b939173ca audit/mechanism-interpretation.json
|
||||||
|
00ec322b8e9c4900deaadda4eac8d604c61c88685fe3409f0dc8169c6057c055 audit/narrow-vs-allKC.csv
|
||||||
|
095803667092a53d2bf7bbd4bb5904f9efe0ae0d74e92f579bb1f722478bfc23 audit/observed-APL-PN-ROI-pairs.parquet
|
||||||
|
7347919244fd27c2ecf7191d24302cb203769976604c4bd1c650a450c9f34604 audit/population-counts.csv
|
||||||
|
1f6e83038ce0ebb1ac97b5c53a07fefdd0aa183d0490e6259a47070961a4fcb1 audit/remaining-late-KCs.csv
|
||||||
|
b9ead245b439d22ecac202db3c15e9dae9882aac8af318895039c9f676c97f63 audit/request-comparison.csv
|
||||||
|
a0038972a067a029a607920bfb441519950511cad54853d5fa33067e61273b8b audit/run-complete.json
|
||||||
|
67a8ce7fe5677fd7ab6e516f68254b4eb941a2f9f702de34027f69e91ce626de audit/scope-summary.json
|
||||||
|
f9e0fd08cc5a2fe650749b06b3ca631b1c8258f3f1e40690458dbc5668920deb audit/trials.csv
|
||||||
|
4256b8a89e2d5f55ca7b0ef2a45110dd0593994e3416a1de14144908f2a941af audit/watched-counts.csv
|
||||||
|
159dcef426274c69b810d982bad4961b2f467d70b057c855586e17fc4a65c18d audit/whole_PN_output_block-effective-overlay.parquet
|
||||||
|
7329672e081300537d77be3fb5abdd138d400ead500b5cb2093618cb556ea1cb events/0-131101-all_PN_KC_block.parquet
|
||||||
|
7329672e081300537d77be3fb5abdd138d400ead500b5cb2093618cb556ea1cb events/0-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
f2c738cce81d56dc38b15d3ed04f9ca9ef99e63ab121b868bbb234b640235ad4 events/0-131101-frozen_reference.parquet
|
||||||
|
d6a7d5c6d6668d36f0514ae4f20eef3b9e60f9e555efb334cc35e9efca74520d events/0-131101-whole_PN_output_block.parquet
|
||||||
|
eb96617dceffcb61be45de886e062ff86df2177e7ddcaf370c62d22307abf566 events/1-131101-all_PN_KC_block.parquet
|
||||||
|
031ede1f2d136da0e3cac6c1f524eae3def616b74b2366bbdd4e4a8a33f024ab events/1-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
edd3c442deb71e7db6e058ee0c5ed51f67c71b72f1f21e74d2c68cfe7531fb96 events/1-131101-frozen_reference.parquet
|
||||||
|
20a6010a52c0c13bbcfe36a8b31b1c95d0dff4917a7a36b48ce727601de04719 events/1-131101-whole_PN_output_block.parquet
|
||||||
|
37ea82b729e27f3833ac93faa5411b55b3b4d5df258f9975c637e758fc001aad events/2-131101-all_PN_KC_block.parquet
|
||||||
|
37ea82b729e27f3833ac93faa5411b55b3b4d5df258f9975c637e758fc001aad events/2-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
a0112b88296e49dd142c1b217d1da501a958edbfde63559180cf858b2f24ab41 events/2-131101-frozen_reference.parquet
|
||||||
|
b78a97859869be17fdf07cfaec55a6ffd26c047df2521b4ebfdaf8069fc3857d events/2-131101-whole_PN_output_block.parquet
|
||||||
|
fa5fbbbeba2266275ab60bb5aa43e6a556d7acb05c0e2e74792deb69c7886e87 events/3-131101-all_PN_KC_block.parquet
|
||||||
|
ce408e93502105daa3c3598ad83916e1573a2b51094b601d8227ceec6c9e04c5 events/3-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
361d560293461a5dfd8b921ef2086c6416f0111c2bdbee8239a1785756f4e750 events/3-131101-frozen_reference.parquet
|
||||||
|
815ad98fdebb558d6d97f7857286aa26325eda6a07731003b01f2760e0ad74c8 events/3-131101-whole_PN_output_block.parquet
|
||||||
|
b425e99cb678e2905b301c3d8955622f5f846b8cb95be56bc1d6a4ec8927e3a4 events/4-131101-all_PN_KC_block.parquet
|
||||||
|
b425e99cb678e2905b301c3d8955622f5f846b8cb95be56bc1d6a4ec8927e3a4 events/4-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
4a21d82b254a64327bb58cd46e6360b93919837b18f7813b2887236438a65b8e events/4-131101-frozen_reference.parquet
|
||||||
|
92fa0bb6d40117291d637e039b75fab5acb95fa2900e349458548ab678ecc175 events/4-131101-whole_PN_output_block.parquet
|
||||||
|
68af6e003289e6c5db21ed257f23cc1ffa576f0699054b5eed6e9f19f0bc198c events/5-131101-all_PN_KC_block.parquet
|
||||||
|
68af6e003289e6c5db21ed257f23cc1ffa576f0699054b5eed6e9f19f0bc198c events/5-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
c6868dc73bcdf64e19b89bd001f53c775d8c603fa482af19299afa4bef94966d events/5-131101-frozen_reference.parquet
|
||||||
|
18c2b6537414fc88ec6d7af9a3e6d17ae355cca27f802ace6862a3bb86bcb703 events/5-131101-whole_PN_output_block.parquet
|
||||||
|
7d80cc0eaacb0e82c95eeee504bdab6398e821faa43b04f0fb15882952d3d2d8 gpu-reference/extension-build/.ninja_deps
|
||||||
|
4c72a7a59bad7ea9d919b94dd98eff0a060a253078f52e91807d45d0ee2ccc05 gpu-reference/extension-build/.ninja_log
|
||||||
|
c570f72b9a2f486e104ed3bf5b1b9f2ccc729ecab02046cd62389d629fb4f48f gpu-reference/extension-build/build.ninja
|
||||||
|
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gpu-reference/extension-build/lock
|
||||||
|
328cdf2dd588ee875ffa06d9da5f77165e82b7ab1e62395135798116d6b3f0fc gpu-reference/extension-build/male_cns_lif_deterministic_v2_ext.so
|
||||||
|
f1db36d694e76b5eabc790f173103db79108d8427d354d143304f93f659ddc7f gpu-reference/extension-build/phase4p_ext.cuda.o
|
||||||
|
27d284f6a369221a931251b5a03ce133cc8231a97942567d4efafbfb45483811 gpu-reference/extension-build/phase4p_ext.o
|
||||||
|
eb664fc02ec10508dfca36b107ab8f083d682113d172f4183aed7b766d96dd45 gpu-reference/extension.json
|
||||||
|
07ea3fa9fe2a4e093cff38aba9aab4e7a018f32c108542fc773110f0a43a8293 masks/all_PN_KC_block.parquet
|
||||||
|
0e2585cdb7d44b24f4579d90149f9bb7738718164036dde910be2d94a67370fc masks/calyx_PN_KC_contact_block.parquet
|
||||||
|
95f800944d01738e3d36da64a17c9bd37b8372fd8ba165bdcd31a94da0fdee29 masks/whole_PN_output_block.parquet
|
||||||
|
9f87e056f34222f34cbe5bcd109a45ede202baeea2e2b9bca909c326d5c6ec44 observations/0-131101-all_PN_KC_block.parquet
|
||||||
|
55cdf371f17626e66c3bd2ed7ace8cfdaa53f383d1f112cf04f2c8b21ce607ef observations/0-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
e8efc04cf282a0c3fac306dadcbc44f8fd9c13fe2754b753cb7c562db89c6138 observations/0-131101-frozen_reference.parquet
|
||||||
|
182f0c3798a9c629a1e1460983ed2061b16d55f5ea82de048444d28998553061 observations/0-131101-whole_PN_output_block.parquet
|
||||||
|
01937268b8a6299d2b1ab5486b8dcdaff8866b7826e34f4ad3a6bbf77fc74fa4 observations/1-131101-all_PN_KC_block.parquet
|
||||||
|
dd0ac4ba7c774c8d475f944c8511c965d7dc574329ecfac9157b3f68f52438ae observations/1-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
fc37e5a8befec43f187ed68e4de8399c2cb895cda03998a8ce29fcb7b5488efe observations/1-131101-frozen_reference.parquet
|
||||||
|
3c031ca5fa45f3f974337361273d1b432a4182f61cfadf2d3fb348ad1a9ffc56 observations/1-131101-whole_PN_output_block.parquet
|
||||||
|
4dd772a7358a75d4f674027bf5bdaaa8ee609cfdd86a34e88cc9a28ffd42b7dd observations/2-131101-all_PN_KC_block.parquet
|
||||||
|
68f9b88919cf4e98a343c047c92c0dd261b681f106a53f8846c6d7704bae8390 observations/2-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
30462668f2fe3b8051f60e94f3a25d895ac68bfcf9b1ca7fbff0ec07450aa524 observations/2-131101-frozen_reference.parquet
|
||||||
|
68902b930d81216184358b38c8ac0132dc6ed201345af9a47e9e52bbb5ab3d2b observations/2-131101-whole_PN_output_block.parquet
|
||||||
|
032642e1b288f6fc6f3a438f995dad5043a54df724db135b45b492f6c8365f05 observations/3-131101-all_PN_KC_block.parquet
|
||||||
|
07e204e3dd51bba6f777e1142d3561987642b7bbc28208ddd4df0159bbbdfaab observations/3-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
c42c6b392de967fad1d8dc3c46a3d1f936fc7065b3223290d57b99ac7783627d observations/3-131101-frozen_reference.parquet
|
||||||
|
47baffba5864df085baf621c5bcce08b416a5123f1a436b1fb7e4a5b1baeb323 observations/3-131101-whole_PN_output_block.parquet
|
||||||
|
36357d0ec81d346ab9345e2d976cca64e0cdf2b2730578e02abfea16a3d998f4 observations/4-131101-all_PN_KC_block.parquet
|
||||||
|
1e1f38419a55ea53984b9c094e1ef2e0ce49120ad68ceeffb2cad0f94dbf7b5c observations/4-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
59f491996efcab80c65342d8b6b9068ce7ba2c90e7cf9ec59642a2bfc225a0db observations/4-131101-frozen_reference.parquet
|
||||||
|
14c4bfc60bd0c479d35f1e8f193372c5845f2451c91370c74e33c513cb4c023b observations/4-131101-whole_PN_output_block.parquet
|
||||||
|
a728612a3a1f5b00c8508102e9af06dfb18c63728b94e39322598fbf19f140e0 observations/5-131101-all_PN_KC_block.parquet
|
||||||
|
7e5a944d402aeeaa70ea183cdeed091cd69927324ea5d4c3142b491442b8f8b3 observations/5-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
1979a8bc73379be06d4cbd5923f5f8ab5cebbe70a1a4919695c2d3363899a587 observations/5-131101-frozen_reference.parquet
|
||||||
|
023e9b18d368ae28171b63ff73122e55b8da8e9a0f4b482004cbc73c759900fd observations/5-131101-whole_PN_output_block.parquet
|
||||||
|
93a5b9bc4de3bf479916ae4b701fa7e23b570c442559e95a7aeabb7b33cd5410 performance/summary.json
|
||||||
|
2b3ca78bf0946c757b7784719a6a7a06598941867df2a243a272a61337d2c889 protocol/calibration-panel.json
|
||||||
|
da2d2e47d2bc3ab214203723cac30a1386b09008e07118f460039e496b0b88f4 protocol/environment.json
|
||||||
|
073a6ab1b615e9abdb06e5a6775366c3978ce7794714949de1a5f714edf98ec7 protocol/forcing-hashes.json
|
||||||
|
4795fae3b3a320deff14f32e4722e94ade17e464b1fbf19315a1cb1769eb1927 protocol/imported-code-hashes.json
|
||||||
|
24cba080c7b72da8f40e406f1403646ff11c3cc34d9870991874575a486e3e27 protocol/input-hashes.json
|
||||||
|
1eaf84efbcd9a7f5852b8d0feb4fd57b5f01f7211080923bb3fa63dadeaa1b7f protocol/launch-addendum.json
|
||||||
|
6cee0248b8fb13a99f997c75a06542f26a1e9f5df8c8771ea997a5dc2de9d6b3 protocol/mask-hashes.json
|
||||||
|
da8da4efa93ba69867ef732cb9d328576c5fd5b82f483803bd330f597b32e61b protocol/preregistered.json
|
||||||
|
0980b7d3689cf626401d13728960c77a5f32d63fe61c5fb21869b36003ca890d regression/0-131101-all_PN_KC_block.json
|
||||||
|
fc2d7c3fd66b1816dd569721b1ffe16fb3d04195e0f39e54311235f996263e18 regression/0-131101-calyx_PN_KC_contact_block.json
|
||||||
|
f0bdabde30646bbfddef9a6bc346a14e9a268ea096bf1495ade09ccb7257441b regression/0-131101-frozen_reference.json
|
||||||
|
4703574c70cf854d05038a729e072ab48ec2db60746517dc0bd76a4c90984c2b regression/0-131101-whole_PN_output_block.json
|
||||||
|
104536398ec87802f8ded2ab37cce3311c0af39f74533e712c8f827eb42d738b regression/1-131101-all_PN_KC_block.json
|
||||||
|
e7a98aa3f9eb31364a6c4f1f09df059162bc6633f527dd0eff44646a5a4e469d regression/1-131101-calyx_PN_KC_contact_block.json
|
||||||
|
f1ed3d7a9a6a290295ef477bff09566a9aee08a33c98f9c62519a5f4537c472b regression/1-131101-frozen_reference.json
|
||||||
|
db90cddc95d283c78b6df8279c50b30a2ebcd02b173a31ddfd1f5da8ca6c85ca regression/1-131101-whole_PN_output_block.json
|
||||||
|
1ef62eb572ada32b947e8fbbe649dee7842cba3c9cb044b03291383d7ddc7c00 regression/2-131101-all_PN_KC_block.json
|
||||||
|
e3e54e240443b1abbb413b27886193fba595a28af8c7277550abc399b482ccd0 regression/2-131101-calyx_PN_KC_contact_block.json
|
||||||
|
663a6881b31c76bd08350fc757929233173f4af39a89f5bf1b75423ca75ee997 regression/2-131101-frozen_reference.json
|
||||||
|
33153ce2d016e511ea2eaf2beed2af96a2b20de91524346b894f2c04379818f9 regression/2-131101-whole_PN_output_block.json
|
||||||
|
6d4cc009cbc2debf074dab3c0c6b5a134cd3677c22f96aad3f44ed9793f0c2ea regression/3-131101-all_PN_KC_block.json
|
||||||
|
91ff88c1fccfbb98164a1aad137adf0681eaa4ab458ee256060447a42736af42 regression/3-131101-calyx_PN_KC_contact_block.json
|
||||||
|
3688243f5e477ea991d118909263c0a0ff3fc6be8c71924e49d14d1b0f687b30 regression/3-131101-frozen_reference.json
|
||||||
|
71ff0a2d2ff00dcaf0b73e71edcd914f997b6698f2edecc3ad1890d2b368de44 regression/3-131101-whole_PN_output_block.json
|
||||||
|
780f101c402d02f199efd7e4da12464f3d92af5dce3ec0ac07b7db298eb4b5d5 regression/4-131101-all_PN_KC_block.json
|
||||||
|
eff14126327297664b469447643edf0a6715fb6f63694a32be8de5ff7121dfd7 regression/4-131101-calyx_PN_KC_contact_block.json
|
||||||
|
8861144ebca5477c2d26b821123223ff9493e2f3469ed647c5e3cd9798b1973e regression/4-131101-frozen_reference.json
|
||||||
|
78a82eb5862db7e8c98e50307112c62caa55377a42bc971e6416f74d69295cd4 regression/4-131101-whole_PN_output_block.json
|
||||||
|
dc5a9055739131fceac3824357c103116870b00244801e60bb441c522a37aa8b regression/5-131101-all_PN_KC_block.json
|
||||||
|
aa2ebf99bb706524a25d3bbc1047ee0604e37572dbe037854d8d2e9b55945166 regression/5-131101-calyx_PN_KC_contact_block.json
|
||||||
|
a863e8bee672db98e9fbbf6fac8a00ebb6ddf003658dfc04a47aed25e56e1c61 regression/5-131101-frozen_reference.json
|
||||||
|
739eb5af0a8ce21470307d57e160c31fa1504c4a0725b85e9e015fd90d733a71 regression/5-131101-whole_PN_output_block.json
|
||||||
|
22e3f76d2971117550a43438ec4c12e6f592dc6d8a55b6abae6f31c06056b408 regression/final-integrity.json
|
||||||
|
31912ae3b9dc77713c5d0ac6c3e5af94b360f8c8911e0078831a2f7e4f1cba33 regression/five-frozen-trials.json
|
||||||
|
2ec053136d7744a8f158a1028d3e35a9e11424c402fb588ec977920a2c310a67 regression/fixed-event-replay.json
|
||||||
|
22e3f76d2971117550a43438ec4c12e6f592dc6d8a55b6abae6f31c06056b408 regression/preflight.json
|
||||||
|
d5e28ea53f1b2da7050ca66e4159a430fe330e9ff349ee95cd2e39c2402be99e regression/restored.json
|
||||||
|
4f6287aaf4324986a8c41bdbf06b784ab1d612558fa1204d1a587108788f63f4 regression/run-start.json
|
||||||
|
7039bb7de7c47f6b2fd29ce7ab8bc86aebd0266579f5abc9518d1f4dc8a21644 regression/unit-tests.json
|
||||||
|
ae083713cc4b4da9c54d1184889c953e0a8673dcd4c9ad466058d92a2418252e replay/fixed-event-scope.csv
|
||||||
|
3dad1e907d601202ac3ae94a0e970eb47e28f60360c69867ec084c41e23682e4 requests/0-131101-all_PN_KC_block.parquet
|
||||||
|
3dad1e907d601202ac3ae94a0e970eb47e28f60360c69867ec084c41e23682e4 requests/0-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
056d260ad9ac6bc25dfd3d93439ed1ffdf10d8cf202c9e12cde48d2b4c54cb9a requests/0-131101-frozen_reference.parquet
|
||||||
|
ab3d71145e3c26aa2d706686b17d35c73c48a2493f04b850e4a99ac27da8b1b8 requests/0-131101-whole_PN_output_block.parquet
|
||||||
|
b3acab9cfc958ea8397d1e7c4dfdc309743c8c183b16bf249d9f5b362d240aa2 requests/0-scheduled.npz
|
||||||
|
bef3f81a3e139a1528a732d2008d0b7f87f4baafd060f2df54e93fab56cbb3e5 requests/1-131101-all_PN_KC_block.parquet
|
||||||
|
9c86e4ef2bb21ca6d1b1a6a7ffccee28eff70065bdde9ba67cb809642a12141f requests/1-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
0a3ba010a7ca0a8641ab020f424f11302d48a411e72679020afcc5dfc6b5f1ab requests/1-131101-frozen_reference.parquet
|
||||||
|
8eb9c25cbcf79b7a440b5f31d60b6c8311bb771a3562ea4ef0e99089e009dfc4 requests/1-131101-whole_PN_output_block.parquet
|
||||||
|
4ba4ab357be3a36240985c50081f79f1b51d88dbb9732878c4ef767a3f83cc8a requests/1-scheduled.npz
|
||||||
|
631c58d841868b7d146fbe44222a2c78f8b0974140ddd562c936f2b40bc309ae requests/2-131101-all_PN_KC_block.parquet
|
||||||
|
631c58d841868b7d146fbe44222a2c78f8b0974140ddd562c936f2b40bc309ae requests/2-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
40ebd12c2ce7f16a4d3c97e8e9a9b4d711b40abd0f195a8deb28423468bfc79b requests/2-131101-frozen_reference.parquet
|
||||||
|
fa317a476da0399d2c2d9417710c9b2f44853348c7ceb347c72f00df7969937f requests/2-131101-whole_PN_output_block.parquet
|
||||||
|
5a5d9c03e9f5c7b7d913d3301167951e6d879deec99a5ab30433f4fe9f7cb45c requests/2-scheduled.npz
|
||||||
|
51b6123fd7ff6f11b83fba88ed530ffb22b929cf03fe022ddebc131454ad3ff4 requests/3-131101-all_PN_KC_block.parquet
|
||||||
|
55f420b8c44a739a7ec2633282826f2a2cb66cdd2366969e171bfe7505ed387c requests/3-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
e4b05f8d1ccb81dbbf355b764e24846d891f5cf067dae31b4fd6d7ec2dca6fb6 requests/3-131101-frozen_reference.parquet
|
||||||
|
25d8bed34c4e89dc83d21dcd15f5dbb19c052279c88b3d8684220760fabca08c requests/3-131101-whole_PN_output_block.parquet
|
||||||
|
fa4156dd4d01229c7f1597012850fc7c146914fcbd1fa65a97fd47a64d527a5d requests/3-scheduled.npz
|
||||||
|
a4ba8ef0a20f3b316810e50d20839f9c0d0fb832c6455d536df4983d569658a0 requests/4-131101-all_PN_KC_block.parquet
|
||||||
|
a4ba8ef0a20f3b316810e50d20839f9c0d0fb832c6455d536df4983d569658a0 requests/4-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
09eb1de00266368de2aa0b5a086dc3269dd0a38f3bfa09d5b24bc38e621da55e requests/4-131101-frozen_reference.parquet
|
||||||
|
3d54dcb034548fe825127080e040c5f2327264f8fa94e7785740807ab8165a26 requests/4-131101-whole_PN_output_block.parquet
|
||||||
|
ac73e1ce6410e0aabdb794459c65bdcfe76e8da9e8d95bd60c84802cf928ae8d requests/4-scheduled.npz
|
||||||
|
9ea2f433d3b22ade9a9b3c20fa9d7a2e325011eb53304b38b15b18ff0b985129 requests/5-131101-all_PN_KC_block.parquet
|
||||||
|
9ea2f433d3b22ade9a9b3c20fa9d7a2e325011eb53304b38b15b18ff0b985129 requests/5-131101-calyx_PN_KC_contact_block.parquet
|
||||||
|
525feff11f344e4894d23d6b1233c111a0aa392a4db699e486b6b79f4753a983 requests/5-131101-frozen_reference.parquet
|
||||||
|
884769d20ff28b10b0ffc25a90aef8c0e05badb47225f1cbe0885e16b70eb012 requests/5-131101-whole_PN_output_block.parquet
|
||||||
|
5257f5f8ddb3c21daf1b95ec1ccdded54fd411088cc716ba118f17b6e771114d requests/5-scheduled.npz
|
||||||
|
f8d9d8318515cad98fa232891893439a50acd253d7436ae2b4225071d2e9f03d states/0-131101-all_PN_KC_block-watched.npz
|
||||||
|
ae0d9f975329008cd009fae8f2bf45ce2203133e1e5720dc1361cfabde3912fe states/0-131101-all_PN_KC_block.npz
|
||||||
|
7efe6247b0932751aa88064f86d9fa48e89bd8154501176ac9b9370d82e4fcb3 states/0-131101-calyx_PN_KC_contact_block-watched.npz
|
||||||
|
8d14bf9207b5341fc8225a5459a68af8bbcbfd03b2f04ff95260c3ec4af7be77 states/0-131101-calyx_PN_KC_contact_block.npz
|
||||||
|
12ef82cf65581f494b2fea6f3fcd6428e8dcb642e58cefd6ddc810ace15e1d0b states/0-131101-frozen_reference-watched.npz
|
||||||
|
8cb75b2c7588748a4b71e3d2aab878b2ff8b0f718ffa4839507f83eb2ab32954 states/0-131101-frozen_reference.npz
|
||||||
|
cf52c567a7ca5adc9ccac8d2de1af265d84a632da9248bd7d87904e6bb8b9fec states/0-131101-whole_PN_output_block-watched.npz
|
||||||
|
b833f7be6bc76341480935cdc14ab6231f9ff502a21250a02af975eacaca8edb states/0-131101-whole_PN_output_block.npz
|
||||||
|
c7a39e5940638250c176dd0c357283103d2d5bb75d3a9f2355d110446b1fba78 states/1-131101-all_PN_KC_block-watched.npz
|
||||||
|
f0f720afa8417e084ed6b8668c89954f5f73b105987b2468e36c4f3a70521f59 states/1-131101-all_PN_KC_block.npz
|
||||||
|
2d97c7ca9070e10cfc77c0048fb2b27d00c489c2ae0f168cade10faf2d453cee states/1-131101-calyx_PN_KC_contact_block-watched.npz
|
||||||
|
9e3b7d8b4b59d8252e78e306a1dfcf1264326f9ecb0a182b64290ff1c0718589 states/1-131101-calyx_PN_KC_contact_block.npz
|
||||||
|
f183d8c5857472b8ffc3284be604828e9ddea4cbcdfbd299ba96fe3b7ca81c98 states/1-131101-frozen_reference-watched.npz
|
||||||
|
ae4d6b809bf44133bd87de3c7ee969e95a903e0a2ec0fca8002325cbb03b0ef1 states/1-131101-frozen_reference.npz
|
||||||
|
57931d95e6b3eeaaf69fbdb3a69b7512a186ac72f613b5a87f9ed69fba511f2f states/1-131101-whole_PN_output_block-watched.npz
|
||||||
|
040d893e095f5c0cb7413cd8f5922f7bd4b49b12ce73d0f7ef31078bb25e5ef3 states/1-131101-whole_PN_output_block.npz
|
||||||
|
565445dad0afa6767a0cd4db5829666513f4b509706ada63778853bf2f20e7d6 states/2-131101-all_PN_KC_block-watched.npz
|
||||||
|
e8753a3bd49c7b7c99f0deae6c6ae0d9a4a210065e5d520e4ae9afc6c2b9bc51 states/2-131101-all_PN_KC_block.npz
|
||||||
|
ed7f30d8e409c1f539de4c46f1a212fba4ba21102e5d381d8d0468ea911e9b9b states/2-131101-calyx_PN_KC_contact_block-watched.npz
|
||||||
|
79596be88ad828ac25fd91fab363899f55a50b3ea337c1f69ddc8f2ea02556ee states/2-131101-calyx_PN_KC_contact_block.npz
|
||||||
|
3dc6c3239847e7b57e936cb9fdee961b4cb0cc97f29a79015a78c8c76c6e3e40 states/2-131101-frozen_reference-watched.npz
|
||||||
|
3885e3be3790851a38df68d9ecd4fc6d709ab2df2ed9dfc6cd20088685d47585 states/2-131101-frozen_reference.npz
|
||||||
|
03ae942e80df043b3f24e99438af974a958ad4605bcc4994dd56184f4649ca5e states/2-131101-whole_PN_output_block-watched.npz
|
||||||
|
68929be61bf57cc2e339010be89569507bd86e19414b80d72a65a9802539de8b states/2-131101-whole_PN_output_block.npz
|
||||||
|
c4ae92e319e795b6c596e2f7af5a61e55bff3445f96b9e345c267990fae6e41c states/3-131101-all_PN_KC_block-watched.npz
|
||||||
|
8b175b4fac0f5821cdc9f894810eeea7797109b93f1cf88b020462f6a46a03a1 states/3-131101-all_PN_KC_block.npz
|
||||||
|
a3c252fca88b4463953f2badf1b1028ac831ca86db0e3a6b6235dcdd6d6dd339 states/3-131101-calyx_PN_KC_contact_block-watched.npz
|
||||||
|
dfea1fa07ce87fbd1cc34c2f6e799050a8e7e034a6b1be0c746073019edd7371 states/3-131101-calyx_PN_KC_contact_block.npz
|
||||||
|
efcfdb65dd96bfb389ce06b0c93165dbe711724c369124659216e99f776731b3 states/3-131101-frozen_reference-watched.npz
|
||||||
|
a2d453db134e2afa29d0acdaf114657d4a9ecf5eac9761fd8d20e81488f8deb5 states/3-131101-frozen_reference.npz
|
||||||
|
9c10800139d86f4bd6735e9629b77b05116425259122cdc801c814a8bcb31909 states/3-131101-whole_PN_output_block-watched.npz
|
||||||
|
ac5cd9159719e446682035150570b3a82242278b3df6e3285d7d8872cb2ad31c states/3-131101-whole_PN_output_block.npz
|
||||||
|
112c62d3fb7b37c89e8bb7c8f6ce26faccf710a9626b36fe9e2e6ae60c723f97 states/4-131101-all_PN_KC_block-watched.npz
|
||||||
|
5cd00244ad955e2ade3a1c11a438f71fd45fbe44b6c984f1d89df821cce01dee states/4-131101-all_PN_KC_block.npz
|
||||||
|
f6d97fd0afa95066a8c92b6a9a4b2134703ac20f8c3b85518e149ade35d0322a states/4-131101-calyx_PN_KC_contact_block-watched.npz
|
||||||
|
72022e2237532dfbc765519009f097bbc74adb12cc8d0f6e467d2cb43ed749e3 states/4-131101-calyx_PN_KC_contact_block.npz
|
||||||
|
1500add748659784162eac2d42719e210839b24a048b9f13a799ac82db1d22be states/4-131101-frozen_reference-watched.npz
|
||||||
|
7c47edf74d96c6a6d78127f5794842ec0ec6517476824f510111b6ae7db84484 states/4-131101-frozen_reference.npz
|
||||||
|
7a1ea781bf2654c81662aa44fde08e48cddc9c6f7e4a63092edf9434db3f794b states/4-131101-whole_PN_output_block-watched.npz
|
||||||
|
9010e095f29ae73cd3c41cc56668421a4a26fcdf168f4292c370a6472d4bac52 states/4-131101-whole_PN_output_block.npz
|
||||||
|
4e9cdec61c2871b52e2ebee9c76d006b236b01000b24558061f964f2220ded4a states/5-131101-all_PN_KC_block-watched.npz
|
||||||
|
5a5bbea421409a33d4b5637f73652bd9bf12ccc2441d69946830a754ba4931f0 states/5-131101-all_PN_KC_block.npz
|
||||||
|
29bb7a2f41c8113551bc469f57dd1be80c2ddf8525ae35d64cf68d1937e62220 states/5-131101-calyx_PN_KC_contact_block-watched.npz
|
||||||
|
01276b2d98fad5762e89bc7cd25292e8c78f4032cfddc8f25c81e0e2fcfc3de9 states/5-131101-calyx_PN_KC_contact_block.npz
|
||||||
|
707f4fed38d0dffc8a581a54b2cdbfce7dbaa0f25f630830df0c7214ec7549fd states/5-131101-frozen_reference-watched.npz
|
||||||
|
1f296417629abbfdaa5a289d42e607655d930b2b78ede983a000a162eb954e53 states/5-131101-frozen_reference.npz
|
||||||
|
87b94583d373d4e0a71733f9b67165360d7d646f54f2cb0d3ae842eadb532d87 states/5-131101-whole_PN_output_block-watched.npz
|
||||||
|
bba613671dd0f6f0a4dc450f20a55eaefe1d6026238adb23d9ec89b91f304934 states/5-131101-whole_PN_output_block.npz
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"binary": "/data/digital-drosophila/experiments/phase4ab-terminal-scope/gpu-reference/extension-build/male_cns_lif_deterministic_v2_ext.so",
|
||||||
|
"binary_sha256": "328cdf2dd588ee875ffa06d9da5f77165e82b7ab1e62395135798116d6b3f0fc",
|
||||||
|
"build_seconds": 58.095501807008986,
|
||||||
|
"flags": {
|
||||||
|
"cuda": [
|
||||||
|
"-O3",
|
||||||
|
"--fmad=false",
|
||||||
|
"-std=c++20"
|
||||||
|
],
|
||||||
|
"cxx": [
|
||||||
|
"-O3",
|
||||||
|
"-ffp-contract=off"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"status": "PASS"
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"ComfyUI_models_unloaded": false,
|
||||||
|
"device": "NVIDIA GeForce RTX 4090",
|
||||||
|
"diagnostic_overhead_included": true,
|
||||||
|
"not_runtime_benchmark": true,
|
||||||
|
"peak_VRAM_bytes": 401255936,
|
||||||
|
"wall_seconds_including_build": 497.18762119600433
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"all_response_sum": 2.647552750875989,
|
||||||
|
"formal_label": "",
|
||||||
|
"mapped_nonzero_glomeruli": 9,
|
||||||
|
"mapped_response_sum": 2.647552967071533,
|
||||||
|
"mapped_signal_fraction": 1.0000000816586352,
|
||||||
|
"mapped_strong_glomeruli": 6,
|
||||||
|
"odor_id": "OMSUIQOIVADKIM-RXMQYKEDSA-N",
|
||||||
|
"odor_name": "ethyl (R)-(-)-3-hydroxybutanoate",
|
||||||
|
"split": "calibration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"all_response_sum": 3.15310405209239,
|
||||||
|
"formal_label": "",
|
||||||
|
"mapped_nonzero_glomeruli": 10,
|
||||||
|
"mapped_response_sum": 3.153104305267334,
|
||||||
|
"mapped_signal_fraction": 1.0000000802938755,
|
||||||
|
"mapped_strong_glomeruli": 7,
|
||||||
|
"odor_id": "LABTWGUMFABVFG-ARJAWSKDSA-N",
|
||||||
|
"odor_name": "3-penten-2-one",
|
||||||
|
"split": "calibration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"all_response_sum": 2.5893836710143447,
|
||||||
|
"formal_label": "",
|
||||||
|
"mapped_nonzero_glomeruli": 10,
|
||||||
|
"mapped_response_sum": 2.589383840560913,
|
||||||
|
"mapped_signal_fraction": 1.000000065477577,
|
||||||
|
"mapped_strong_glomeruli": 7,
|
||||||
|
"odor_id": "QNVRIHYSUZMSGM-ZCFIWIBFSA-N",
|
||||||
|
"odor_name": "(2R)-hexan-2-ol",
|
||||||
|
"split": "calibration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"all_response_sum": 2.145005152753913,
|
||||||
|
"formal_label": "",
|
||||||
|
"mapped_nonzero_glomeruli": 8,
|
||||||
|
"mapped_response_sum": 2.145005226135254,
|
||||||
|
"mapped_signal_fraction": 1.0000000342103332,
|
||||||
|
"mapped_strong_glomeruli": 5,
|
||||||
|
"odor_id": "VLSVVMPLPMNWBH-UHFFFAOYSA-N",
|
||||||
|
"odor_name": "gamma-propyl-gamma-butyrolactone",
|
||||||
|
"split": "calibration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"all_response_sum": 1.9317070827976401,
|
||||||
|
"formal_label": "",
|
||||||
|
"mapped_nonzero_glomeruli": 9,
|
||||||
|
"mapped_response_sum": 1.9317071437835693,
|
||||||
|
"mapped_signal_fraction": 1.0000000315710025,
|
||||||
|
"mapped_strong_glomeruli": 5,
|
||||||
|
"odor_id": "XHIUFYZDQBSEMF-UHFFFAOYSA-N",
|
||||||
|
"odor_name": "2-methyl butyl acetate",
|
||||||
|
"split": "calibration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"all_response_sum": 4.358990574986397,
|
||||||
|
"formal_label": "",
|
||||||
|
"mapped_nonzero_glomeruli": 9,
|
||||||
|
"mapped_response_sum": 4.358990669250488,
|
||||||
|
"mapped_signal_fraction": 1.0000000216252112,
|
||||||
|
"mapped_strong_glomeruli": 8,
|
||||||
|
"odor_id": "OMSUIQOIVADKIM-YFKPBYRVSA-N",
|
||||||
|
"odor_name": "ethyl (S)-(+)-3-hydroxybutanoate",
|
||||||
|
"split": "calibration"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"GPU_inventory": "0, Tesla V100-SXM2-16GB, GPU-a745fd30-4ca8-2370-09f6-2d374ac866dc, 580.178.04, 16384 MiB\n1, Tesla V100-SXM2-16GB, GPU-0f0ff6ed-bf1f-50ea-c244-b4566eccc66a, 580.178.04, 16384 MiB\n2, NVIDIA GeForce RTX 4090, GPU-79f3a85d-adce-7833-7003-6488140ca596, 580.178.04, 49140 MiB\n",
|
||||||
|
"executable": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||||
|
"installed_or_upgraded_packages": false,
|
||||||
|
"nvcc": "nvcc: NVIDIA (R) Cuda compiler driver\nCopyright (c) 2005-2024 NVIDIA Corporation\nBuilt on Tue_Oct_29_23:50:19_PDT_2024\nCuda compilation tools, release 12.6, V12.6.85\nBuild cuda_12.6.r12.6/compiler.35059454_0\n",
|
||||||
|
"packages": {
|
||||||
|
"PyYAML": "6.0.3",
|
||||||
|
"ninja": "1.13.2",
|
||||||
|
"numpy": "2.2.6",
|
||||||
|
"pandas": "2.3.3",
|
||||||
|
"pyarrow": "25.0.1",
|
||||||
|
"scipy": "1.15.3",
|
||||||
|
"torch": "2.14.0"
|
||||||
|
},
|
||||||
|
"platform": "Linux-5.15.0-194-generic-x86_64-with-glibc2.35",
|
||||||
|
"python": "3.10.12 (main, Aug 31 2026, 10:18:17) [GCC 11.4.0]",
|
||||||
|
"source_sha256": "be92ce24e63910f67da0238b19e3abb882e1afd317561fccf01734f1b4a56f25"
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"forcing": "a939ee1aa335c3821dd6f539e12936ef3b9eeb784a253961d83eda193b8cf072",
|
||||||
|
"odor_index": 0,
|
||||||
|
"seed": 80131101,
|
||||||
|
"targets_rates": "2c69540b8352e9ac4870fa598306925daf5787fd5fefc9eb818eeddf1dcb67e1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"forcing": "16ca8d267bfaf6aaf7894ec7e8b47a1bd834526e0353fd81a5aa87ac6bf0da1c",
|
||||||
|
"odor_index": 1,
|
||||||
|
"seed": 81131101,
|
||||||
|
"targets_rates": "b1ada43fc2751f56fba325b151cb8382f45425b69bb9d9a62653970c176d6104"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"forcing": "b7eac53509b51e957617eaaf2ca7c4c319565c9037cab7b2b54e797323ddbff4",
|
||||||
|
"odor_index": 2,
|
||||||
|
"seed": 82131101,
|
||||||
|
"targets_rates": "ee8255452f19cbbfb3deff719e42e9c15c85b0c974602063cabbb6a7b02052a0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"forcing": "23030e5d12d837ca5b12f944f89f5efe806b1fca155157187a8a01e2b62913a8",
|
||||||
|
"odor_index": 3,
|
||||||
|
"seed": 83131101,
|
||||||
|
"targets_rates": "11a3f98ad623d5d217375ce4343217d428f4905c84964379c6d6d7e78c759275"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"forcing": "a5d761a8c836af61e99092f7e22cf949ee37b013aa1841d16258355c51f5eedf",
|
||||||
|
"odor_index": 4,
|
||||||
|
"seed": 84131101,
|
||||||
|
"targets_rates": "4b805ed706ff3a9ba19020c0b10f29d90efee476a9b440507cf221827e8419a9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"forcing": "cff8e383719d570f0c1a6f491385d81e4451d356603aea57235aa444974a3316",
|
||||||
|
"odor_index": 5,
|
||||||
|
"seed": 85131101,
|
||||||
|
"targets_rates": "7deea1e8ce60a4357d57e359a30d7693815b59a413c0d5c48e96f654cab78500"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -0,0 +1,122 @@
|
|||||||
|
{
|
||||||
|
"__main__": {
|
||||||
|
"path": "models/male-cns-lif/terminal-scope-diagnostic-v1/launch.py",
|
||||||
|
"sha256": "0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625"
|
||||||
|
},
|
||||||
|
"__mp_main__": {
|
||||||
|
"path": "models/male-cns-lif/terminal-scope-diagnostic-v1/launch.py",
|
||||||
|
"sha256": "0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625"
|
||||||
|
},
|
||||||
|
"audit": {
|
||||||
|
"path": "models/male-cns-lif/apl-pn-scope-audit-v1/audit.py",
|
||||||
|
"sha256": "4ef071ba88f4e1cd78f068be58414dd7f4099dfac69c68266c4f46e175eab9fb"
|
||||||
|
},
|
||||||
|
"brain_runtime": {
|
||||||
|
"path": "models/male-cns-lif/brain_runtime.py",
|
||||||
|
"sha256": "1c4e3e6f06708bfec30b24e92297f320b2b8b87ebbbe6da501f5f2db4f74762a"
|
||||||
|
},
|
||||||
|
"diagnostic": {
|
||||||
|
"path": "models/male-cns-lif/terminal-scope-diagnostic-v1/diagnostic.py",
|
||||||
|
"sha256": "c8ec2ae6e72d35fedbd42acc6e6b5e7af2634d5b9805dc20e777b172c55d5aa4"
|
||||||
|
},
|
||||||
|
"phase4b": {
|
||||||
|
"path": "models/male-cns-lif/phase4b.py",
|
||||||
|
"sha256": "693468685a7ff3db1d09a088e0bbdaa78c595d64086b27e9cc18abceb4c7d174"
|
||||||
|
},
|
||||||
|
"phase4c": {
|
||||||
|
"path": "models/male-cns-lif/phase4c.py",
|
||||||
|
"sha256": "5ec83a132deb8ba20e62dab485537c2414016fe2fece546198d61c0668d75b6b"
|
||||||
|
},
|
||||||
|
"phase4h_audit": {
|
||||||
|
"path": "models/male-cns-lif/phase4h_audit.py",
|
||||||
|
"sha256": "83128ea0a7276a06c6ce57e4c533d076cf442e28e3b0834e38c4537cc87e1136"
|
||||||
|
},
|
||||||
|
"phase4i": {
|
||||||
|
"path": "models/male-cns-lif/phase4i.py",
|
||||||
|
"sha256": "f5a45ba4b41553495ea50e09ae4522f97f78ffb62b7fa690d8eb6e3ed06bd555"
|
||||||
|
},
|
||||||
|
"phase4j": {
|
||||||
|
"path": "models/male-cns-lif/phase4j.py",
|
||||||
|
"sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e"
|
||||||
|
},
|
||||||
|
"phase4k": {
|
||||||
|
"path": "models/male-cns-lif/phase4k.py",
|
||||||
|
"sha256": "6ca7dd7b3fec7f970f8a43ac8286dd0f05b2674ac3996b9b20583b636719abe7"
|
||||||
|
},
|
||||||
|
"phase4l": {
|
||||||
|
"path": "models/male-cns-lif/phase4l.py",
|
||||||
|
"sha256": "e97d58d8c1f44920d0e953f8f5831ddc86fa0198784e86460e315de4116ac553"
|
||||||
|
},
|
||||||
|
"phase4m": {
|
||||||
|
"path": "models/male-cns-lif/phase4m.py",
|
||||||
|
"sha256": "3d1b64861559c9c04e08153b4056d968ab556637916d388170b36fc6348fa822"
|
||||||
|
},
|
||||||
|
"phase4n": {
|
||||||
|
"path": "models/male-cns-lif/phase4n.py",
|
||||||
|
"sha256": "dbbb49447aecbc862d3f54bba9de41f6b8ab90a6afb1ef43a686149fce832d13"
|
||||||
|
},
|
||||||
|
"phase4p": {
|
||||||
|
"path": "models/male-cns-lif/deterministic-runtime-v2/phase4p.py",
|
||||||
|
"sha256": "c8a13dbdd58dd222f73c1224de448e54bdf90c3f533163427a2bb25446a03999"
|
||||||
|
},
|
||||||
|
"phase4p_finalize": {
|
||||||
|
"path": "models/male-cns-lif/deterministic-runtime-v2/phase4p_finalize.py",
|
||||||
|
"sha256": "b627fb0934bca8f04ec7c595a7b5e6690a2af62a44bc00ff2972f9f764671cd4"
|
||||||
|
},
|
||||||
|
"phase4p_revalidate": {
|
||||||
|
"path": "models/male-cns-lif/deterministic-runtime-v2/phase4p_revalidate.py",
|
||||||
|
"sha256": "c7e693a2da70acdce4f53af5c2853e52e8333acc93f88a46a5e8083eac639346"
|
||||||
|
},
|
||||||
|
"phase4p_validate": {
|
||||||
|
"path": "models/male-cns-lif/deterministic-runtime-v2/phase4p_validate.py",
|
||||||
|
"sha256": "ce06aa5cb6439450440a91603af1c0d187b20dc11abda6528ea0dfc6b71569b5"
|
||||||
|
},
|
||||||
|
"phase4q": {
|
||||||
|
"path": "models/male-cns-lif/credit-v3/phase4q.py",
|
||||||
|
"sha256": "2cd10fb215d7ed624f4a4323453d20c4327bea490fa52eb3afc5d7fa0176a6e5"
|
||||||
|
},
|
||||||
|
"phase4r": {
|
||||||
|
"path": "models/male-cns-lif/timing-audit-v1/phase4r.py",
|
||||||
|
"sha256": "f33b7d01ff3fe3858a1d995a7471740218be250910548fde11b87432a15a73f1"
|
||||||
|
},
|
||||||
|
"phase4s": {
|
||||||
|
"path": "models/male-cns-lif/timing-credit-v1/phase4s.py",
|
||||||
|
"sha256": "59e4ee98a2a81321b1d1f9edd78035133ade8b73673b47a9c89f77bd39511769"
|
||||||
|
},
|
||||||
|
"phase4t": {
|
||||||
|
"path": "models/male-cns-lif/timing-stability-v1/phase4t.py",
|
||||||
|
"sha256": "eebb61a1b97fb3de90746d23cc3037d1290a97d505ecff7fc784948e68dfa88e"
|
||||||
|
},
|
||||||
|
"phase4u": {
|
||||||
|
"path": "models/male-cns-lif/odor-timing-generalization-v1/phase4u.py",
|
||||||
|
"sha256": "c97b908f38619a52a291c63fe90056f69d966f4138f50a3489f54e6e0ff8683e"
|
||||||
|
},
|
||||||
|
"phase4v": {
|
||||||
|
"path": "models/male-cns-lif/csus-audit-v1/phase4v.py",
|
||||||
|
"sha256": "9007a0b7b01760d05a0d29d01e8551452d8029dee507992f4f06b1aa74885e53"
|
||||||
|
},
|
||||||
|
"phase4w": {
|
||||||
|
"path": "models/male-cns-lif/late-kc-audit-v1/phase4w.py",
|
||||||
|
"sha256": "2c0c2eaf793b7f89eb8b1f606bc3878f16f101325818c5e6fe2b690eefdfb9a8"
|
||||||
|
},
|
||||||
|
"phase4x": {
|
||||||
|
"path": "models/male-cns-lif/transmitter-audit-v1/phase4x.py",
|
||||||
|
"sha256": "89999433ca5ca81764cef921c0095a207639ac3f3b9845537d7dc819b52c1dac"
|
||||||
|
},
|
||||||
|
"phase4y": {
|
||||||
|
"path": "models/male-cns-lif/dpm-hypothesis-v1/phase4y.py",
|
||||||
|
"sha256": "636139eaeafa981a0c54c59a7c69e2b52b8493aa798448fa86ae6d2c6baba319"
|
||||||
|
},
|
||||||
|
"phase4z": {
|
||||||
|
"path": "models/male-cns-lif/pn-feedback-audit-v1/phase4z.py",
|
||||||
|
"sha256": "0a9136c5543531ae5ce76eeef9a512f09b94ed2b96f8b14d2e8f7e6782b7e40d"
|
||||||
|
},
|
||||||
|
"scope": {
|
||||||
|
"path": "models/male-cns-lif/terminal-scope-diagnostic-v1/scope.py",
|
||||||
|
"sha256": "8f5774496dcceaee1c2793a5308754cbd0864c4a38d507481071d988f9de424d"
|
||||||
|
},
|
||||||
|
"transmitter_roles_v1": {
|
||||||
|
"path": "models/male-cns-lif/transmitter-audit-v1/transmitter_roles_v1.py",
|
||||||
|
"sha256": "76ba0cae6c5db417ec030456797f7935216c6877bd339d5e435133a0061e3930"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"bytes": 10065020,
|
||||||
|
"path": "experiments/phase4aa-apl-pn-scope/localization/APL-incident.parquet",
|
||||||
|
"sha256": "442b0fa2640cd1bfaf97e558ae912a8601dc3289b420021526353bc3bcfba849"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 6749567,
|
||||||
|
"path": "experiments/phase4aa-apl-pn-scope/localization/APL-target-PN-to-KC.parquet",
|
||||||
|
"sha256": "310827739c293b633d6c392d2b59ced6820a0b39606fdb29ff263ce3f5b4847e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 472,
|
||||||
|
"path": "experiments/phase4aa-apl-pn-scope/external-resources/synaptic-partners/download-verification.json",
|
||||||
|
"sha256": "4fd796f88f05a08d5f7f3c3ff2c63c939f330e9acc4519a5272c8b3b97fcf4ac"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 9283041,
|
||||||
|
"path": "datasets/male-cns-v1.0/processed/neuron-only/neuron-index/unified-metadata.parquet",
|
||||||
|
"sha256": "922af16846a065c3dbfca7c11146b83ca217fcbd7392edc745f444a04eae8c63"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 204663632,
|
||||||
|
"path": "datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-weights.int64.npy",
|
||||||
|
"sha256": "c7ae101451dd19c47fd976bcfacbc52d67193a68ffa04c5b4d2e911cfd52d99b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 102331880,
|
||||||
|
"path": "datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-indices.int32.npy",
|
||||||
|
"sha256": "ce20f7433f78442c717ad2a7b5394cf4a3b109d990b4be0788040b7b0f4ed150"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bytes": 1333736,
|
||||||
|
"path": "datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-indptr.int64.npy",
|
||||||
|
"sha256": "fe43420f11e6242a11f8199ae7f097cab4b8a6db181d36f2a46b9e46670acbb4"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"launcher_sha256": "0b2f71365267886933ba5becb52f4123d3d4e95e9c5bc0cf19c9bf0563831625",
|
||||||
|
"model_source_edited": false,
|
||||||
|
"module_paths": [
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/deterministic-runtime-v2",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/credit-v3",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/timing-audit-v1",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/timing-credit-v1",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/timing-stability-v1",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/odor-timing-generalization-v1",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/csus-audit-v1",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/late-kc-audit-v1",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/dpm-hypothesis-v1",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/pn-feedback-audit-v1",
|
||||||
|
"/data/digital-drosophila/models/male-cns-lif/transmitter-audit-v1"
|
||||||
|
],
|
||||||
|
"only_fix": "Add explicit existing frozen dependency directories to module lookup",
|
||||||
|
"previous_attempt": "ModuleNotFoundError: phase4v before run-start and before simulation",
|
||||||
|
"protocol_parameters_changed": false
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"all_PN_KC_block.parquet": "07ea3fa9fe2a4e093cff38aba9aab4e7a018f32c108542fc773110f0a43a8293",
|
||||||
|
"calyx_PN_KC_contact_block.parquet": "0e2585cdb7d44b24f4579d90149f9bb7738718164036dde910be2d94a67370fc",
|
||||||
|
"whole_PN_output_block.parquet": "95f800944d01738e3d36da64a17c9bd37b8372fd8ba165bdcd31a94da0fdee29"
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
"before_analysis": true,
|
||||||
|
"config": {
|
||||||
|
"canonical": "datasets/male-cns-v1.0/processed/neuron-only",
|
||||||
|
"conditions": [
|
||||||
|
"frozen_reference",
|
||||||
|
"calyx_PN_KC_contact_block",
|
||||||
|
"all_PN_KC_block",
|
||||||
|
"whole_PN_output_block"
|
||||||
|
],
|
||||||
|
"event_prior": "experiments/phase4z-pn-feedback-audit",
|
||||||
|
"experiment": "experiments/phase4ab-terminal-scope",
|
||||||
|
"input_model": "models/male-cns-lif/csus-audit-v1",
|
||||||
|
"late_start_ms": 500,
|
||||||
|
"model": "models/male-cns-lif/terminal-scope-diagnostic-v1",
|
||||||
|
"no_candidate": true,
|
||||||
|
"odor_indices": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"phase": "4AB",
|
||||||
|
"prior_experiment": "experiments/phase4aa-apl-pn-scope",
|
||||||
|
"prior_model": "models/male-cns-lif/apl-pn-scope-audit-v1",
|
||||||
|
"repeat_odor_index": 0,
|
||||||
|
"roi_labels": [
|
||||||
|
"CA(L)",
|
||||||
|
"CA(R)"
|
||||||
|
],
|
||||||
|
"root": "/data/digital-drosophila",
|
||||||
|
"runtime": "models/male-cns-lif/deterministic-runtime-v2",
|
||||||
|
"seed": 131101,
|
||||||
|
"snapshot": "registry/snapshots/bootstrap-20260929",
|
||||||
|
"state_prior": "experiments/phase4y-dpm-hypothesis",
|
||||||
|
"target_KC": 82312,
|
||||||
|
"watched_VA6": 133666,
|
||||||
|
"workers": 4
|
||||||
|
},
|
||||||
|
"parent_commit": "d6843e675dec5ae38a06f2ba70d74836aea53ace",
|
||||||
|
"source_hashes": {
|
||||||
|
"PROTOCOL.md": "451b53b128eb0ad67acb81f060f3676794a68c98637dd2c0eddd137da509fccf",
|
||||||
|
"config.yaml": "e22088d9847504a50c0e684d2cee9420f484ab1ebef9d6057921062d8f785e73",
|
||||||
|
"diagnostic.py": "c8ec2ae6e72d35fedbd42acc6e6b5e7af2634d5b9805dc20e777b172c55d5aa4",
|
||||||
|
"scope.py": "8f5774496dcceaee1c2793a5308754cbd0864c4a38d507481071d988f9de424d",
|
||||||
|
"test_scope.py": "38a1c6e653ae97e77e5feda3ee8f2f8a3c366755bfbbd57ca1373b9b8f971bbb"
|
||||||
|
},
|
||||||
|
"timestamp_utc": "2026-09-29T16:14:53.622166+00:00"
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"repeat_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"requests": true,
|
||||||
|
"states": true,
|
||||||
|
"trace": true
|
||||||
|
},
|
||||||
|
"trial": "0-131101-all_PN_KC_block"
|
||||||
|
}
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"repeat_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"requests": true,
|
||||||
|
"states": true,
|
||||||
|
"trace": true
|
||||||
|
},
|
||||||
|
"trial": "0-131101-calyx_PN_KC_contact_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"prior_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"trace": true,
|
||||||
|
"watched_states": true
|
||||||
|
},
|
||||||
|
"repeat_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"requests": true,
|
||||||
|
"states": true,
|
||||||
|
"trace": true
|
||||||
|
},
|
||||||
|
"trial": "0-131101-frozen_reference"
|
||||||
|
}
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"repeat_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"requests": true,
|
||||||
|
"states": true,
|
||||||
|
"trace": true
|
||||||
|
},
|
||||||
|
"trial": "0-131101-whole_PN_output_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "1-131101-all_PN_KC_block"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "1-131101-calyx_PN_KC_contact_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"prior_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"trace": true,
|
||||||
|
"watched_states": true
|
||||||
|
},
|
||||||
|
"trial": "1-131101-frozen_reference"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "1-131101-whole_PN_output_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "2-131101-all_PN_KC_block"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "2-131101-calyx_PN_KC_contact_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"prior_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"trace": true,
|
||||||
|
"watched_states": true
|
||||||
|
},
|
||||||
|
"trial": "2-131101-frozen_reference"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "2-131101-whole_PN_output_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "3-131101-all_PN_KC_block"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "3-131101-calyx_PN_KC_contact_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"prior_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"trace": true,
|
||||||
|
"watched_states": true
|
||||||
|
},
|
||||||
|
"trial": "3-131101-frozen_reference"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "3-131101-whole_PN_output_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "4-131101-all_PN_KC_block"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "4-131101-calyx_PN_KC_contact_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"prior_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"trace": true,
|
||||||
|
"watched_states": true
|
||||||
|
},
|
||||||
|
"trial": "4-131101-frozen_reference"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "4-131101-whole_PN_output_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "5-131101-all_PN_KC_block"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "5-131101-calyx_PN_KC_contact_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"prior_exact": {
|
||||||
|
"counts": true,
|
||||||
|
"events": true,
|
||||||
|
"final_g": true,
|
||||||
|
"final_v": true,
|
||||||
|
"trace": true,
|
||||||
|
"watched_states": true
|
||||||
|
},
|
||||||
|
"trial": "5-131101-frozen_reference"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"declared_weight_scope_exact": true,
|
||||||
|
"trial": "5-131101-whole_PN_output_block"
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"original": {
|
||||||
|
"checked": 230239,
|
||||||
|
"exclusions": [
|
||||||
|
".cache",
|
||||||
|
".git",
|
||||||
|
".mypy_cache",
|
||||||
|
".pytest_cache",
|
||||||
|
".venv",
|
||||||
|
"__pycache__",
|
||||||
|
"node_modules",
|
||||||
|
"venv"
|
||||||
|
],
|
||||||
|
"meaning": "All original listed bytes checked; only newly named stage outputs are additions.",
|
||||||
|
"mismatches": [],
|
||||||
|
"new_stage_additions_allowed": true,
|
||||||
|
"pass": true,
|
||||||
|
"reference_sha256": "6f186112e6102f2f7969de7442fa7ee4432200a3678586cfc4e10c490b31bca4"
|
||||||
|
},
|
||||||
|
"prior_experiment": {
|
||||||
|
"checked": 68,
|
||||||
|
"checksums_sha256": "a69b2511689207b0d9ddbe2fabce3be71908f457bb898e3b685a213a796a272a",
|
||||||
|
"manifest_sha256": "6d75567af2a6c0993d4fc08e272814910c19fa9602811cfacd1ebc4ba76bc737",
|
||||||
|
"mismatches": [],
|
||||||
|
"pass": true
|
||||||
|
},
|
||||||
|
"prior_model": {
|
||||||
|
"checked": 12,
|
||||||
|
"checksums_sha256": "55dc418f2d62be04601af33cbd8789578447e6a2289d3a581dc713cbb7466a25",
|
||||||
|
"manifest_sha256": "9120685eb02dc2bd3b38d42b2ade1f38f6bbc2a1ec269fd4d555cead2d628277",
|
||||||
|
"mismatches": [],
|
||||||
|
"pass": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"oracle": "frozen deterministic-v2",
|
||||||
|
"original_v1_preserved": true,
|
||||||
|
"pass": true,
|
||||||
|
"trials": [
|
||||||
|
{
|
||||||
|
"exact": {
|
||||||
|
"counts": true,
|
||||||
|
"g": true,
|
||||||
|
"neuron_idx": true,
|
||||||
|
"step": true,
|
||||||
|
"v": true
|
||||||
|
},
|
||||||
|
"trial": "auditory-10hz",
|
||||||
|
"wall_seconds": 2.6707512350112665
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"exact": {
|
||||||
|
"counts": true,
|
||||||
|
"g": true,
|
||||||
|
"neuron_idx": true,
|
||||||
|
"step": true,
|
||||||
|
"v": true
|
||||||
|
},
|
||||||
|
"trial": "auditory-100hz",
|
||||||
|
"wall_seconds": 5.058842792001087
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"exact": {
|
||||||
|
"counts": true,
|
||||||
|
"g": true,
|
||||||
|
"neuron_idx": true,
|
||||||
|
"step": true,
|
||||||
|
"v": true
|
||||||
|
},
|
||||||
|
"trial": "olfactory-50hz",
|
||||||
|
"wall_seconds": 5.067613077990245
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"exact": {
|
||||||
|
"counts": true,
|
||||||
|
"g": true,
|
||||||
|
"neuron_idx": true,
|
||||||
|
"step": true,
|
||||||
|
"v": true
|
||||||
|
},
|
||||||
|
"trial": "mechanosensory-50hz",
|
||||||
|
"wall_seconds": 5.076028995012166
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"exact": {
|
||||||
|
"counts": true,
|
||||||
|
"g": true,
|
||||||
|
"neuron_idx": true,
|
||||||
|
"step": true,
|
||||||
|
"v": true
|
||||||
|
},
|
||||||
|
"trial": "gustatory-50hz",
|
||||||
|
"wall_seconds": 5.056191121999291
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"baseline_exact_neurons": 11,
|
||||||
|
"terminal_nonKC_arrivals_exact": true
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"original": {
|
||||||
|
"checked": 230239,
|
||||||
|
"exclusions": [
|
||||||
|
".cache",
|
||||||
|
".git",
|
||||||
|
".mypy_cache",
|
||||||
|
".pytest_cache",
|
||||||
|
".venv",
|
||||||
|
"__pycache__",
|
||||||
|
"node_modules",
|
||||||
|
"venv"
|
||||||
|
],
|
||||||
|
"meaning": "All original listed bytes checked; only newly named stage outputs are additions.",
|
||||||
|
"mismatches": [],
|
||||||
|
"new_stage_additions_allowed": true,
|
||||||
|
"pass": true,
|
||||||
|
"reference_sha256": "6f186112e6102f2f7969de7442fa7ee4432200a3678586cfc4e10c490b31bca4"
|
||||||
|
},
|
||||||
|
"prior_experiment": {
|
||||||
|
"checked": 68,
|
||||||
|
"checksums_sha256": "a69b2511689207b0d9ddbe2fabce3be71908f457bb898e3b685a213a796a272a",
|
||||||
|
"manifest_sha256": "6d75567af2a6c0993d4fc08e272814910c19fa9602811cfacd1ebc4ba76bc737",
|
||||||
|
"mismatches": [],
|
||||||
|
"pass": true
|
||||||
|
},
|
||||||
|
"prior_model": {
|
||||||
|
"checked": 12,
|
||||||
|
"checksums_sha256": "55dc418f2d62be04601af33cbd8789578447e6a2289d3a581dc713cbb7466a25",
|
||||||
|
"manifest_sha256": "9120685eb02dc2bd3b38d42b2ade1f38f6bbc2a1ec269fd4d555cead2d628277",
|
||||||
|
"mismatches": [],
|
||||||
|
"pass": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"APL_matrices": true,
|
||||||
|
"base": true,
|
||||||
|
"frozen_effective_weights": true,
|
||||||
|
"raw": true
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"ComfyUI_queues": [
|
||||||
|
{
|
||||||
|
"pending": 0,
|
||||||
|
"port": 8188,
|
||||||
|
"running": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pending": 0,
|
||||||
|
"port": 8189,
|
||||||
|
"running": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pending": 0,
|
||||||
|
"port": 8190,
|
||||||
|
"running": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"device": "NVIDIA GeForce RTX 4090",
|
||||||
|
"free_VRAM": 12494438400,
|
||||||
|
"timestamp_utc": "2026-09-29T16:16:57.370037+00:00",
|
||||||
|
"total_VRAM": 50864390144
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"finite": true,
|
||||||
|
"fuzz_cases": 10000,
|
||||||
|
"fuzz_seed": 41337,
|
||||||
|
"input_nonmutation": true,
|
||||||
|
"never_sign_flip_or_amplify": true,
|
||||||
|
"pass": true,
|
||||||
|
"source_sha256": "971136a667367a84cfc50ebc3fa73a749eddb8b8e1ca6931708ba67bfc12f0c1",
|
||||||
|
"unit_tests": 6,
|
||||||
|
"unittest_log": "test_duplicates_rejected (test_scope.ScopeTests) ... ok\ntest_existing_edge_only (test_scope.ScopeTests) ... ok\ntest_invalid_partition_rejected (test_scope.ScopeTests) ... ok\ntest_partial_and_full (test_scope.ScopeTests) ... ok\ntest_roi_and_side_not_guessed (test_scope.ScopeTests) ... ok\ntest_zero_identity_and_nonmutation (test_scope.ScopeTests) ... ok\n\n----------------------------------------------------------------------\nRan 6 tests in 0.017s\n\nOK\n",
|
||||||
|
"zero_identity_bitwise": true
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
condition,neuron_idx,arrival_unchanged,arrival_L1_difference,conditional_late_spikes,all_other_recorded_events_and_APL_fixed,whole_brain_causality_claim
|
||||||
|
frozen_reference,30,True,0.0,187,True,False
|
||||||
|
calyx_PN_KC_contact_block,30,True,0.0,187,True,False
|
||||||
|
all_PN_KC_block,30,True,0.0,187,True,False
|
||||||
|
whole_PN_output_block,30,False,2603.4250798225403,186,True,False
|
||||||
|
frozen_reference,179,True,0.0,164,True,False
|
||||||
|
calyx_PN_KC_contact_block,179,True,0.0,164,True,False
|
||||||
|
all_PN_KC_block,179,True,0.0,164,True,False
|
||||||
|
whole_PN_output_block,179,False,2433.4745279848576,159,True,False
|
||||||
|
frozen_reference,484,True,0.0,194,True,False
|
||||||
|
calyx_PN_KC_contact_block,484,True,0.0,194,True,False
|
||||||
|
all_PN_KC_block,484,True,0.0,194,True,False
|
||||||
|
whole_PN_output_block,484,False,2778.325125724077,193,True,False
|
||||||
|
frozen_reference,1197,True,0.0,228,True,False
|
||||||
|
calyx_PN_KC_contact_block,1197,True,0.0,228,True,False
|
||||||
|
all_PN_KC_block,1197,True,0.0,228,True,False
|
||||||
|
whole_PN_output_block,1197,False,233827.83066305518,227,True,False
|
||||||
|
frozen_reference,1381,True,0.0,228,True,False
|
||||||
|
calyx_PN_KC_contact_block,1381,True,0.0,228,True,False
|
||||||
|
all_PN_KC_block,1381,True,0.0,228,True,False
|
||||||
|
whole_PN_output_block,1381,False,263067.20497968793,227,True,False
|
||||||
|
frozen_reference,1511,True,0.0,228,True,False
|
||||||
|
calyx_PN_KC_contact_block,1511,True,0.0,228,True,False
|
||||||
|
all_PN_KC_block,1511,True,0.0,228,True,False
|
||||||
|
whole_PN_output_block,1511,False,247104.5574080348,227,True,False
|
||||||
|
frozen_reference,1644,True,0.0,218,True,False
|
||||||
|
calyx_PN_KC_contact_block,1644,True,0.0,218,True,False
|
||||||
|
all_PN_KC_block,1644,True,0.0,218,True,False
|
||||||
|
whole_PN_output_block,1644,False,27596.52651181817,216,True,False
|
||||||
|
frozen_reference,6065,True,0.0,164,True,False
|
||||||
|
calyx_PN_KC_contact_block,6065,True,0.0,164,True,False
|
||||||
|
all_PN_KC_block,6065,True,0.0,164,True,False
|
||||||
|
whole_PN_output_block,6065,False,6536.750062584877,152,True,False
|
||||||
|
frozen_reference,6842,True,0.0,171,True,False
|
||||||
|
calyx_PN_KC_contact_block,6842,True,0.0,171,True,False
|
||||||
|
all_PN_KC_block,6842,True,0.0,171,True,False
|
||||||
|
whole_PN_output_block,6842,False,5408.699882417917,162,True,False
|
||||||
|
frozen_reference,82312,True,0.0,60,True,False
|
||||||
|
calyx_PN_KC_contact_block,82312,False,13211.275120049715,0,True,False
|
||||||
|
all_PN_KC_block,82312,False,13676.575129687786,0,True,False
|
||||||
|
whole_PN_output_block,82312,False,13676.575129687786,0,True,False
|
||||||
|
frozen_reference,133666,True,0.0,213,True,False
|
||||||
|
calyx_PN_KC_contact_block,133666,True,0.0,213,True,False
|
||||||
|
all_PN_KC_block,133666,True,0.0,213,True,False
|
||||||
|
whole_PN_output_block,133666,False,14746.32684147358,210,True,False
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"experiments/phase4ab-terminal-scope": {
|
||||||
|
"checked": 199,
|
||||||
|
"checksums_sha256": "d83926a3055d9f9ca471ceba328076d7ceba883f267468750914080733e95e31",
|
||||||
|
"manifest_sha256": "cb3723f9dae29d4889489ae39f40293c927f4f9e532551e2c4d5214bf0a70140",
|
||||||
|
"mismatches": [],
|
||||||
|
"pass": true
|
||||||
|
},
|
||||||
|
"models/male-cns-lif/terminal-scope-diagnostic-v1": {
|
||||||
|
"checked": 11,
|
||||||
|
"checksums_sha256": "92a03195cb41863027fd0397ad3811248354a5d3f2e91ffa2c297eba62dc2821",
|
||||||
|
"manifest_sha256": "5cea0035a95345825b73385c6e3056244c2a614d10a6fa6742487a331d8f0f3e",
|
||||||
|
"mismatches": [],
|
||||||
|
"pass": true
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user