Files
dpb/doc/桃育种系统规划对照总表.md
T
34047007@qq.com b95053c52c init: 初始化 dpb 桃育种系统代码库
前后端 + 后端 FastAPI 全量源码、部署脚本与文档。
2026-08-06 00:17:49 +08:00

66 KiB
Raw Blame History

桃育种系统 · 规划对照总表

版本2026-07-29 新增
定位:统一三份文档(业务功能规划报告 / 分层路线图 v1.1 / 模块扩展需求规格 v2.11)的模块级映射,消除口头"指回§3/§4"。
状态约定 已落地(基础字段) 待建(规划已定,待生成器落地) 待灌(数据) | — 引擎/端点(不建表)。2026-08-04 追加:① 统计引擎两轮 P0 已代码落地(G×E + 性状方向标注);② 花粉档案 §3.19 落地(bre_pollen + 授粉窗口校验);③ 选择指数升级为无性系级聚合(决策正确性,可靠加权聚合 + 自株退化 + 系级决选);④ 配合力 GCA/SCA 支持交配设计 design_type(统计严谨:完全双列/部分双列/line×tester(NCII)/NCIIIcombining.solve 按设计分支双因素模型 + 运行按设计过滤组合);⑤ 统计严谨·MLOps 复现性(① Smith-Hazel 遗传相关改 Calo 可靠性校正 r_g=r_EBV/√(rel_i·rel_j);② PA 落库 pa=√reliability + 批次 accuracy 真 PA;③ MLOps 溯源 data_version/input_hash/engine_version(同数据重跑哈希一致、改观测必变);④ germplasm_id 填充(亲本级 EBV 查询可用);⑤ 砧木字典扩列 矮化类/砧穗亲和性;⑥ 空间竞争协变量 covariate=competitionChebyshev 邻域株数,无坐标显式报错));⑥ 组合得失漏斗 v_combination_funnel(按组合汇总 花→果→种→苗→定植→树→入选 六级派生指标——结实率/出苗率/选择强度滚到组合层,配合力第一手证据,只读端点可查);⑦ 分子育种「建数据能力」(§3.7 四表落地:bre_marker / bre_genotyping_dataset / bre_genotype_sampleweld 补 sample_name/ bre_genotype_call,全量 CRUD + Excel 导入导出 + VCF 导入marker/sample 自动建号、GT 编码、幂等)+ DNA 指纹防错(无性系混杂检测,同源不一致/异源一致两类标记));⑧ 精修项四连发(① DUS/品种保护「数据能力(三表)」 bre_dus_descriptor/test/observation + UPOV TG/53 桃描述符种子 15 条 + 菜单 900230 真实页与 G 段按钮 900800-900808;② stage 感知 bre_trait.stage(童期/成株)驱动 BLUP/选择指数/决策预览的过滤与警示 + 批次 stage 落库;③ k-fold 交叉验证外部验证 ABLUP+GXEBLUP 双支持(sire 家系分层留出、逐折容错,bre_cv_result/fold 落库,MLOps 溯源复用);④ 按 site EBV 公平性报告 site 系统性偏差 deviation/flagged + 排名一致性 Spearman + G×E 模式);⑨ 六项能力完善(① MT-BLUP 遗传相关——成对双性状 REMLmtblup.solve_bivariatey 堆叠 Var(u)=G0⊗AVa/Ve 取单性状 REML、仅对 ρ 黄金分割求极大精确 REML),run_genetic_corr 逐对 bivariate 组装 G0 + Higham 半正定投影,落 bre_genetic_corr_resultjob_type=GENCORR),Smith-Hazel 增 g_method="mtblup"(单对不收敛回退 Calo+warning、G 非正定特征值截断、g_source 落库可审计);② GBLUP/ssGBLUP 引擎——genomic.pyVanRaden G method1/2 + MAF 过滤 + blend 岭;solve_gblup 仅基因型株、solve_ssgblup 单步法 H⁻¹=A⁻¹+0,0],[0,G⁻¹−A22⁻¹V 块用 H 协方差run_gblup 样本 tree 直连/名称兜底、未映射+多等位跳过+warning,落 PredictionModel(GBLUP/ssGBLUP)+EBV 行;③ DUS 特异性统计检验——QN LSDt_crit 由 fdist.f_icdf 二分反解 F(1,df)+ PQ/QL 状态众数、必测描述符驱动建议、参照=同 trial_study 自动 + 显式覆盖、落 analysis_json + conclusion 自动建议;④ AMMI/Finlay-Wilkinson 稳定性——FW 环境指数回归 b/R²/se_b/flag_stable(完美拟合 b≈1 判稳)、AMMI 残差 SVD→IPC/ASV/ecovalence、run_stability site/year 两维、格子 <2×2→409,落 bre_stability_result;⑤ MLOps 重训+版本回滚——bre_prediction.is_active 版本链(无 active 时首批 active)、model/drift 输入哈希漂移检测(轻量 _gather_digest_inputs)、model/retrain 漂移才重训+active 转移、model/activate 回滚原语;⑥ BLUP stage 拆分——bre_trait_observation.stage 观测级发育阶段、run_ablup(stage) 按 coalesce(obs.stage,trait.stage) 过滤+model_name _{stage} 后缀+批次 stage 落库、未指定但有分歧→note 警示);⑩ 田间试验精度补强·砧木×接穗随机互作(G×R)——rootstock 由固定哑变量升级为第三随机效应槽run_ablup(gxr=True) → method=GXRBLUP/job_type=GXR,按 (基因型,砧木) 分组建 Z₂ 随机互作、克隆坍缩系谱与 G×E 共享、rootstock 强制移出固定效应防共线、不可辨识门禁(同基因型无跨砧木/单元内无重复/残差 df<1)→409、σ²gxr/gxr_ratio/n_cross_rootstock 落批次 noteZ₂ 单槽位 → G×E/G×R 互斥(双开 409 + 前端互斥 watcher);求解器 _solve_gxe 加 factor_label/factor_nameG×E 警告文案逐字节不变、G×R 显「砧木」)、ENGINE_VERSION 1.2.0G×E tab 加 G×R 复选框、批次表同显 σ²gxr);⑪ 基因组选择(GS)实证严谨性·GBLUP/ssGBLUP 专用 k-fold 交叉验证——run_cvdataset_id/method/maf_minmethod=KFCV/GBLUP·KFCV/ssGBLUP),genomic.kfold_cv_genomic 掩蔽留出 GEBV vs 表型实证 pearson/RMSEG/H/Hinv 只建一次、固定种子随机分层——GS 同世代样本无家系树,区别于 ABLUP 的 sire 家系留出)、_gather_gblup_inputs 提取(run_gblup↔GS CV 复用)、_build_h 缺失基因型补 base、ENGINE_VERSION 1.1.0、DATA_VERSION v2.11SSR 多等位 dummy 编码留待后续);⑫ 现代桃育种领域覆盖·S-等位基因交配兼容性 + 抗病/需冷量性状字典(① bre_germplasm.s_allelesString32Sf=自交亲和型)+ cross_combination create/update 兼容校验——任亲本含 Sf→放行、共享 2 个 S 等位→409「配了不结」硬门禁、共享 1 个→out.s_compat 半兼容警示;②③ bre_trait 种子 5 条 numeric(细菌性穿孔病/褐腐病/白粉病 0-5 级病情指数 + 需冷量 h + 需热量 GDD,category「抗病性」「生态适应性」,into_ebv=1、direction=asc 进选种目标——统计引擎仅消费 numeric);④ MAS/QTL/GWAS 闭环GWAS 引擎 GLM+PC:SVD 群体结构校正 + 逐标记单标记回归 + Bonferroni/BH-FDR + QTL 区间合并,纯 numpy 复用 fdist 零新依赖;bre_gwas_result/bre_gwas_snp/bre_qtl/bre_mas_panel/bre_mas_panel_marker 五新表;服务端 gwas/run|list|{id} + qtl CRUD + mas-panel CRUD(选标记 favorable_dose/direction/effect);decision_preview 加 marker 条件——童期幼苗无表型/无 EBV 也可被标记辅助选入;前端 900214 GWAS/QTL 页翻转(Manhattan/QQ 裸 echarts + 运行对话框 + 三 tab);e2e 7 段全过 + GBLUP/ssGBLUP 回归零回归,2026-08-04);⑭ 九缺口补齐(2026-08-04,用户重扫 12 项缺口剔除 A1/A4 余 9 项拍板全做,三批独立 e2e + 回归)——批1 经典侧计算端点(纯计算不建表):数据质量 POST /statistics/data-quality(缺失率/CV + IQR + MAD 稳健 z-score 双法异常标记)+ 遗传增益 POST /statistics/genetic-gain(ΔG=k·r_g·σ_Ak 经 Acklam 有理近似 Φ⁻¹ 纯 numpy 零 scipy+ 主动选配 POST /statistics/mating-recommend(S-等位硬过滤 + 亲缘 A 惩罚 score=w_ebv·mid_parent_EBVw_kin·max(0,rthreshold),不落库);批2 分子侧严谨性:EMMAX 混合模型 GWASgwas._emmax:零模型方差分量复用 genomic._profile_solve + eigh 对角化 K→V⁻¹ + 逐标记 GLS t²→fdistmethod=emmaxrun_gwas 后处理抽共享函数 GLM 逐字节不变)+ SSR 多等位虚拟编码VCF 按 ALT 数定 ssr/snp、_allelic_from_gt 每等位一列、build_g_matrix 多等位 VanRaden 推广)+ QTL×E 环境互作POST /statistics/gwas-qtl-x-e 分环境 GWAS 合并 stable/env-specific/异号 G×QTL 警示,不建表)+ MAS 面板语义bre_mas_panel_marker.mode/favorable_allele/haplotype_group 三列 + _mas_hit_map additive/dominance/recessive/allele/haplotype 五语义);批3 求解器核心:AR1×AR1 空间协方差blup.solve_spatialeN(0,σ²e·R)、R=AR1(ρ)⊗AR1(ρ) R⁻¹ 纯 numpy eigh、REML 对 (h²,ρ) 坐标上升黄金搜索、run_ablup(spatial=True)→method=AR1×AR1、与 G×E/G×R 互斥、缺坐标 409)+ 稀疏 A⁻¹+共轭梯度_build_ainv_sparse COO + _cg_solve、n>N_SPARSE(1000) 阈值分派 solver=sparse-cg、Hutchinson k=100 估 PEV 对角 reliability 近似、稠密路径逐字节不变)。_DATA_VERSION v2.13、blup 1.3.0 / genomic 1.2.0 / gwas 1.1.0。详见 桃育种系统统计引擎实施记录.md);⑮ 十二项真缺口补齐(2026-08-05,用户全量现状盘点收敛 12 件真缺口、剔除过时「待建」标记,拍板只补这 12 件,分三批独立 e2e + 全量回归零回归)——批1 引擎三件(solver 扩展独立路径):ssGWASgwas._ssgwasbuild_g_matrix 岭保正定构 G → solve_gblup 全样本 GEBV û → Wang et al. 单步 GWAS MEM 对角近似反推标记效应 ê_j=(M_j'Z'G⁻¹û)/(2Σp_j(1p_j))、Wald t=ê/SE → fdist,共享 _finalize/_bh_qvalues/_cluster 后处理,method=ssgwas 透传+前端下拉,gwas 1.2.0+ 全 MT-BLUP solve_multim 性状 y 堆叠 Var(u)=G0⊗A、EM-REML 迭代 G0+ve 单性状初始+特征值截断/Higham 投影保正定、max_iter 兜底,输出 G0 全元素+r_g 矩阵+n_iter/converged/warningrun_genetic_corr(full_mtblup=True) 一次 m 性状给完整 G0,逐对 bivariate 保活,mtblup 1.1.0+ AR1×AR1 双参 ρ anisoR_ij=ρ_row^|Δrow|·ρ_col^|Δcol|、ρ_row/ρ_col 交替坐标上升,run_ablup(spatial_aniso=True) → method=AR1×AR1(aniso)、note 落 rho_row/rho_colaniso=False 与 v1 逐字节一致blup 1.4.0);批2 模块四件(标准 CRUD 五件套+前端+菜单翻转+文案清理):field_operation 农事操作 900051op_type 字典施肥/喷药/修剪/灌溉/疏果/套袋/采收 bre_dict 灌入)+ observation 通用观测 900050EAV plot 级通用录入、obs_type numeric/text/date+ breeding_report 育种报告 900075CRUD + POST /report/generate 聚合 bre_prediction/bre_stability_result/bre_cv_result 结构化报告)+ analysis_dataset 分析数据集 900070(新表 bre_analysis_dataset jsonb×3 + status,「查看性状值」跳 statistics trait-values 复用既有视图);批3 底座五件:审计切面base_crud 三写注入 CREATE/UPDATE 字段级 diff/DELETE + 批量导入仅汇总 IMPORT 一条 + GET /bre/audit/list+ 统一编号服务app/utils/number_gen.py NumberGenService + bre_sequence + pg_advisory_xact_lock 原子取号,迁移 cross_combination/tree/selection_result/seedling 4 处格式保持)+ 超期预警定时任务(每日 job 按 selection_rule 扫描树 N 年未决策/花粉批次过期/seed_lot 超期 → bre_alert + GET /bre/alert/list + 前端「预警中心」)+ 备份容灾backend/scripts/pg_backup.sh/pg_restore.shTemp/backup 按日期 + N 天轮转,每日 02:00 系统 job)+ BrAPI + MIAPPE 互操作/brapi/v2 只读五端点 germplasm/observationvariables/studies/observations/miappeBrAPI 2.x metadata+pagination+result 包裹,bre_germplasm→germplasmDbId/genus=Prunus/species=persica/subtaxa 映射);_DATA_VERSION v2.14、gwas 1.2.0 / mtblup 1.1.0 / blup 1.4.0。详见规格 §8.248.26 / 桃育种系统统计引擎实施记录.md §十七);⑯ 桃育种业务流全面完善(2026-08-05,用户要求「对现有功能,结合桃育种实际业务流程与需求,进行全面测试分析,并完善」,三路审计收敛 10 项真缺口,拍板全部实施 + 两裁决:导入按钮维持隐藏23+ 页显式隐藏非缺口)/ 采收入口走农事操作op_type=harvest 结构化产量表单,非独立模块),分三批独立 e2e + 全量回归零回归)——批A 业务数据链(A1-A6):果实采收结构化入口bre_field_operation 加 yield_kg/fruit_count/avg_fruit_weight/marketable_rateop_type=harvest 树级采收同步写 bre_trait_observation 4 行、plot 级只留操作记录)+ 产量构成/物候/品质/生长量/描述性状种子 19 条bre_yield_phenology_traits.sql:单株产量/果数/均果重/好果率/裂果率 + 盛花期/果实成熟期/落叶期 + 可溶性固形物/可滴定酸/固酸比 + 主干周长/树高/冠幅 + 果形/茸毛/离核/果皮底色/着色类型)+ 种质级观测bre_observation.germplasm_id 描述数据入口)+ 授粉→收种→种子处理补链seed_lot.pollination_id + seed_treatment.seed_lot_id+ EAV 观测校验numeric/date parse + valid_min/max 越界 + 同(tree/plot/germplasm,trait,year,date)重复 409+ 育种阶段自动设置 + 成株性状门禁tree stage 按 breeding_generation 推断、童期树录成株性状 409);批B 统计算法(B1-B4):Type-B 多环境遗传力run_type_b_heredity 复用 mtblup.solve_bivariate 把环境当"性状"、env_dim=site/year、落 bre_type_b_result + /type-b-heredity + /type-b/{id}+ 遗传相关 genetic 模式correlation mode=genetic 逐对 bivariate 组装 G0pheno 分支逐字节不变、不落库)+ 选择指数自动权重auto_weights=True → default_h2 兜底 0.1、强制 use_h2=False、direction 翻转)+ UPGMA 层次聚类run_cluster 纯 numpyPOST /statistics/cluster 不落库);批C 前端(C1-C4):观测录入增强(observation plot/站点/germplasm 过滤 + germplasm 表单、field_operation harvest 结构化表单)+ 统计可视化 EChartscorrelation 热图 + gblup 可靠性热图/趋势折线 + type-B tab + cluster 树状图)+ combination-funnel 前端入口对话框 + stage_phenotype 容器同步(通用观测/农事操作翻真实页);_DATA_VERSION v2.15。详见规格 §8.27 / 桃育种系统统计引擎实施记录.md §十八);⑰ 遗传链完整性两次修复(2026-08-05,用户先后报告「建种质断链」与「近交惩罚静默关闭」,核实确认 + 拍板落地,e2e 验证通过)——① 世代闭环修复selection_result._promote_tree_to_clone 单株晋级到 line/regional_trial/released 建种质时同步落 bre_pedigreechild_code=品种名、dam/sire=tree.dam/sire 回退组合 female/male_parent_id、combination_id、generation、child_code 幂等)→ 晋升种质不再被统计引擎当 founder,跨世代系谱链闭合(判别点 A[T2,T3]=0→0.125、A[gT1,gA]=0.5);② 近交惩罚「静默关闭」修复mating_recommend 亲缘矩阵旧靠 bre_pedigree.child_code 精确字符串匹配建系谱,名称大小写/空格/代号错配即全空 → 所有配对 r=0 → kin_pen=0 → 近交规避失效且无告警;重写 _germplasm_pedigree 多源级联(① 规范化 strip+casefold 名称反查显式系谱为权威 → ② tree.germplasm_id 直连 FK 兜底(多对去重后唯一一致才采纳、歧义回退 founder)→ ③ founder;祖先 BFS 展开 + 去重,修复候选既是 child 又是祖先时系谱重复抛『系谱个体重复』崩溃);mating_recommend 新增 kinship_status(ok/partial/none) + kinship_warning + 逐对『亲缘未解析(r 按 0 计)』旗标,绝不静默 no-op;设计红线 FK 只兜底不覆盖显式系谱A6 回归 r=0.5 保真)。e2e 14 组断言 + 回归 A6/batch/gaps_base 零回归 + HTTP 核验新字段。详见规格 §8.28 / 桃育种系统统计引擎实施记录.md §18.5/§18.6。);⑱ 选配「亲本 EBV」回退逻辑方法学修复(2026-08-05,用户报告 mating_recommend 旧实现对缺直接 EBV 的候选用「其子代树 EBV 均值」代表亲本育种值——① progeny-test 值非亲本自身值;② 双亲都缺时同一子代树等权计入 dam 与 sire 两侧稀释;③ 跨组合混合无区分,会误导选配排序。核实确认 + 拍板落地)——mating_recommend EBV 回退重写:directgermplasm_id 直连亲本自身预测值)优先、有 direct 绝不被子代树值污染;回退仅当无自身值时用、显式标注「子代测验近似」并降权 0.5 参与打分_EBV_SOURCE_FACTOR={direct:1.0,progeny:0.5,missing:0.0}mid=(f_a·ebv_a+f_b·ebv_b)/2,回退不掩盖 direct);双亲均缺直接值的子代树剔除(防双侧等权重复计);记 n_progeny/n_combos 辨别跨组合;返回体加 candidate_ebv + ebv_source.coverage + 逐对旗标「亲本EBV为子代测验近似(降权0.5)」/「亲本无EBV(按0计)」——EBV 来源显式可查绝不静默降级。e2e 5 组断言 + 回归 A6/亲缘/batch/gaps_base 零回归 + HTTP 核验(真实数据 coverage={direct:0,progeny:0,missing:12})。详见规格 §8.29 / 桃育种系统统计引擎实施记录.md §18.7。);⑲ 数据质量报告「离群值」方向语义错位修复(2026-08-05,用户报告 §8.23 数据质量端点 IQR/MAD 把任何偏离分布的值都标「离群株」,与育种目标方向错位——正向偏离正是要选的精英单株,核实确认 + 拍板落地)——data_quality_report 方向感知分流:按 bre_trait.directiondesc/None=高值优、asc=低值优)判定 desirable_highIQR/MAD 命中的株按偏离侧双通道分类is_high=v>medis_elite=is_high==desirable_high):同向偏离 → extreme_candidates 极值候选(精英)class=extreme_candidate/ 反向偏离 → outliers 疑似录入错误class=outlier,高值优的异常低值、低值优的异常高值),两表互斥;返回体加 direction + extreme_candidates + summary.n_extreme_candidateshas_warning/n_outliers 语义收紧为疑似录入错误计数;前端数据质量 tab 改双表(精英 success / 错误 danger+ 选育方向指示 + 无误报绿色 info alert。e2e 17 株断言(精英 16.0 进 extreme_candidates/side=high、错误 2.0 进 outliers/side=low、互斥不串表)+ 回归 A6/亲缘/batch/gaps_base 零回归 + HTTP 核验(asc 裂果率 bB_DIR5668 与 desc 果重 dA_DIR5668 方向/双表/计数经真实端点正确返回,真实数据无极端值→双表空无误报)。详见规格 §8.30 / 桃育种系统统计引擎实施记录.md §18.8。);⑳ ΔG 投影假设声明 + 工程健壮性打磨(2026-08-05,用户报告两点均非功能 bug,核实确认 + 拍板落地,e2e 验证通过)——① ΔG 投影假设显式声明genetic_gain 旧实现 next_pheno_mean = pheno_mean ± dg 隐含「环境均值恒定」,年际气候漂移会使投影偏;属投影演示性质,返回体新增 note 假设声明(环境均值恒定、未计入年际气候漂移与栽培措施变化;ΔG=k·r_g·σ_A 仅含遗传增益分量,next_pheno_mean 为投影演示值而非实测预测),前端 gain tab info alert 展示;② 空间模型缺坐标优雅降级run_ablup(spatial=True) 旧实现任一观测树缺 row/col 即整批 ValueError,现改为剔除缺坐标株表型(保留系谱 → EBV 仍由系谱预测)、仅全缺坐标才整批 409,剔除数显式写批次 note「缺坐标剔除N株表型(EBV由系谱预测)」、input_hash 用剔除后子集;③ numpy 工程清理7 处函数体内重复 import numpy 收敛为模块级单次 + data_quality_report 逐株 flag 循环改 numpy 布尔掩码向量化(输出逐字节不变)。e2e spatial 降级场景(5 株含 1 缺坐标 → method=AR1×AR1/train_n=4/note 含剔除/5 株均有 EBV+ A6 note 断言 + 回归 spatial/A6/亲缘/batch/gaps_base 五套零回归 + vue-tsc EXIT=0 + HTTP 核验(genetic-gain 返回 note、data-quality 返回 direction)。详见规格 §8.31 / 桃育种系统统计引擎实施记录.md §18.9。);㉑ A–F 六项功能级缺口·批1 父本验证 + 近交衰退(2026-08-05,用户全模块 grep 实证 A–F 六项缺口均为「有无/深度」问题、非正确性 bug,逐项复核确认 + 拍板「全部六项分批落地」;批1 独立 e2e + 全量回归零回归)——A 父本验证(consistency 不落库):① pollination 花粉来源一致性——_validate_pollen_parentcreate/update 统一):花粉批次声明采集父本树(pollen.male_tree_id)时授粉声明父本树须一致否则 409(含「不一致」文案),批次无采集父本(混合/外地)或授粉未声明放行不武断;② tree 显式亲本 vs 组合父母本警示——_resolve_parents 返回 (dam,sire,warning):显式 dam/sire 偏离组合 female/male_parent 时返回体 warning「显式母本/父本与组合母本/父本不一致(以显式为准)」(双侧/单侧聚合),warning 不阻断(tree 可独立建,武断 409 误伤),schema 只读字段不落库;③ cross_combination 同质自交门禁——_check_parent_rolesfemale_parent_id==male_parent_id → 409「母本与父本同为「{名}」,自交组合请确认」(create/update 生效亲本统一,与 S-等位 409 语义一致);C 近交衰退分析(计算端点不建表)——POST /statistics/inbreeding-depression(入参 trait_id/trait_code + year/trial_study_id 可选 + min_n=10):blup.relationship_matrix 的 F=A_ii1(按树,非近交树从 individuals 默认 F=0 兜底否则被排除)+ trait 树级表型 group_by(tree_id) 均值 → **纯 numpy lstsq 回归 phenotypeF**——sufficient/reason/n_obs/mean_F/max_F/direction/regression{intercept,slope,r2,t_slope,depression_rate,has_depression,interpretation}/high_inbreedingF 降序前 10 含 tree_no/value);has_depression=slope<0 且 t_slope≤−1.645(单侧 95% 大样本近似);n<min_n 优雅降级 sufficient=false+reason(不 409);前端「亲缘/近交」tab 加衰退区(trait/year + el-alert + el-descriptions + 高 F 株表,el-alert 'error' 修复 TS2322)。e2e parent_validation 10 断言(A1 不一致 409/一致放行/混合放行/update 同门禁 + A2 双侧警示/单侧仅父本/一致无警示/update 警示 + A3 create/update 同质 409+ inbreeding_depression 4 断言(12 树 F 梯度:衰退 y=10060F → slope≈−60/has_depression=true/前 6 高 F=自交株;无衰退 slope≈0/未检出;min_n=20 insufficient 含「12 棵」「≥20」;性状不存在 409+ 回归 spatial/statsflow/A6/亲缘/batch/gaps_base 六套零回归 + vue-tsc EXIT=0 + HTTP 核验(真实稀疏数据 code=0/sufficient=false/n_obs=2/reason)。_DATA_VERSION v2.22。详见规格 §8.32 / 桃育种系统统计引擎实施记录.md §18.10。;㉒ A–F 六项功能级缺口·批2 GS 家系 CV + 试验设计深度(2026-08-05,批1 已落地 ㉑/v2.22;批2 = B+F,独立 e2e + 全量回归零回归)——B GS 家系 CV(深度:随机分层 → 家系阻塞折)——genomic.kfold_cv_genomicsplit="random"|"family" + family_ofrandom 现有 round-robin 逐字节不变(回归零变化);family 照 blup.kfold_cv 的 sire 家系留出模式——同家系个体同折(防亲缘泄漏高估准确度)、无家系个体自成一族、家系数<折数 k 折叠并 warning、单家系 folds=[]+warning,输出 n_familiesrun_cv 加 split 透传——ped_rows 已取 sire_id/male_parent_id → family_of={t{tid}: s{sire}}sire 缺失回退组合 male_parent),note 记 split=family · n_families=N;前端 runCv 加 split 下拉 + n_families 列;F 试验设计深度(RCBD 生成 + 设计基 ANOVA——F1 bre_trial_study_entry.block_noweld SQL 幂等)+ POST /statistics/trial-design RCBD 生成器(按 block_count 均分到区组 + random.Random(seed) 组内随机可复现、case() 批量落库、blocks 输出、无条目 409);F2 anova.solve_rcbd RCBD 双因素 Type I 顺序(析出 SS_block/F_block/p_block + 校正后遗传差异)+ run_anova(block=True)method=ANOVA/H2/RCBD、<2 区组 409 提示先运行 trial-designblock=False 单因素路径逐字节不变);前端 ANOVA tab 加「生成 RCBD 设计」工具条 + 设计区组表 + block 校正 checkbox + 区组均值。e2e trial_design 5 组断言(生成/复现/落库/block=True 区组效应/门禁)+ gs_family_cv 5 组断言(家系阻塞折 [3,6,6]/每折1家系/random 回归零变化/家系数折叠/单家系边界)+ 回归 gblup_cv/statsflow/spatial/busflow/kinship/gaps_base/molrigor 七套零回归 + vue-tsc EXIT=0 + HTTP 核验。_DATA_VERSION v2.23、genomic 1.3.0。详见规格 §8.33 / 桃育种系统统计引擎实施记录.md §18.11。);㉓ A–F 六项功能级缺口·批3 OCS 最优贡献选择 + MABC 标记辅助回交(2026-08-05,批1/批2 已落地 ㉑/v2.22、㉒/v2.23;批3 = D+EAF 六项闭环收官;独立 e2e + 全量回归零回归)——共享 _candidate_ebv_map 抽取mating_recommend 内联 EBV 解析原样提取为共享 helperdirect germplasm_id 优先 / progeny 子代均值降权 0.5 / 双亲均缺直接值子代树剔除(v2.19 双侧去重方法论随抽取原样保留,非回归)/ n_progeny·n_combos/coveragemating 回归 14/14 零变化);D OCS 最优贡献选择——POST /statistics/ocs(纯计算不落库):max Σc_i·ebv_i λ·c'Acs.t. Σc=n_select、c≥0(纯 numpy 欧氏投影梯度 _proj_simplex + _solve_ocs,无 scipyA 由系谱+blup.relationship_matrix rmat 组装、对角=1、覆盖<100% → kinship_status=partial+warning);输出 contributionsc 降序含 ebv/source/可选 n_progeny·n_combos+ mean_ebv + avg_kinshipc'Ac+ kinship_quad + vs_top_n(贪心 top-n 对照:mean_ebv 相当 + kinship_reduction,量化 OCS 亲缘控制价值);门禁 n_select>候选/空候选/λ<0 409E MABC 标记辅助回交——POST /statistics/mabc-progress(纯计算不落库):前景选择复用 _mas_hit_map(五语义、stage 无关、童期幼苗可用)foreground_pass=命中≥阈值;背景基因组恢复率对 background 面板逐标记候选 vs 轮回亲本「纯合剂量一致」比例(_pure_homologous,杂合不计)均值=恢复率 %回交代建议_BC_LADDER(F1→BC1→…→BC5→自交固定)+ _MABC_GENERATIONS:晋级下一代 / 再回交一代 / 恢复无法评估(轮回亲本缺背景基因型)补测后判定 / 前景未通过;输出 per_tree{前景命中/恢复率/bc_generation/reason} + recommended(前景通过按恢复率降序)+ summary + warning;门禁空候选/空面板/generation 非法/background_target∉(0,100]/轮回亲本不存在 409。e2e ocs 17 断言(Σc/c≥0/λ 梯度 avg_kinship 单调非增 1.0→0.5157→0.3211→0.2685/λ=0 退化=贪心/partial+warning/三 409+ mabc 23 断言(前景 5pass+1fail/恢复复算 100·75·75·0/reason 晋级·再回交·前景未通过/recommended 恢复率降序/童期 C6/轮回亲本缺基因型 None+warning/六 409+ 回归 molrigor/gwas/mating_kinship/mating_ebv/gblup_cv/statsflow/spatial/busflow/gaps_base/b8/prediction_rigor/audit_fix 全套零回归 + vue-tsc EXIT=0 + HTTP 核验。_DATA_VERSION v2.24。详见规格 §8.34 / 桃育种系统统计引擎实施记录.md §18.12。);㉔ A–F 六项功能级缺口·批4 分子亲本验证 + 试验设计深度(2026-08-05,用户实证 grep 指出 genotype_call 对 mendelian/parentage 零命中 + trial_design 仅 RCBD,逐项复核确认 + 拍板「平方格子+一般循环回退」,独立 e2e + 全量回归零回归)——A 孟德尔/亲本一致性检验GET /bre/genotype_call/mendelian/check,纯计算不落库):子代树样本基因型 vs 声明亲本(tree.dam_id/sire_id→germplasm)逐标记 union 规则(子代等位集 ⊆ dam∪sire 并集)判兼容,单株兼容率=兼容/信息位点、rate<compat_threshold(0.98 对齐指纹)判 flag,亲本基因型跨数据集解析(同数据集优先否则全库最低 id 兜底)、双亲空→no_declared_parents/亲本声明但无 germplasm 基因型→missing_parent_genotype(不 409,数据现状)、incompatible_markers 明细(marker_id/allele/dam/sire)——填补 genotype_call 仅 fingerprint_check 的 parentage 零命中缺口;B 试验设计深度(trial_design 仅 RCBD → augmented+alpharcbd 路径逐字节不变)——增广 check_germplasm_ids 显式对照每区组重复(anchors、block_no 不落库)+ 新品系 rng.shuffle round-robin 均分区组落 1..block_count(对照非条目子集/无对照 409);α-格子 block_size=k+reps=r 可选——平方 v=k² 闭式格子(rep m 直线 y≡m·x+(b1) mod k、m=k=竖列、完全格子 r=k+1 任一对至多同块一次 λ≤1、k 素数完全平衡否则 balance_warning=True 保守告警)、非平方 v 贪心可分解构造(used_pairs 避免同块对重复+卡死复用告警)、block_no 复合编码 rep100+block 落库(探针抓出平方分支 0-based off-by-one 真 bug 已修)、校验 v%k≠0/非平方缺 k/重复数越界 409。e2e mendelian_check 8 断言(跨数据集解析/alien 等位 rate=0.8 flag/双亲空与缺基因型状态/空数据集零值)+ trial_design_ext 19 断言(增广 anchoring/平方格子 λ≤1/部分 r/非素数告警/一般贪心/四 409)+ rcbd 路径零变化 + 全套 13 套回归零回归 + vue-tsc EXIT=0 + HTTP 核验(mendelian/check 200 零值 + trial-design augmented/alpha 分派 409 + latin 非法 409)。_DATA_VERSION v2.25。详见规格 §8.36 / 桃育种系统统计引擎实施记录.md §18.14。);㉕ 批5 区组随机效应 ABLUP + 孟德尔检验落库/隔离/进报告 + 统计引擎全量数值校验(2026-08-05,用户实证复查三项全部成立、拍板落地,独立三探针 + 27 套全量回归零回归)——N3 区组随机效应blup.solveblock 参数分派 _solve_block(第二随机效应、镜像 _solve_gxe,σ²block/block_ratio/block_effects/n_blocksENGINE_VERSION 1.5.0);run_ablup(block=True) → method=ABLUP-BLOCKbre_tree.block_no 作区组(增广/α-格子不完全区组结构终于被 BLUP 消费)、缺 block_no 树降级剔表型留系谱、<2 区组 409、与 gxe/gxrZ₂ 槽)及 spatial(残差结构)互斥 409,前端 GxE tab block 开关;N1 孟德尔检验落库 + 自动隔离 + 进报告:纯计算核心抽共享 _compute_mendelian,新 POST /bre/genotype_call/mendelian/check/runbre_mendelian_check+每树子表+bre_pedigree_exclusion 隔离注册表(flag→upsert 隔离、未 flag→清除,可逆),GET 只读预览零回归;data_quality_report(dataset_id) 加 mendelian 段(flagged>0→has_warning);系谱消费方断开隔离树亲本链(退化为 founder 表型保留:_build_pedigree/run_ablup/inbreeding_depression/kinship_matrix/run_cv/_germplasm_pedigreeGBLUP/ssGBLUP 基因型样本不受影响);N2 统计引擎全量数值真值校验:新探针 e2e_stats_numerics_20260805.py ok=101 fail=0 逐段独立 ground-truth 对照(blup/gxe/block/spatial-aniso/gblup/ssgblup/bivariate/multi/FW/ammi/rcbd/diallel/ocs/UPGMA/ΔG/data-quality/kinship 全验证),探针自身两处 fixture 缺陷修复(低 h² 小样本 r_g 假收敛换高遗传力良态设计、B4.2 硬编码 tree_id),引擎本体零缺陷_DATA_VERSION v2.26、blup.ENGINE_VERSION 1.5.0。详见规格 §8.37 / 桃育种系统统计引擎实施记录.md §18.15。);㉖ 批6 规划↔目标↔试验 可追溯性闭环(2026-08-05,用户全代码库 grep 实证 bre_plan 彻底孤立根表——零传入外键、bre_trial 无 plan_id/target_id、无 project/program 表;拍板「加试验挂目标」最小双链,独立 e2e 探针 17 断言 + 全量回归零回归)——三可空 FK 双链闭合bre_target.plan_id + bre_trial.plan_id(目标链 plan→target→cross_combination→tree+ bre_trial.target_id(试验链 plan→trial→trial_study→tree),weld SQL 幂等、target/trial 三件套透传 + get_list 解析 plan_name/target_name父校验target/trial create 坏 plan_id/target_id → 409None 跳过——孤目标/独立试验仍可建)+ 删除守卫plan.delete 有 target/trial 子 409、target.delete 有 combo/trial 子 409);计划可追溯端点 GET /bre/plan/trace/{id}plan 基础 + targets[] 组合株数 + trials[] 试验点株数 + totals,软删过滤、孤目标不入链、不存在 409);前端 target/trial 「所属计划/目标」select + plan 页「追溯」弹窗。验证:e2e_plan_trace_20260805.py 17 断言全过 + 全量回归零回归(含审计切面残留检查限定 entity_type 根治跨表撞 id 误报)+ vue-tsc EXIT=0 + HTTP 核验;_DATA_VERSION v2.27。详见规格 §8.38 / 桃育种系统统计引擎实施记录.md §18.16。);㉗ 批7 统计引擎全量十模块 golden 复查·系谱键空间错位修复(2026-08-05,用户质疑 GBLUP/ssGBLUP、genetic_corr、type_b、cluster、stability、OCS、MABC、inbreeding_depression、trial_design、mendelian 十新建模块缺逐模块数值校验(golden-test 缺失)、历史上 G–L 静默失效都靠校验暴露,拍板「全量十项逐一复查」)——复查确认 8/10 已 goldenGBLUP/ssGBLUP、cluster、stability、OCS、MABC、inbreeding_depression、trial_design、mendelian 既有探针已具严格数值断言),type_b 与 genetic_corr 补齐 golden 缺口——审计深处暴露系谱键空间错位真 bugrun_type_b_heredity/correlation_matrix(mtblup)/run_genetic_corr 四个服务路径把 int tree_id 表型键传给 mtblup.solve_bivariate,而 _build_pedigree 系谱用 str "t{id}"blup.solve 把系谱外个体自动并入 base(无关 founder)→ 系谱被静默丢弃(平衡数据同株跨环境掩盖;分裂家系数据无同株跨环境、靠全同胞链桥接暴露——int 键 → r_B/r_g 锁死 ±0.99 平剖面端点假收敛假阴性)。修复:共享 helper _tree_individual_keysint→"t{id}" 对齐系谱键空间)收口四个调用点_genetic_corr_matrix/_smith_hazel_index mtblup 分支/run_genetic_corr/run_type_b_heredity),run_ablup 早已正确不受影响。新探针 e2e_rg_golden_20260805.py ok=21 fail=020 founder×10 全同胞家系×3 同胞=30 株、3 站点、高遗传力 h²≈0.89:P0 诊断 str 键恢复 r_B=0.7+/int 键锁死 0.99P1 type_b 分裂家系 r_B(1,2)>0.5 + n_common=0(无共有树、系谱桥接生效直接证据);P2 correlation 平衡 r_g(A,B)>0.65/AC,BC<0.4/判别间隙>0.3/h²∈(0,1)P2b 分裂家系 discriminator r_g(S1,S2)>0.5)。验证:e2e_statsflow(单家系 fixture 对键 bug 不敏感 15 断言零变化)+ e2e_advanced_mtblup 回归通过 + 全量回归零回归(60 套件,含版本断言同步)+ vue-tsc EXIT=0 + 后端重启 HTTP 核验(type-b-heredity / genetic-corr/run 分裂家系判别经真实端点)+ 备份镜像 Temp/claude/backup_keyspace_20260805/_DATA_VERSION v2.28。详见规格 §8.39 / 桃育种系统统计引擎实施记录.md §18.17;㉘ 回归基建:统一回归 + 高风险模块正式 tc 套件(2026-08-05,用户三点质疑——tc 零覆盖分析模块 / 批7 无 golden / 新模块算偏当正常输出(G/I 静默失效同款隐患)——核实全部成立,拍板「两者都要」;纯测试基建不 bump 版本)——run_regression.py(仓库根)顺序串跑 Temp/claude/e2e_*.py + backend/scripts/test_bre_analysis_*_tc.py = 63 测试、每测试独立子进程 log 到 regression_logs/、EXIT 汇总、DPB_PYTHON 覆盖解释器、utf-8 防 GBK4 个正式 tc 套件TestClient 真实 API + golden 数值断言,高风险模块必测):test_bre_analysis_ssgblup_tc.py ok=14(非基因型株 GBLUP EBV=0 / ssGBLUP EBV≠0——H⁻¹ 拼接判别)、test_bre_analysis_ocs_tc.py ok=23(投影梯度收敛/λ 单调/c'Ac/λ=0 退化)、test_bre_analysis_mabc_tc.py ok=24(前景/背景恢复率/晋级/童期)、test_bre_analysis_mendelian_tc.py ok=9POST run 落库 + 隔离注册表 + 阈值 0.0 可逆);教训:HTTP schema 校验 → 422 / 服务层 CustomException → 409、tc 须显式 import UserModel、隔离断言时序、启动残留预清理 _wipe。全量回归 58/59gaps_engines 批量卡死单跑 RC=0 确认);备份镜像 Temp/claude/backup_test_rigor_20260805/;交付流程:改统计引擎/业务链后端后跑 python run_regression.py 全量 EXIT=0。详见规格 §8.40 / 桃育种系统统计引擎实施记录.md §18.18。);㉙ 回归基建 2:分析模块 tc 补齐(5 套)+ pytest 接入 + 本机 CI stage2026-08-05,用户对 4 套 tc 认可后拍板补齐 genetic_corr/type_b_heredity/inbreeding_depression/trial_design/run_stability 五个静默失效风险较低模块,v8 验收标准定为「CI 跑通 pytest 全绿」;纯测试基建不 bump 版本,_DATA_VERSION 保持 v2.28——补 5 套正式 tcbackend/scripts/test_bre_analysis_{genetic_corr,type_b,inbreeding,trial_design,stability}_tc.pyTestClient 真实 API + -X utf8 + _wipe() 残留预清理):genetic_corr ok=19(平衡 3 性状 r_g(AB)>0.65/间隙>0.3 + 分裂家系判别 r_g(S1,S2)>0.5 且 n_common=0,独立种子 SEED_S=3)、type_b ok=183 站点分裂家系 r_B>0.5 且 n_common=0,复刻 tY-first rng 序→0.990)、inbreeding ok=44(方向感知:衰退 slope<40/无衰退/上升 slope>30 + deep 系谱 F=0.125 + min_n insufficient)、trial_design ok=25(增广对照 block_no=None 不落库 + α-格子平方 λ≤1/非素数告警/一般贪心 + **block_no=rep100+block DB 读回** + 四 409)、stability ok=16FW b≈2/1/0 + flag_stable C1=True + AMMI ASV rank + engine_version 落库);pytest 接入——backend/tests/test_stat_analysis_tc.py 9 套 @pytest.mark.pg + subprocess 串跑真实脚本、skipif 探测真实 PG16+Redisprotocol=2——redis-py 7.x 默认 RESP3 对老 WSL redis-server 报 ResponseError,与 app redis_connect 对齐)、env 显式构建剥 conftest 污染解析 .env.dev 可 TC_CI* 覆盖;pyproject 注册 pg marker、conftest collect_ignore_glob 排除 scripts本机 CI stage run_ci.py(仓库根,step 0 探测 PG+Redis 失败指引 / step 1 pytest -m pg / step 2 EXIT=0「CI 全绿」,日志 Temp/claude/ci_logs/;不做 GitHub Actions——全工程无 git 仓库);验证 5 套 EXIT=0122 断言)+ pytest -m pg 9 passed146s+ skipif 9 skipped 不红 + run_ci EXIT=0 + run_regression glob 自动纳入;备份镜像 Temp/claude/backup_analysis_tc2_20260805/;交付流程:v8 验收 = python run_ci.py EXIT=0。详见规格 §8.41 / 桃育种系统统计引擎实施记录.md §18.19。);㉚ O2O4 统计方法学广度(2026-08-05,用户系统核对统计引擎能力后确认三项 P2 方法学缺口——幼年–成年遗传相关 / 非线性基因组预测 / 约束选择指数,均零命中、不影响当前业务正确性属方法库广度,拍板「O2–O4 先落地」+ 两决策:① O4 用经典 KempthorneNordskog =0 闭式解(纯 numpy 不迭代)② 前后端同步扩展;_DATA_VERSION v2.28 → v2.29、genomic 1.4.0,无新表)——O2 幼年–成年遗传相关_values_by_tree_env 加 env_dim=stage 分支(coalesce(obs.stage, TraitModel.stage) 分组)+ run_type_b_heredity env_dim 校验扩 stage——发育阶段当"环境"逐对 mtblup.solve_bivariate REML 精确估 r_g(>0.5 表示童期可借力成株、早期间接选择有效),复用 bre_type_b_result 不建表,前端 Type-B 下拉加 stageO3 非线性基因组预测genomic.py 1.4.0 加 solve_rrblup(岭回归逐标记 u=(Xc'Xc+λI)⁻¹Xc'yc与 GBLUP 数学对偶(同数据 EBV 逐位吻合)、输出 marker effects+ solve_bayesbBayesB Gibbs 可变选择 δ_jBernoulli(1−π)、确定性 seed 可复现+ kfold_cv_genomic dosage 分派 rrblup/bayesb(实证 CV);run_gblup method 扩 rrblup/bayesb + seed 透传落 PredictionModel(method=RRBLUP/BayesB)+EBV 行、run_cv GS 分支 KFCV/RRBLUP·KFCV/BayesBO4 约束选择指数_smith_hazel_index 加 restrictedKempthorne-Nordskog Lagrange 闭式投影 b=P⁻¹·G·(IM)·a、M=C'(C·G·P⁻¹·G·C')⁻¹·C·G·P⁻¹·G → 受限性状 ΔG=0;对照旧公式 M=C'(C·P⁻¹·C')⁻¹·C·P⁻¹ 实测 ΔG=4.46 不满足证明修正必要)+ economic_weights(绝对尺度不归一化、可与 restricted 叠加、asc 翻转),method 校验扩 zsum/smith_hazel/restricted、落库 SI_RES顺手修复 tc 暴露的既有缺口cv_detail 折明细缺 cv_result_id → 任意 GET /cv/{id} 400(既有 tc 未触达静默失效)——补上可查;验证:e2e 探针 19 断言(对偶逐位 1.42e-13 / BayesB 可复现 / 受限 ΔG=0 机器精度 8.88e-16 / O2 真实 PG r_g=0.6145+ 正式 tc 第 10 套 test_bre_analysis_o234_tc.py ok=41 fail=0r_g=0.8995 / bayesb 同 seed 两次 EBV 逐位一致 / rrblup·GBLUP EBV 相关 1.000 / b_受限=0.0 / economic desc>0·asc<0 / 三 409+ 全量回归零回归 + run_ci.py EXIT=0;备份镜像 Temp/claude/backup_o234_20260805/。详见规格 §8.42 / 桃育种系统统计引擎实施记录.md §18.20。;㉛ O1 花期数据消费补强(2026-08-06,用户系统核对花期字段零消费——bre_germplasm.flowering_period 等从未被任何统计/决策逻辑消费,核实确认 + 定性 P1 数据消费补强 + 辅助信息(非 S-allele 级硬错误防呆),拍板三档位落地;_DATA_VERSION v2.29 → v2.30,无新表)——① 花期数据建模升级(结构化区间,前置)bre_germplasm 加双 Date 列 bloom_start_date/bloom_end_dateweld SQL 幂等 + COMMENT),flowering_period 5 档字典保留作粗粒度 fallbackmodel/schema/serviceExcel 导入导出/模板 header 同步)+ 前端 germplasm 表单改两个独立 date 字段直绑(useCrudForm 无提交前 transform → 弃 daterange,与 acquisition_date 同模式零转换)——花期字段首次被消费;② mating_recommend 花期重叠软警示(不硬阻断)_bloom_overlap(结构化区间月日年际比较 _md() 取 tm_yday 优先;缺区间 fallback 5 档 _BLOOM_TIER_ORDER 相邻/同档视为重叠)四态——overlap(重叠可同期授粉,不进 flags[] 不阻断)/ store(父本先开花需采粉贮藏)/ offset(母本先开花注意柱头可授期)/ unknown(缺花期数据提示补录),pairs 加 bloom_status/bloom_msg、非重叠三态追加 flags[](前端红色 tag);③ 授粉窗口规划消费 bre_pollen:新端点 GET /bre/pollen/window-plan?window_start=&window_end=window_plan 服务方法,窗口反向 409)——花期种质 _project_bloom 结构化区间按年际月日投影到窗口起始年(3-4 月单年窗口假设)、缺区间 fallback _BLOOM_TIER_SPAN 5 档代表区间并标注「粗粒度」;窗口覆盖三态 covered(整段有批次 collect≤bs and expiry≥be/partial/nonen_need_pollen 计 none);库存五态 full/expiring(窗口内到期)/entering(窗口内采集)/expired(窗口前失效)/not_started;前端花粉页「授粉窗口规划」卡(daterange + 生成 + 缺粉 alert + 花期覆盖表 + 库存状态表,默认 03-0104-30)。验证:e2e 探针 e2e_o1_bloom_20260805.py 4 段全断言(花期建模双 Date 落库 / 6 种质 15 对四态(区间三类 + 档位 store + 混合对 unknown/ 窗口覆盖三态 + 档位投影 + 缺粉集合 / 库存五态 / 反向 409+ vue-tsc EXIT=0 + 全量回归零回归 + run_ci.py EXIT=0 + HTTP 核验;备份镜像 Temp/claude/backup_o1_bloom_20260805/。详见规格 §8.43 / 桃育种系统统计引擎实施记录.md §18.22。


一、主表:模块 ↔ 层 ↔ 规格 ↔ SOP ↔ 一期 ↔ 数据表 ↔ 状态

模块 规格章节(v2.7) 报告SOP阶段 一期 数据表 状态
种质资源 L1 §4 germplasm 阶段1 breeding_germplasm 落地(基础+s_alleles S-等位基因,Sf=自交亲和型,2026-08-04)
性状字典 L1 §3.1 阶段6 表型 breeding_trait 落地(基础+direction/into_ebv/default_h2+抗病/需冷量 5 条 numeric 种子:细菌性穿孔病/褐腐病/白粉病 0-5 级病情指数 + 需冷量 h + 需热量 GDDinto_ebv=1 进选种目标,2026-08-04产量构成/物候/品质/生长量/描述性状种子 19 条:单株产量/果数/均果重/好果率/裂果率 + 盛花期/果实成熟期/落叶期 + 可溶性固形物/可滴定酸/固酸比 + 主干周长/树高/冠幅 + 果形/茸毛/离核/果皮底色/着色类型,2026-08-05)
砧木字典 L1 阶段6 表型 breeding_rootstock 落地(矮化类/砧穗亲和性;G×R 随机互作 rootstock 由固定哑变量升随机效应槽,2026-08-04)
选择规则 L1 §3.11 阶段7 评价 breeding_selection_rule 落地(方向感知 conditions_json)
试验基地 L1 §4 site 阶段5 breeding_site 落地(基础)
试验地块 L1 阶段5 breeding_plot 落地
育种人员 L1 全程 breeding_personnel 落地
育种目标 L1 阶段1 breeding_target 落地
系谱链(pedigree L1 §3.18 阶段1 breeding_pedigree 落地(独立系谱表,dam/sire 递归闭环,clone+germplasm 统一覆盖,A 矩阵唯一权威,2026-08-04mating_recommend 亲缘矩阵多源解析——显式系谱规范化名称反查权威 + tree.germplasm_id 直连 FK 兜底(唯一一致)+ BFS 祖先展开去重,kinship_status/warning 显式告警,2026-08-05)
杂交组合 L2 §4 cross_combination 阶段2 breeding_cross_combination 落地(基础+S-等位基因交配兼容性校验:任亲本含 Sf→放行、共享 2 个→409「配了不结」硬门禁、共享 1 个→s_compat 半兼容警示,2026-08-04同质自交门禁female==male → 409「自交组合请确认」(create/update 生效亲本统一,A3),2026-08-05)
授粉管理 L2 §4 pollination(含 §3.19 关联) 阶段2 breeding_pollination 落地(基础+pollen_lot_id/授粉方式/窗口校验,2026-08-04花粉来源父本一致性:批次采集父本≠授粉声明父本→409(混合/外地批次放行,A1),2026-08-05)
花粉档案 L2 §3.19 阶段2 breeding_pollen 落地(采集/贮藏/活力/有效期+available_lots2026-08-04pollination 来源一致性消费 male_tree_id2026-08-05)
种子处理 L2 阶段3 breeding_seed_treatment 落地(基础+seed_lot_id 关联补链(收种→种子处理,A4),2026-08-05)
种子批库存 L2 §3.13 阶段3 breeding_seed_lot 落地(基础+超期预警接入+pollination_id 关联补链(授粉→收种,A4),2026-08-05)
育苗管理 L2 §4 seedling 阶段4 breeding_seedling 落地(基础)
定植管理 L2 §4 planting 阶段5 breeding_planting 落地(基础)
单株评价 L2 §4 tree_evaluation 阶段6 breeding_tree_evaluation 落地(基础)
育种单株 L2 §4 tree 阶段6 breeding_tree 落地(基础+stage 自动设置create 按 breeding_generation 推断 juvenile/evaluationA6),2026-08-05显式亲本 vs 组合父母本警示:显式 dam/sire 偏离组合时返回体 warning「以显式为准」(不阻断,A2),2026-08-05)
单株照片 L2 阶段6 breeding_tree_photo 落地
扩展观测(EAV) L2 §3.2 阶段6 breeding_observation 落地(EAV 通用录入可挂 plot 级、obs_type numeric/text/date900050germplasm 级观测bre_observation.germplasm_id 描述性数据入口,A3+EAV 校验numeric/date parse、valid_min/max 越界、同键重复 409A5),2026-08-05)
农事操作 L2 §3.3 阶段6 breeding_field_operation 落地(op_type 字典施肥/喷药/修剪/灌溉/疏果/套袋/采收,900051;采收结构化入口 op_type=harvest 产量表单 yield_kg/fruit_count/avg_fruit_weight/marketable_rate,树级采收同步写统计性状观测、plot 级只留操作记录,A12026-08-05)
选育结果 L2 §4 selection_result 阶段7 breeding_selection_result 落地(基础;晋级同步落系谱——单株晋级 line/regional_trial/released 建种质时自动写 bre_pedigreetree.dam/sire 回退组合亲本),跨代系谱链闭合,2026-08-05)
克隆扩繁 L2 §3.8 阶段8 breeding_propagation 落地
分组/标签 L2 §3.5 阶段8 否(二期) breeding_group / member 落地(2026-08-05)
DUS/品种保护 L2 §8.17 台账 阶段9 breeding_dus_descriptor / breeding_dus_test / breeding_dus_observation 落地(数据能力三表 + UPOV TG/53 描述符种子,2026-08-04)
区域试验/登记 L2 阶段10 (target 关联) 待建
MET 试验结构 L3 §3.4 阶段5 否(二期) breeding_trial / trial_study / study_entry 落地(trial/trial_study/trial_study_entry 全模块,2026-08-05RCBD 试验设计深度——POST /statistics/trial-design 按 block_count 均分 entry 到区组 + random.Random(seed) 组内随机可复现、bre_trial_study_entry.block_no 落库;run_anova(block=True) 设计基 ANOVA 析出区组效应 SS_block/F_block/p_blockmethod=ANOVA/H2/RCBD),AF 六缺口·批2v2.232026-08-05增广/α-格子设计深度——augmented 对照 anchoringcheck_germplasm_ids 每区组重复、block_no 不落库)+ 新品系 round-robin 均分区组;alpha 平方闭式格子(v=k² 直线构造、完全格子 r=k+1、k 素数完全平衡否则 balance_warning 保守告警)/ 一般 v 贪心可分解回退,block_no=rep*100+block 复合编码,AF 六缺口·批4v2.252026-08-05)
环境因子(G×E) L3 §3.9 全程 否(二期) breeding_environment_condition 落地(2026-08-05)
统一性状值视图 L3 §4 末尾 阶段6 是(视图) v_trait_value 落地(v_trait_value + /statistics/trait-values 长表查询,2026-08-04)
描述统计 / ANOVA L3 §5 3.63.8 是(地基) (引擎) 落地(/describe 描述统计 + /anova/run ANOVA+H²,纯 numpy 零 R2026-08-04)
配合力 GCA/SCA L3 §5 3.9 是(一期2个) (引擎 + prediction) 落地(交配设计 design_type)
育种值 EBV/ABLUP L3 §3.12 / §5 3.10 是(一期2个) breeding_prediction / breeding_prediction_value 落地(ABLUP+GXEBLUP+G×E2026-08-03PA 落库+MLOps 溯源 data_version/input_hash/engine_version+germplasm_id 填充+空间竞争协变量 covariate=competition+stage 感知(童期/成株过滤与警示、批次 stage 落库)+k-fold CV 外部验证ABLUP/GXEBLUP 双支持,sire 家系分层留出,bre_cv_result/fold 落库)+MT-BLUP 成对双性状遗传相关+GBLUP/ssGBLUP 基因组选择引擎+AMMI/Finlay-Wilkinson 稳定性+BLUP stage 拆分(观测级 stage 过滤,model_name _{stage} 后缀)+MLOps 重训/版本回滚is_active 版本链 + drift/retrain/activate 端点)+G×R 砧木×接穗随机互作method=GXRBLUProotstock 升级第三随机效应槽、与 G×E 互斥、σ²gxr 落 note2026-08-04+GS 专用 k-fold 交叉验证GBLUP/ssGBLUP 掩蔽留出 GEBV vs 表型实证 pearsonmethod=KFCV/GBLUP·KFCV/ssGBLUP,固定种子随机分层、G/H/Hinv 只建一次,genomic.kfold_cv_genomic2026-08-04+AR1×AR1 空间协方差run_ablup(spatial=True) → method=AR1×AR1/model_name=SPATIAL_*eN(0,σ²e·R) R=AR1(ρ)⊗AR1(ρ) 纯 numpy eigh 求 R⁻¹、REML 对 (h²,ρ) 坐标上升黄金搜索、与 G×E/G×R 互斥、缺 row/col 坐标 409blup 1.3.02026-08-04+稀疏 A⁻¹+共轭梯度n>N_SPARSE(1000) 阈值分派 solver=sparse-cg、_build_ainv_sparse COO + _cg_solve + Hutchinson k=100 可靠性近似、稠密路径零变化,2026-08-04)+经典侧计算端点(数据质量 data-quality IQR+MAD 异常诊断 / 遗传增益 genetic-gain ΔG=k·r_g·σ_A 逐轮投影 / 主动选配 mating-recommend S-等位硬过滤+亲缘惩罚,纯计算不建表,2026-08-04;EBV 来源置信修复——direct 亲本自身值优先、缺直接值回退「子代测验近似」显式标注+降权 0.5、双亲均缺的子代树剔除防双侧等权重复计、candidate_ebv/coverage/逐对旗标显式可查,2026-08-05离群值方向语义修复——IQR/MAD 偏离株按 bre_trait.direction 双通道分流:同向偏离→extreme_candidates 极值候选(精英)/ 反向偏离→outliers 疑似录入错误(高值优的异常低值、低值优的异常高值),返回体加 direction/extreme_candidates/summary.n_extreme_candidates、outliers 只含反向株、前端双表+方向指示,2026-08-05+Type-B 多环境遗传力run_type_b_hereditymtblup.solve_bivariate 把环境当"性状"逐对精确 REML、env_dim=site/year、落 bre_type_b_result、POST /statistics/type-b-heredity + GET /type-b/{id}+遗传相关 genetic 模式correlation mode=genetic 逐对 bivariate 组装 G0、pheno 分支逐字节不变、不落库)+UPGMA 层次聚类POST /statistics/cluster 纯 numpy、输出 clusters/merges/order、不落库),2026-08-05+近交衰退分析POST /statistics/inbreeding-depressionrelationship_matrix 的 F=A_ii1(非近交树 F=0 兜底)+ trait 树级表型均值 → numpy lstsq 回归 phenotypeF——slope/r2/t_slope/depression_rate/has_depression/interpretation + high_inbreeding 高 F 株清单(前 10),n<min_n 优雅降级 sufficient=false 不 409_DATA_VERSION v2.22AF 六缺口·批12026-08-05)+GS 家系阻塞折 CVgenomic.kfold_cv_genomicsplit="family" + family_of:同家系个体同折防亲缘泄漏高估准确度、无家系个体自成一族、家系数<折数折叠并 warning、单家系边界、输出 n_families;run_cv 加 split 透传——family_of 由树 sire(回退组合 male_parent)构建,note 记 split=family·n_familiesrandom 路径逐字节不变,A–F 六缺口·批2,_DATA_VERSION v2.232026-08-05)+OCS 最优贡献选择POST /statistics/ocsmax Σc·ebv λ·c'Ac 投影梯度求解,n_select/λ 权衡、vs_top_n 贪心对照量化亲缘控制价值、kinship_status 显式告警,EBV 复用共享 _candidate_ebv_map、纯计算不落库,A–F 六缺口·批3)+MABC 标记辅助回交POST /statistics/mabc-progress:前景 MAS 命中+背景纯合剂量一致恢复率+_BC_LADDER 回交代建议、recommended 恢复率降序、童期幼苗可筛,A–F 六缺口·批3,_DATA_VERSION v2.242026-08-05)+区组随机效应 ABLUPrun_ablup(block=True) → method=ABLUP-BLOCKbre_tree.block_no(增广/α-格子已落库的不完全区组结构)作第二随机效应 _solve_block(镜像 _solve_gxe,σ²block/block_ratio/n_blocks 落 note、PEV 可靠性)、缺 block_no 树降级剔表型留系谱、<2 区组 409、与 gxe/gxrZ₂ 槽)及 spatial(残差结构)互斥 409、blup 1.5.0,批5+统计引擎全量数值真值校验e2e_stats_numerics_20260805.py ok=101 fail=0blup/gxe/block/spatial-aniso/gblup/ssgblup/bivariate/multi/FW/ammi/rcbd/diallel/ocs/UPGMA/ΔG/data-quality/kinship 逐段独立 ground-truth 对照,探针 fixture 两处缺陷修复、引擎本体零缺陷,批5,_DATA_VERSION v2.262026-08-05)
遗传力 h²/H² L3 §5 3.11 (引擎) 落地(随BLUP批次落主表,2026-08-03)
选择指数 L3 §5 3.15 (引擎) 落地(zsum+smith_hazel,方向翻转+default_h2兜底;无性系级聚合 aggregate=clone 可靠加权+自株退化+系级决选;Smith-Hazel 遗传相关 g_method=calo(可靠性校正 r_g=r_EBV/√(rel_i·rel_j))mtblup(成对双性状 BLUPG 非对角用 bivariate REML,单对失败回退 Calo+warning)+g_corr/g_note/g_source 落库可审计,2026-08-04自动权重 auto_weights=True → default_h2 兜底 0.1、强制 use_h2=False 防双重相乘、direction 翻转、weights_json 记 __autoB32026-08-05)
选择强度链 / 组合得失漏斗 L3 §3.13 seed_lot 计数 落地(组合得失漏斗 v_combination_funnel:花→果→种→苗→定植→树→入选六级派生指标 结实率/出苗率/选择强度,只读端点,2026-08-04;前端入口 statistics 页「组合得失漏斗」对话框,C32026-08-05)
育种报告 L3 §3.6 breeding_report 落地(CRUD + POST /report/generate 聚合预测/稳定性/CV9000752026-08-05)
分析数据集 L3 breeding_analysis_dataset 落地(trait_codes/sample_ids/config jsonb + status9000702026-08-05)
超期预警 L0 全程 breeding_alert 落地(每日 job 按 selection_rule 扫描树超期/花粉过期/种子超期 → bre_alert + /bre/alert/list + 前端预警中心,2026-08-05)
审计切面 L0 §3.10 全程 是(切面) breeding_audit_log 落地(base_crud 三写注入 CREATE/UPDATE 字段级 diff/DELETE + 批量导入汇总,/bre/audit/list2026-08-05)
互操作 BrAPI L0 原则7/§6 (只读端点/不建表) 落地(/brapi/v2 germplasm/observationvariables/studies/observations2026-08-05)
互操作 MIAPPE L0 原则6 (元数据模板/不建表) 落地(/brapi/v2/miappe 模板导出,2026-08-05)
统一编号服务 L0 §3.10 全程 breeding_sequence 落地(NumberGenService + pg_advisory_xact_lock 原子取号,4 处迁移 YY+3位/组合-序号/clone_code/batch_no2026-08-05)
备份容灾 L0 全程 (脚本+每日 02:00 job) 落地(pg_backup.sh/pg_restore.shTemp/backup 按日期 + N 天轮转,2026-08-05)
分子标记 L4-2 §3.7 否(V2.0) breeding_marker 落地(CRUD+Excel2026-08-04)
基因型数据集 L4-2 §3.7 breeding_genotyping_dataset 落地(CRUD+Excel2026-08-04)
基因型样品 L4-2 §3.7 breeding_genotype_sample 落地(CRUD+Excel2026-08-04)
基因型调用 L4-2 §3.7 breeding_genotype_call 落地(CRUD+VCF+指纹,2026-08-04孟德尔/亲本一致性检验——GET /genotype_call/mendelian/check:子代树样本 vs 声明亲本(tree.dam_id/sire_id)逐标记 union 规则判兼容、rate<0.98 判 flag、亲本基因型跨数据集解析、双亲空/缺基因型归状态不 409、incompatible_markers 明细,填补 parentage 零命中,AF 六缺口·批4v2.252026-08-05落库+自动隔离+进报告——POST /genotype_call/mendelian/check/runbre_mendelian_check+每树子表+bre_pedigree_exclusion 隔离注册表(flag→隔离、未 flag→清除可逆),data_quality_report(dataset_id) 含 mendelian 段,系谱消费方断开隔离树亲本链退化为 founder,GET 只读预览零回归,批5v2.262026-08-05)
GWAS/QTL/MAS 标记辅助选择 L4-2 §3.7 bre_gwas_result / bre_gwas_snp / bre_qtl / bre_mas_panel / bre_mas_panel_marker 落地(900214 GWAS/QTL 页翻转 + GLM+PC 关联扫描 + QTL 定位 + MAS 决策 hook2026-08-04EMMAX 混合模型 method=emmax 零模型 _profile_solve + eigh 对角化 + 逐标记 GLS、QTL×E 环境互作 分环境 GWAS 合并 stable/env-specific 计算端点不建表、MAS 面板语义 mode/favorable_allele/haplotype_group 五语义命中,gwas 1.1.02026-08-04MABC 标记辅助回交 POST /statistics/mabc-progress——前景 MAS 命中(复用 _mas_hit_map 五语义、stage 无关童期可筛)+ 背景基因组恢复率(候选 vs 轮回亲本纯合剂量一致比例)+ _BC_LADDER 回交代建议,_DATA_VERSION v2.24AF 六缺口·批32026-08-05)
ML辅助/图像/LLM L4-2/3 §6 (外部服务) 待建

