单 Agent 运行
20261003-172000-t3-gata4-chain-12h
| 运行?一次完整的自动搜索或 Agent 会话,有自己的锁定配置和证据包。 | 20261003-172000-t3-gata4-chain-12h |
|---|---|
| 方式?自动搜索:ERA 式搜索树,多个节点不断改进程序;单 Agent:一个 Agent 会话从头做到尾。 | 单 Agent |
| 框架 / 模型 | opencode / alibaba-token-plan-cn/qwen3.8-max |
| 题目?比赛的哪道题、哪个阶段,例如 T1:val 是第 1 题的验证阶段。 | T3:gata4 |
| 状态 | 已结束 |
| 后台服务?在 Spark 上以 systemd 用户服务运行的程序,例如每次运行和这个看板本身。 | vec-t3-gata4-chain-12h-20261003-172000 |
| 开始 / 结束 | 10-03 17:20 / 10-03 17:45 |
| 预算 | 12 小时,最多 1000 轮 |
| 启动时代码有未提交改动?启动时代码仓库有未提交的修改,这次运行不能完全按 git 版本复现。 | 否 |
| 最终文件 | T3__gata4.h5ad |
最终选择说明 SELECTION.md
SELECTION — run 20261003-172000-t3-gata4-chain-12h
本 run 只做头部 boards 列出的 T3:gata4。
proxy_score T3:gata4 86.9514
T3:gata4 最终选择
方法:komix(方法卡 v2 主线)+ zero-gene 部件(对被敲基因 Gata4)。
提交文件:final/T3__gata4.h5ad(7,449 细胞 = manifest max_cells,500 基因 panel 顺序与发布一致,含 obsm["spatial_3D"],verify_submission.py 通过)。
复现命令:
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.55 --k 0.65 --seed 0 --max-cells 7449 --zero-gene Gata4输出构成(uns["t3_komix"]):n=7449;n_wt=4842(65.0%,WT E8.75 真实细胞,按细胞类型分层无放回抽取);n_ko=2607(35.0%,训练敲除样本 Mab21l2 KO E9.5 的真实细胞,组成按 p^0.55 压缩后分层抽取,细胞类型名经 celltype_synonyms.json 映射);每个细胞保留自己的表达与坐标;Gata4 列在全部输出细胞中置零(只产生零,不稠密化)。
非零比例检查:输出非零比例 / WT 输入非零比例 = 0.947(脚本对照 panel 化 WT 输入;若对照全量 WT 文件为 1.00),在硬检查区间 [0.8, 1.25] 内。
替代评测记录(先于 final/ 写入,全部在 notes/changelogs/experiments.tsv)
| 记录 | 输入 | 本地分(50–100 尺) | 性质 |
|---|---|---|---|
| wt_identity(地板) | WT E9.5 原样 | 50.00 | 地板锚定,流程验证 |
| komix_zerogene_proxytwin(所选方法的替代评测孪生) | 载体 WT E9.5 + Mab21l2 KO 半 A(--ko-exclude-half B),--zero-gene Mab21l2,β=0.55 k=0.65 seed=0 | 86.9514 | T3:gata4/proxy_mab21l2 本地尺子,不是官网分估计;即 final/proxy/T3__gata4.h5ad |
| komix_nozero_proxytwin(部件对照) | 同上,不加 zero-gene | 86.7545 | 仅记录,不作选择依据 |
| komix_zMab_lgo875(lgo875 尺子) | 载体 WT E8.75 + Mab21l2 KO 半 A,--zero-gene Mab21l2 | 87.7734 | 按方法卡记录一次作参考;不调参、不选择 |
final/proxy/T3__gata4.h5ad = 所选方法在替代评测输入上的预测(替代评测目标为 Mab21l2 KO,故载体换成同阶段 WT E9.5、zero-gene 换成 Mab21l2;加 --ko-exclude-half B,输出不含真值半的细胞,避免循环论证)。复现:
python scripts/t3_komix.py \
--wt data/raw/official/t3/WT_E9.5.h5ad \
--ko data/raw/official/t3/E9.5_mab21l2_ko.h5ad \
--out final/proxy/T3__gata4.h5ad \
--beta 0.55 --k 0.65 --seed 0 --max-cells 7449 \
--zero-gene Mab21l2 --ko-exclude-half B
python scripts/score_proxy.py --board T3:gata4 --pred final/proxy/T3__gata4.h5ad --name komix_zerogene_proxytwin为什么选它(机制理由;Mab21l2 尺子分不作为选择依据)
按任务书要求,T3 的选择基于机制上站得住 + 通过非零比例检查,不基于本地尺子分。
- komix 主线(方法卡 v2):评分只看相对匹配 WT 的变化;方向来自官方训练数据中真实敲除细胞相对 WT 的实测差异,k=0.65 是幅度旋钮(severity_slope 是唯一幅度项),β=0.55 压缩单胚胎取材带来的组成偏差。β、k 按方法卡规定 run 内不选,直接采用卡片起点值;seed=0(输出对 seed 确定)。拼接真实细胞不平均、不位移、不插值,天然不破坏零结构。
- 启用 zero-gene 部件(Gata4 置零)的机制依据:被敲基因不产生转录本。官方训练数据直接证实本数据集的敲除样本符合此约定——Mab21l2 在训练敲除样本中表达被清除(全样本均值 0.976 → 0.008,非零细胞比例 0.187 → 0.002,且在全部 15 个细胞类型中一致近零)。由此可预期保留基因型的真值中 Gata4 近零:Gata4 在 WT E8.75 的均值 0.918(非零比例 0.19),远超响应基因阈值 |dt| ≥ 0.25,几乎必为真值下调响应基因。置零使 dp(Gata4) = −pb(wt)(Gata4),方向确定正确、幅度接近全清除情形下的真值,是对保留基因型唯一近确定可知的一条响应。
- 下行风险有界:只影响 500 个 panel 基因中的 1 个。de_score / de_direction 只看排序与符号;severity_slope 只在真值响应基因上回归——若 Gata4 因某种等位基因保留部分转录本,dp 幅度偏大但符号仍对;若 Gata4 竟不在真值响应集内,则 severity_slope 完全不受影响,de_score 仅损失底部 n_dn 名单中一个边缘槽位。置零只产生零,密度检查 0.947 通过。
- 不做的事(方法卡禁做清单):不做全局位移迁移、不做文献/共表达驱动的逐基因编辑、不稠密化、不读取或使用任何保留基因型(Gata4 KO、β-catenin KO 及表型相似扰动)的数据或由其得出的信息。lgo / lgo10 尺子已知与官网反序,未看;lgo875 只记录一次(87.7734),未用于调参或选择。
披露
- 训练敲除样本披露(方法卡要求):
final/T3__gata4.h5ad的输出含训练敲除样本(Mab21l2 KO E9.5,官方训练数据)的真实细胞,比例 n_ko/n = 2607/7449 = 35.0%(uns["t3_komix"]:n_ko、n、ko_fraction);这些细胞保留其原始表达与spatial_3D坐标。 - 外部数据披露:无。本 run 只读取
data/raw/official/t3/(WT E8.75、WT E9.5、E9.5 Mab21l2 KO,均为官方训练数据)与data/reference/panels/;未使用任何本地外部数据、预训练模型或网络(run 默认不开网络)。
其他说明
- 输出
obs["celltype"]为方法卡 komix 的设计输出(用于分组抽样与标签,未解析名保留原名);本地格式检查(verify_submission.py、check_format)通过,主办方的排名指标不使用细胞类型标签,主办方将用自己的冻结分类器统一打标签。 - 细胞数取 manifest
max_cells= 7449(两池合计远超上限,分层抽样到上限)。 - 提交文件不加
--ko-exclude-half(该参数仅用于本地尺子记录,避免循环论证)。
出处?这次运行用的代码、配置、数据和模型的指纹,靠它们可以原样找回并复现。
| 代码版本?运行锁定时代码仓库的 git 提交号;带 +dirty 表示当时有未提交的改动。 | bc1f100a4d3d9e4d4e1ee7eb6f5c2826c75710db |
|---|---|
| 版本标签?可提交运行在锁定的提交上打的 git 标签 run/<运行编号>,以后能原样找回代码。 | — |
| 配置文件 | agent/configs/experiments/chain/t3_agent_12h.yaml 配置指纹 778e0c1a45586cc2 |
| 锁定指纹?启动时把配置、代码、提示词等全部锁定后算出的总指纹。 | c9c5ba980d3cd969 锁定格式 v4 |
| 运行专用代码副本?启动时为这次运行单独检出的一份只读代码;运行全程只读它,不受主副本更新影响。 | 没有(这次运行早于运行专用代码副本功能,读的是启动时的代码副本) |
| 大模型?每个角色用的大模型;括号里是接口实际报告的模型名。 | Agent:alibaba-token-plan-cn/qwen3.8-max |
| 运行目录 | /home/spark-longxinyang/vec/runs/formal/20261003-172000-t3-gata4-chain-12h 主机 spark-ad3f |
| 提交账本?notes/changelogs/submissions.tsv:每次上传官网的记录和返回的官网分。 | 这次运行没有提交过官网 |
| 迭代报告?运行结束后自动生成的中文复盘报告(notes/reports/runs)。 | 还没有迭代报告 |