Virtual Embryo Challenge更新于 10-03 18:47(北京时间) / 每 5 分钟更新

← 返回总览

单 Agent 运行

20261003-155754-t3-gata4-komix-c

运行?一次完整的自动搜索或 Agent 会话,有自己的锁定配置和证据包。20261003-155754-t3-gata4-komix-c
方式?自动搜索:ERA 式搜索树,多个节点不断改进程序;单 Agent:一个 Agent 会话从头做到尾。单 Agent
框架 / 模型opencode / alibaba-token-plan-cn/qwen3.8-max
题目?比赛的哪道题、哪个阶段,例如 T1:val 是第 1 题的验证阶段。T3:gata4
状态已结束
后台服务?在 Spark 上以 systemd 用户服务运行的程序,例如每次运行和这个看板本身。vec-t3-gata4-komix-c-20261003-155754
开始 / 结束10-03 15:57 / 10-03 16:37
预算4 小时,最多 400 轮
启动时代码有未提交改动?启动时代码仓库有未提交的修改,这次运行不能完全按 git 版本复现。否
最终文件T3__gata4.h5ad

最终选择说明 SELECTION.md

T3:gata4 — 终选说明(run 20261003-155754-t3-gata4-komix-c)

本 run 只做头部 boards 里的 T3:gata4。

选定的提交

项值
文件final/T3__gata4.h5ad
方法komix(方法卡 v2 主线):观察到的训练敲除的真实细胞 + 本榜阶段匹配 WT 的真实细胞
参数beta=0.70(本 run 变体 c 起点)、k=0.75、seed=0、max_cells=7449、zero_gene=off
命令python scripts/t3_komix.py --wt data/raw/official/t3/WT_E8.75.h5ad --ko data/raw/official/t3/E9.5_mab21l2_ko.h5ad --out final/T3__gata4.h5ad --beta 0.70 --k 0.75 --seed 0 --max-cells 7449
细胞数7449 = 5587 WT E8.75(75.0%)+ 1862 Mab21l2 KO E9.5(25.0%),在 manifest [1000, 7449] 内
格式python scripts/verify_submission.py --input final/T3__gata4.h5ad --board T3:gata4 → SUCCESS(500 基因顺序一致、obsm["spatial_3D"] 有限、无 NaN)
非零比例输出 0.10173 / WT 输入 0.10498 = 0.969,在硬检查区间 [0.8, 1.25] 内(未稠密化:komix 只拼接真实细胞)

输出含训练敲除样本(Mab21l2 KO E9.5,官方训练数据)的真实细胞,占 ko_fraction = 0.24997(1862 / 7449); 这些细胞保留自己的表达与自己的 spatial_3D。同一份信息写在文件的 uns["t3_komix"] (n、n_wt、n_ko、ko_fraction、params、disclosure)。

为什么选它

  1. 本 run 的任务就是测这个点。 komix 有三个 run 变体,只在起点 (beta, k) 上不同;本 run 是变体 c (0.70, 0.75)(组成压得更少、WT 更多、变化更小)。主线参数按任务书原样使用,run 内没有改动, 以免污染跨 run 的 beta/k 比较。
  2. T3 没有可用的本地目标尺子,所以按机制选。 lgo(参考 = 训练样本同阶段 WT)已知与官网完全反序; lgo875 只有三个点、且与打分服务视图机制相同,不是独立证据。方法卡明确要求:不用本地尺子分选择。 终选依据是"机制上站得住 + 通过非零比例检查"。
  3. 机制上,混合真实敲除细胞提供方向,k 提供幅度。 官网五项里三项响应指标只看 dp 相对匹配 WT 的 排序与符号,severity_slope 是唯一看幅度的项且双向扣分。komix 的 dp 全部来自真实细胞的拼接, 零结构原样保留(因此 variogram 不会被稠密化破坏)。只用训练数据做的诊断(out/logs/komix_diag.txt):
    • cos(dp, WT E8.75→E9.5 发育轴) = 0.824,dp ≈ 0.19 × dev:变化以"发育前进"为主,幅度约为 一个完整 E8.75→E9.5 位移的 1/5(与 ko_fraction = 0.25 一致)。
    • |dp| ≥ 0.25(真值响应基因的幅度门槛)的基因有 21 个,std(dp) = 0.103, 远高于"无变化保护"阈值(1% × std(dt)),不会触发 DE 两项记 0 的保护。
    • dp 的前 15 上调基因是 Meg3 H19 Myl7 Ttn Col3a1 Col1a1 Tnc Ankrd1 Hand2 Myl4 …, 前 15 下调是 Cadm1 Gja1 Crabp1 Ezr Irx5 Smoc1 …:即心脏成熟/ ECM 上、神经与早期模式基因下, 与"沿 E8.75 → 更晚阶段方向走"一致。