二、各层模块级落位(2026-07-29 定稿)

  • L0 系统底座RBAC() · 部门隔离 sys_dept=课题组() · 数据字典(四类已灌) · 操作审计 sys_log()+breeding_audit_log 切面(2026-08-05) · 文件() · 编号服务( NumberGenService 原子取号,2026-08-05) · 定时任务( ap_scheduler 3 系统 job2026-08-05) · BrAPI 只读适配()+MIAPPE 元数据模板()/brapi/v2 五端点,2026-08-05 · 性能(纯 numpy 引擎异步 job 队列,零 R,) · 备份容灾(PG 备份 pg_backup.sh+每日 02:00 job2026-08-05)
  • L1 基础数据:种质()/性状字典( 含抗病/需冷量 numeric 种子)/选择规则()/基地()/地块()/人员()/目标()/系谱( breeding_pedigree)。
  • L2 育种流程:杂交/授粉/种子/育苗/定植/评价/单株/照片/选育(基础) + observation( 900050)/field_operation( 900051)/seed_lot()/propagation()/group()/analysis_dataset( 900070)/breeding_report( 900075)/alert( 超期预警)数据接入=Excel 导入,一期先性状记录模板(yz.sql 蓝本),余表分批
  • L3 统计决策:地基(统一视图/ MET/ 环境/ 系谱A/ 审计) + 计算(描述/ANOVA/相关PCA + 一期2个:配合力+EBV) + 决策(遗传力/指数/报告/预警,后续)。
  • L4-2 分子层(V2.0)marker / genotyping_dataset / genotype_sample / genotype_call 四表(数据能力:CRUD+VCF 导入+DNA 指纹防错+孟德尔/亲本一致性检验(子代 vs 声明亲本 union 规则、跨数据集亲本基因型解析、flag 阈值、incompatible_markers 明细,AF 六缺口·批42026-08-05落库+自动隔离——POST /genotype_call/mendelian/check/run 落 bre_mendelian_check+每树子表+bre_pedigree_exclusion 隔离注册表(flag→隔离、未 flag→清除可逆)、data_quality_report(dataset_id) mendelian 段、系谱消费方断开隔离树亲本链退化为 founder 表型保留,批5v2.262026-08-05),2026-08-04) + GBLUP/ssGBLUP 引擎(VanRaden G(method1/2)+MAF+blend 岭、单步法 H⁻¹=A⁻¹+[0,0;0,G⁻¹−A22⁻¹] 且 V 块用 H 协方差、run_gblup 样本 tree 直连/名称兜底、未映射+多等位跳过,2026-08-04) + GS 专用 k-fold 交叉验证(genomic.kfold_cv_genomic 掩蔽留出 GEBV vs 表型实证 pearson/RMSEKFCV/GBLUP·KFCV/ssGBLUP、固定种子随机分层、G/H/Hinv 只建一次,run_cv 加 dataset_id/method/maf_min2026-08-04) + GWAS/QTL/MAS 闭环(GLM+PC 关联扫描 + QTL 定位 + MAS 面板,bre_gwas_result/snp + bre_qtl + bre_mas_panel/marker 五新表,decision_preview marker 条件,900214 页翻转,2026-08-04)
  • L4-3 AI 前瞻(V4.0):占位,触发细化=一期 Web 跑通真实数据 + 分子/统计数据到位。

三、时间线统一(波次 ↔ 版本,2026-07-29 定稿)

版本 周期(估) 波次 交付
V0.5 02 周 01 底座 + 基础数据闭环 + 性状导入模板
V1.0 212 周 24 育种流程核心 + 统计地基 + 统计一期2个(EBV+配合力)
V1.1 1218 周 4余+6部 遗传力/选择指数/EBV持久化 + 育种报告
V1.2 1824 周 5部 移动端田间采集
V2.0 分子层 5深+§6(4.34.5) 分子四表 + GS/GWAS/GBLUP
V3.0 保护+互操作 §4(2.142.15)+§7(0.8) DUS/登记 + BrAPI/MIAPPE
V4.0 AI 前瞻 §6(4.64.9)+图层 触发=一期跑通+分子/统计数据到位

四、与三份文档关系

  • 本文 = 统一映射总表,是模块级交叉引用的唯一真相。
  • 业务背景/10阶段 SOP → 桃育种系统业务功能规划报告.md
  • 顶层分层/波次/版本 → 桃育种系统功能规划(分层路线图).md v1.1
  • 字段级规格 → 桃育种系统模块扩展需求规格.md v2.11
  • 统计引擎落地台账桃育种系统统计引擎实施记录.md v1.52026-08-04G×E 引擎 + 性状方向标注 + 花粉档案 §3.19 + 选择指数无性系级聚合 + 配合力交配设计 + 统计严谨·MLOps 复现性①Calo②PA③溯源④germplasm_id⑤砧木⑥空间竞争 + 组合得失漏斗 + 精修项四连发(DUS 数据能力三表 / stage 感知 / k-fold CV / 按 site 公平性报告)+ 十一、六项能力完善MT-BLUP 遗传相关 / GBLUP-ssGBLUP 引擎 / DUS 特异性统计检验 / AMMI-FW 稳定性 / MLOps 重训回滚 / BLUP stage 拆分)+ 十二、田间试验精度补强·砧木×接穗随机互作 G×Rrootstock 第三随机效应槽,G×E 互斥,含探针验证与备份)+ 十三、十四2026-08-04 前段)+ 十五、GWAS/QTL/MAS 标记辅助选择闭环GLM+PC 求解器 / 5 新表 / gwas·qtl·mas-panel 端点 / decision_preview marker 条件 / 前端 900214 翻转 / 验证 7 段+回归零回归)+ 十六、九缺口补齐(经典侧计算端点 A5 数据质量/A3 遗传增益/A6 主动选配 + 分子侧严谨性 B1 EMMAX/B2 SSR 多等位虚拟编码/B3 QTL×E/B4 MAS 面板语义 + 求解器核心 A2 AR1×AR1 空间协方差/A7 稀疏 A⁻¹+共轭梯度+Hutchinson 可靠性,三批 e2e+回归全过)+ 十八、桃育种业务流全面完善(批A 业务数据链 A1-A6 / 批B 统计算法 B1-B4 / 批C 前端 C1-C4+ §18.5 世代闭环修复(单株晋级落系谱)+ §18.6 近交惩罚静默关闭修复(亲缘多源解析)+ §18.7 EBV 回退方法学修复(direct 优先+子代测验降权+双侧去重)+ §18.8 数据质量离群值方向语义修复(同向=精英 / 反向=疑似录入错误)+ §18.9 ΔG 投影假设 + 工程健壮性打磨note 假设声明 / spatial 缺坐标降级 / numpy 收敛向量化))
  • 数据表脚本(含本表所有表的最新建表 SQL)→ backend/sql/breeding_tables.sql