已评估但否决的变体
  • --zero-gene Gata4(v1 self_zero 部件)。 诊断显示主线输出里 Gata4 的 dp = +0.092 (敲除池来自 E9.5,其 Gata4 比 E8.75 高,pb_wt = 0.918、pb_pred = 1.010), 对功能丧失敲除而言这个符号可疑。但按五项指标的公式估算,置零只动 500 个基因里的 1 个: de_score 约 +1 次命中(≈ +0.2 分)、de_direction 秩相关约 +0.01(≈ +0.14 分)、 severity_slope 的双向扣分使幅度项符号不定,合计落在 ±0.5 分的噪声内; 同时它会破坏本 run 与另两个 run"只差 beta/k"的设计。因此保持主线默认(关)。 对照文件已生成并通过格式与非零比例检查(out/komix_b070_k075_s0_zeroGata4.h5ad, density_ratio 0.965),未进 final/。
  • beta/k 邻域搜索。 任务书与方法卡都禁止 run 内用本地尺子选;没有其他可检验的依据。未做。
  • 全局位移迁移、逐基因编辑(文献/共表达/调控网络)、任何稠密化。 方法卡"禁做"清单,未使用。
  • 载体换成 WT E9.5 或混合两个 WT 阶段。 本榜的参考是 E8.75 的匹配 WT,换载体会额外注入与敲除无关的 发育位移。未做。

替代评测记录(只记录,不是选择依据)

final/proxy/T3__gata4.h5ad = 同一组参数(beta=0.70 k=0.75 seed=0 max_cells=7449)加 --ko-exclude-half B: 本地尺子的真值是训练敲除样本 split_half(seed=0) 的第二半,不排除就等于把真值细胞交上去,分数没有意义。 该文件同样是 7449 个细胞(5587 WT + 1862 敲除,敲除细胞全部来自第一半),density_ratio 0.966, verify_submission.py 通过。提交文件不加这个参数。

尺子分数说明
lgo(= score_proxy.py --board T3:gata4,参考 WT E9.5,真值 = Mab21l2 KO split-half B)63.98floor(wt_identity) 50.00、ceiling(split_half) 100.00;分组 response_genes 57.3 / direction 62.7 / magnitude 94.5 / cell_state 37.5;指标 de_score 0.2429、de_direction 0.4031、severity_slope −0.3966、mmd_u 0.0278、variogram 0.0308。已知与官网反序,不是官网分的估计。
lgo875 变体(参考 = WT E8.75,同一真值)85.20(记录)记录一次作参考,未调参、未用于选择;见下。

lgo875(out/logs/lgo875_record.log,anchors 在 out/anchors_lgo875/T3_lgo875.json, floor 50.00 / ceiling 100.00):proxy_skill 85.20,分组 response_genes 0.929 / direction 0.957 / magnitude 0.828 / cell_state 0.636;指标 de_score 0.9032、de_direction 0.9529、 severity_slope −1.4320(即 dp ≈ 0.24 × dt)、mmd_u 0.0278、variogram 0.0308。 这把尺子的真值 = Mab21l2 KO E9.5 的第二半、参考 = WT E8.75,所以它的 dt 里含完整的 E8.75→E9.5 发育位移,它奖励的正是"沿发育方向前进";本榜的 dt 是同阶段的敲除效应,两者不是一回事。 按方法卡:只有三个点、与打分服务视图机制相同,不是独立证据,不作为选择依据。

proxy_score T3:gata4 63.98

合规

  • 只读 data/raw/official/t3/{WT_E8.75,WT_E9.5,E9.5_mab21l2_ko}.h5ad 与 data/reference/panels/;未修改它们。
  • 未使用任何保留基因型的数据或由其导出的信息(Gata4 敲除、β-catenin 敲除、任何等位基因或表型相似的扰动), 也未使用任何禁用时间窗内的外部数据。
  • 输出里的 obs["celltype"] 是 komix 程序的规范输出(方法卡 v2:类型同义词表用于分组抽样与输出标签)。 T3 的排名指标不使用细胞类型标签,obs_required 为空,verify_submission.py 通过。
  • 文件大小 3.5 MB(< 1200 MB),无 NaN。

外部数据披露

无。

出处?这次运行用的代码、配置、数据和模型的指纹,靠它们可以原样找回并复现。

代码版本?运行锁定时代码仓库的 git 提交号;带 +dirty 表示当时有未提交的改动。bc1f100a4d3d9e4d4e1ee7eb6f5c2826c75710db
版本标签?可提交运行在锁定的提交上打的 git 标签 run/<运行编号>,以后能原样找回代码。—
配置文件agent/configs/experiments/g24_t2_t3/t3_komix_c.yaml
配置指纹 f02d79c39a9b48bc
锁定指纹?启动时把配置、代码、提示词等全部锁定后算出的总指纹。7c1675b4cd8e6808 锁定格式 v4
运行专用代码副本?启动时为这次运行单独检出的一份只读代码;运行全程只读它,不受主副本更新影响。没有(这次运行早于运行专用代码副本功能,读的是启动时的代码副本)
大模型?每个角色用的大模型;括号里是接口实际报告的模型名。Agent:alibaba-token-plan-cn/qwen3.8-max
运行目录/home/spark-longxinyang/vec/runs/formal/20261003-155754-t3-gata4-komix-c 主机 spark-ad3f
提交账本?notes/changelogs/submissions.tsv:每次上传官网的记录和返回的官网分。这次运行没有提交过官网
迭代报告?运行结束后自动生成的中文复盘报告(notes/reports/runs)。还没有迭代报告