想象你是这座城市的交通规划师。台风季将至,市长要求你提前预测:哪些市民最容易在下班路上迷路?你派出几百名测绘员,拿着测量尺在全城逐街记录——每个路牌歪了几度、哪个路口缺了指示、哪里新立了警示牌。几天后,你得到一张巨细无遗的“路牌地图”。 这套操作,在基因组学里叫 GWAS(全基因组关联分析):把人类基因组当作城市,把每个 SNP(单核苷酸多态性)当作路牌,大规模比较“迷路的人”(病例)与“从不迷路的人”(对照)身上路牌的差异。 可你很快发现:真正让人迷路的,往往不是某一个路牌,而是上千个路牌各偏一点,再叠加暴雨、堵车、手机没电这些环境因素。你把所有路牌影响加总成一张“迷路风险积分”(PRS),却沮丧地发现——它只能把人群粗略分成“略高危”和“略低危”,根本无法精准点名。 问题出在哪?统计噪音、人群偏差、环境交互、疾病自身的复杂性……每个环节都在给这张地图画边界。本文就用这张城市地图,带你逐层看清 GWAS 与 PRS 的能力边界。
理解 GWAS 与 PRS 的能力边界,是精准医疗与药物基因组学算法工程师的基本功——交付模型时不夸大效果,部署前做好跨人群校准与验证。
可视化演示
演示GWAS与PRS在复杂疾病风险预测中的统计局限、人群代表性不足与改进方向,侧边指标实时联动。
本节配有交互动效(进入视口后自动加载,约 3KB)。
统计局限 效应微小 遗漏 h²=Σβ² 单变异效应微小且解释率有限
GWAS 基本原理
测绘队正式开工了。他们兵分两路:一路跟在“暴雨中真正迷过路的人”(病例组)身后,另一路跟着“从未迷过路的人”(对照组)。每经过一个路牌,就记下它的位置和状态;最后对比两组人身边路牌的差异。这种成千上万人规模的“路牌普查”,学术上叫全基因组关联分析(GWAS)——把路牌换成基因组上的单核苷酸多态性(SNP,即每个人基因组上可能不同的单个碱基位点),把迷路换成疾病。
技术上,GWAS 同时扫描全基因组约一百万个常见 SNP,逐一比较它们在病例组与对照组中的等位基因频率。某个 SNP 在病例里明显更常见,就说它“与疾病关联”。但“明显更常见”不能靠肉眼判断,必须用统计检验排除“纯属巧合”的可能。
最经典的检验是卡方检验:把每个 SNP 的携带情况整理成一张 2×2 列联表,比较“观测到的病例携带人数”与“假设毫无关联时理论上的期望人数”。
测绘任务的第一阶段结束,手上多了一张布满候选路牌的城市图。但请注意:频繁出现在迷路人身边的路牌,未必就是迷路的原因——它可能只是与真正作怪的“坏路灯”住在同一条街上的邻居。这个“邻居效应”在遗传学里叫连锁不平衡(LD),它决定了 GWAS 的产出永远是“线索清单”,而不是“因果定论”。
- 观测频数 \(O_i\)在病例组中实际数到的携带某等位基因的人数,对应测绘员在迷路人身边数到的路牌数量。
- 期望频数 \(E_i\)假设该 SNP 与疾病毫无关系时,理论上应该出现的携带人数,由行、列边际总数推算。
- 偏差平方归一把观测与期望的差平方后除以期望,既放大偏差又消除量纲影响。
- 求和判读把所有分组的偏差加总得到 \(\chi^2\),数值越大,关联信号越强。
复杂疾病特性
城市交通专家很快发现一个尴尬的事实:绝大多数迷路事件,无法归咎于某个单独的路牌。有人迷路是因为三四个路牌各歪了几度,加上那天下暴雨、手机没电、又赶上临时封路。高血压、2 型糖尿病、精神分裂这类复杂疾病正是如此——它们不像亨廷顿舞蹈症那样由单个基因主宰,而是数百上千个微效基因变异与环境因素共同拉扯的结果。
为了描述这种“多因素拉扯”,遗传学引入易感阈模型:每个个体体内有一个看不见的“易感值”,由所有遗传微效与环境噪声累积而成;只有当这个值超过某个发病门槛时,疾病才会显现。这就像一个人被无数小箭头推着走,每支箭头都只推一点点,但合力可能把他推过那条“患病线”。
易感阈模型的数学表达如下:
所以,一张只标注路牌的地图,天然预测不了暴雨。GWAS 的使命是记录“遗传路牌”,它能解释的天花板从一开始就被疾病的遗传力与复杂性限定。这也是为什么后续所有局限讨论,都绕不开“复杂疾病”这四个字。
- 个体易感值 \(y_i\)第 \(i\) 个人看不见的“迷路倾向”,是遗传与环境的总账。
- 遗传贡献项\(m\) 个 SNP 各自的微弱效应 \(\beta_j\) 乘上基因型 \(x_{ij}\) 后累加,相当于把所有路牌的偏转角度加总。
- 环境噪声 \(\varepsilon_i\)暴雨、堵车、心情波动等随机因素,无法由基因型预测。
- 阈值判断易感值超过门槛 \(T\) 才发病,\(\mathbb{I}\) 是指示函数,满足条件取 1,否则取 0。
统计局限
测绘队接着撞上了一堵墙:他们要在一百万个路牌上逐一回答同一个问题——“这个路牌和迷路有关吗?”如果每个问题都按日常标准(5% 犯错率)下结论,哪怕这座城市根本没有任何路牌出错,也会有约五万个路牌被冤枉成“问题路牌”。这就是多重检验带来的假阳性爆炸:问得越多,瞎猫碰上死耗子的事必然越多。
对策是收紧标准:把“整张地图最多允许 5% 假警报”的预算,均摊到一百万个路牌上。这就是 Bonferroni 校正:
代价随之而来:阈值越严,真正微弱的路牌越容易被漏掉。要探测 OR 仅 1.1 的微效位点且通过 5×10⁻⁸ 的关卡,需要数万到数十万人的样本;即便样本凑齐,全基因组显著位点能解释的遗传度,仍然远低于双胞胎研究估计的遗传力——这就是著名的“缺失遗传力”之谜。换句话说,越严格的地图绘制标准,越容易漏掉那些“每个只差一点点”的平凡路牌;而多基因疾病的真相,恰恰藏在千千万万个平凡路牌里。
- 名义显著性 \(\alpha\)我们允许整张地图最多出现 5% 的假路牌。
- 检验次数 \(m\)全基因组中需要检验的常见路牌数量,约一百万个。
- 均摊阈值把总预算平均分给每个路牌,得到单个检验的显著标准。
人群代表性不足
更麻烦的问题出在地图的地域性。过去十几年,绝大多数 GWAS 样本来自欧洲裔人群——相当于测绘队只在北京城仔细量过路牌,却拿着这张图给上海、东京、拉各斯的市民发导航。这种“欧洲人群偏倚”,让所谓“全球遗传风险预测”从一开始就站不稳。
遗传学上,不同人群的等位基因频率不同,连锁不平衡(LD)模式也大相径庭。某个欧洲人群里与疾病强关联的 SNP,到了东亚或非洲人群里,可能与真正的因果位点“失去邻居关系”——权重骤然失效。跨人群的预测力损失可以这样粗略描述:
现实数据非常残酷:欧洲训练的 PRS 在非欧洲人群中预测力普遍腰斩,部分疾病从 AUC≈0.70 跌到 0.55 附近,逼近抛硬币。这还带来公平性争议——明明最需要精准医疗的人群,反而因为队列单一而被服务得最差。地图的地域性决定了导航的边界:想让 PRS 普惠全球,第一步是把测绘范围扩展到每一个肤色与祖先背景。
- 原人群解释力 \(R^2_{\text{原}}\)模型在欧洲训练队列中能解释的遗传变异比例。
- 遗传相关性 \(\rho\)两个人群在风险位点频率与 LD 结构上的相似程度,取值 0 到 1,约等于 0 时路牌关系完全不同。
- 平方缩放等位基因频率与 LD 结构双重变化,使解释力按 \(\rho^2\) 衰减。
PRS 预测瓶颈
假设测绘队已经尽力,接下来要把地图变成一张“迷路积分卡”:对每个人,把他携带的所有风险路牌按严重程度加权加总,得到一个总分。这就是多基因风险评分(PRS)。
问题在于,这张积分卡在个体层面实在太钝。用 AUC 衡量排序能力,复杂疾病的 PRS 通常只有 0.6 左右——随机抽一个病人和一个健康人,只有 60% 的概率病人分数更高。病例与对照的 PRS 分布高度重叠,再加上“多高算高风险”的阈值没有统一标准,PRS 与年龄、血压、家族史等临床指标结合时的边际贡献常常很小。积分卡能粗分人群,却点不了名——对于“你到底会不会得病”这个问题,它给不出令人放心的答案。
- 基因剂量 \(x_{ij}\)第 \(i\) 个人在第 \(j\) 个位点上携带的风险等位基因数,通常是 0、1、2。
- 效应估计 \(\hat{\beta}_j\)从 GWAS 汇总统计中估计出的第 \(j\) 个 SNP 权重。
- 加权求和把 K 个位点的贡献乘加,得到该个体的分数。
改进方向
既然单一“路牌地图”不够用,城市管理者决定升级为“城市大脑”:不再只看静态路牌,而是接入实时交通流量、天气预报、路面修缮计划、司机疲劳度……对应到遗传学,就是从单一基因型快照,升级为多组学与环境的多维风险画像。
技术落点有三个:其一是多组学整合,把转录组、甲基化、蛋白组等“分子路况”纳入模型;其二是跨种族多样性队列,建立覆盖非洲、东亚、南亚等祖先背景的训练数据;其三是机器学习建模,让算法自动捕捉基因-基因、基因-环境的非线性交互。形式上,改进后的风险模型可以写成:
这些方向的共同点,是把“单一静态遗传快照”升级为“动态多维风险画像”。从静态地图到动态导航,预测力的提升不再只靠堆样本,而靠换维度——但也要清醒:维度再多,也改变不了复杂疾病本身的随机性与遗传力天花板。
- 基因型矩阵 \(X_{\text{基因}}\)传统的路牌信息,即 SNP 基因型。
- 分子组学 \(X_{\text{表达}}, X_{\text{甲基化}}\)道路的实时流量与路面状态,即基因表达与表观修饰。
- 环境暴露 \(X_{\text{环境}}\)天气预报与施工公告,即生活方式、污染物、药物等暴露。
- 非线性函数 \(f_{\text{ML}}\)机器学习模型自动组合上述特征,捕捉“组合拳”式的交互效应。
理性看待边界
城市下发最终提醒:地图永远只是工具,不是神谕。即使未来模型 AUC 拉到 0.75,也仍然有近一半的个体无法被准确点名。PRS 更适合指导“人群分层”——谁该更早筛查、谁该更积极干预——而不是“个体判命”。
用数学语言说,AUC 的含义是“随机抽一对病例与对照,病例分数更高的概率”:
临床应用必须守住三条红线:其一,任何 PRS 进入临床前要在前瞻性队列中验证,并与现有临床风险模型比较增量价值;其二,跨人群使用必须先重校准;其三,伦理上要防止保险歧视、过度医疗与“基因宿命论”造成的心理伤害。认清地图的边界,才能把地图用得更好——知道它不能做什么,才知道该在哪儿相信它。
- 配对比较随机抽取一个病例和一个对照,比较两者的 PRS。
- 概率即 AUC这个排序正确的概率就是 AUC 值。
- 对照随机水平随机猜测的 AUC 是 0.5,0.6 的增量只有 0.1。
AI 应用场景
药物基因组学中的用药剂量辅助
阶段:模型构建与预测
解决的问题:华法林等药物个体剂量差异大,传统固定剂量易导致出血或血栓。PRS 把多个药物代谢相关位点聚合成剂量评分,辅助临床初始剂量选择;但因训练人群单一,非欧洲患者必须先做本地校准。
具体案例:某临床决策系统给患者输出“华法林预测维持剂量”,对欧洲裔患者 AUC 达 0.67;直接套用于中国患者后 AUC 掉到 0.58,经东亚队列重训后回升至 0.64——“带地图跨城市”必须重绘局部路牌。
复杂疾病早筛风险分层
阶段:风险评估与分层
解决的问题:乳腺癌、冠心病等筛查资源有限,无法人人做高成本检查。PRS 可把人群粗略分为低、中、高风险带,指导筛查频率与起始年龄;但它不能单独确诊,必须与影像、生化标志物结合。
具体案例:某健康管理公司用 PRS + 家族史 + 血压把 40 岁以上人群分成三层,高危层乳腺癌检出率提升 2.3 倍,同时避免了给全人群做 MRI 的巨额成本——PRS 做“漏斗入口”,而非“最终判决”。
跨种族遗传咨询与公平性审查
阶段:模型评估与伦理校验
解决的问题:直接拿欧洲 PRS 给亚洲、非洲用户解读,会产生系统性高估或低估。需要做人群归因分析、重新校准与公平性指标审计。
具体案例:某基因检测公司在自有东亚队列上复算七款公开 PRS,发现两款跨种族 AUC 下降超 0.1,于是放弃原阈值,改用本地百分位重新定义“高风险”,并在报告中明确标注模型适用人群。
Python 演示
import random random.seed(42) def simulate_population(n, freq_shift): """生成 n 个样本, 60 个 SNP 的基因型矩阵 (0/1/2).""" geno = [] for _ in range(n): row = [] for k in range(60): p = max(0.02, min(0.98, 0.3 + k * 0.006 + freq_shift)) row.append((1 if random.random() < p else 0) + (1 if random.random() < p else 0)) geno.append(row) return geno def make_liability(geno, betas, env_sd): """易感性 = 遗传效应累加 + 环境噪声.""" y = [] for row in geno: g = sum(b * g_ij for b, g_ij in zip(betas, row)) y.append(g + random.gauss(0, env_sd)) return y def make_phenotype(y, prevalence): """按患病率切出病例(1)与对照(0).""" threshold = sorted(y)[int(len(y) * (1 - prevalence))] return [1 if v >= threshold else 0 for v in y] def assoc_score(geno, pheno): """每个 SNP 做 2x2 卡方检验, 返回关联强度分.""" scores = [] for k in range(len(geno[0])): a = b = c = d = 0 for i, row in enumerate(geno): carry = 1 if row[k] > 0 else 0 if pheno[i] == 1 and carry == 1: a += 1 elif pheno[i] == 1: b += 1 elif carry == 1: c += 1 else: d += 1 n = a + b + c + d denom = (a + b) * (c + d) * (a + c) * (b + d) if denom == 0: scores.append(0.0) else: scores.append(n * (a * d - b * c) ** 2 / denom) return scores def effect_sign(geno, pheno, k): """病例中频率高于对照则效应为正, 否则为负.""" n_case = sum(pheno) n_ctrl = len(pheno) - n_case fc = sum(row[k] / 2 for i, row in enumerate(geno) if pheno[i] == 1) / n_case fh = sum(row[k] / 2 for i, row in enumerate(geno) if pheno[i] == 0) / n_ctrl return 1.0 if fc > fh else -1.0 def prs(geno, weights, top_k=10): """取关联最强的 top_k 个 SNP 加权求和.""" idx = sorted(range(len(weights)), key=lambda j: -abs(weights[j]))[:top_k] return [sum(weights[j] * row[j] for j in idx) for row in geno] def calc_auc(scores_case, scores_ctrl): """用病例秩和估算 AUC.""" merged = sorted(scores_case + scores_ctrl) r_sum = sum(merged.index(s) + 1 for s in scores_case) n1 = len(scores_case) n2 = len(scores_ctrl) return (r_sum - n1 * (n1 + 1) / 2) / (n1 * n2) betas = [0.08 if k % 3 == 0 else 0.02 for k in range(60)]eu_geno = simulate_population(800, 0.0)eu_y = make_liability(eu_geno, betas, 1.2)eu_pheno = make_phenotype(eu_y, 0.25) half = len(eu_geno) // 2tr_geno, tr_pheno = eu_geno[:half], eu_pheno[:half]va_geno, va_pheno = eu_geno[half:], eu_pheno[half:]asso = assoc_score(tr_geno, tr_pheno)weights = [asso[k] * effect_sign(tr_geno, tr_pheno, k) for k in range(60)] case_va = prs([row for i, row in enumerate(va_geno) if va_pheno[i] == 1], weights)ctrl_va = prs([row for i, row in enumerate(va_geno) if va_pheno[i] == 0], weights)print("欧洲人群内部验证 AUC:", round(calc_auc(case_va, ctrl_va), 3)) cn_geno = simulate_population(800, 0.25)cn_y = make_liability(cn_geno, betas, 1.2)cn_pheno = make_phenotype(cn_y, 0.25)case_cn = prs([row for i, row in enumerate(cn_geno) if cn_pheno[i] == 1], weights)ctrl_cn = prs([row for i, row in enumerate(cn_geno) if cn_pheno[i] == 0], weights)print("跨人群迁移后 AUC:", round(calc_auc(case_cn, ctrl_cn), 3))
p = max(0.02, min(0.98, 0.3 + k * 0.006 + freq_shift))给每个 SNP 设基础频率,freq_shift模拟不同人群的等位基因频率偏移。y.append(g + random.gauss(0, env_sd))易感性由遗传累加值与环境噪声相加而成,体现“多基因 + 环境”模型。threshold = sorted(y)[int(len(y) * (1 - prevalence))]用患病率倒推发病门槛,超过它才标记为病例。scores.append(n * (a * d - b * c) ** 2 / denom)卡方统计量,衡量这个“路牌”与疾病的关联强度。return 1.0 if fc > fh else -1.0病例中频率更高则权重为正,否则为负,决定风险方向。idx = sorted(range(len(weights)), key=lambda j: -abs(weights[j]))[:top_k]只保留关联最强的 top_k 个位点构建 PRS。return (r_sum - n1 * (n1 + 1) / 2) / (n1 * n2)用病例秩和换算 AUC,衡量两组评分分布的重叠程度。
常见误区
误区GWAS 出来一串显著 SNP,这不就等于找到致病基因了吗?下一步把它敲掉不就能治好病?
正解关联不等于因果。GWAS 标出的路牌往往只是“住在因果路牌隔壁的邻居”——因为连锁不平衡,真正致病的变异常藏在同一区块里没被直接看到。而且绝大多数显著位点位于非编码区,连“影响哪个基因、哪条调控通路”都还不知道。
为何常见:媒体习惯把“找到风险基因”简化成“找到病因”,再加上单基因病的直觉被错误外推到多基因病。
误区我的多基因风险评分是别人的三倍,那我大概率会生病吧?要不要现在就做预防性手术?
正解PRS 是概率排序,不是命运判决书。AUC≈0.6 意味着个体层面区分力很弱;复杂疾病发病还受环境、生活方式与随机因素牵制。高风险只提示“更值得主动筛查和健康管理”,绝不是“必然患病”。
为何常见:人们习惯把“风险倍数”当成“患病概率”,忽略了绝大多数风险评分在个体水平上的预测误差巨大。
误区只要 GWAS 样本量堆到百万级,PRS 准能精准预测,问题只是钱没花够。
正解增加样本只能提升对微效位点的检测力,却不能突破两个天花板:疾病本身的遗传力有限(环境主导的部分再多样本也学不到),以及训练人群单一导致的可迁移性缺陷。百万欧洲样本去预测非洲人群,照样接近随机。
为何常见:深度学习“数据越多越强”的经验被过度外推,忽视了遗传流行病学中人群结构与遗传力天花板的特殊性。
误区这个 SNP 的 p 值 3×10⁻¹⁰,比阈值还低好几个数量级,肯定是很重要的药物靶点。
正解统计显著只说明“关联不太可能是巧合”,不代表效应量大。全基因组显著位点的 OR 常常只有 1.05 到 1.3,临床上一个病人的治疗决策几乎不会因此改变。显著性与临床重要性是两把不同的尺子。
为何常见:显著性阈值深植于统计文化,“极小极小”的 p 值天然带来“极强极强”的错觉,而 OR=1.05 的收益在个体层面几乎不可感知。
误区欧洲训练的 PRS 用在亚洲人身上,无非是准头差一点,凑合着也能用。
正解不是“差一点”。由于等位基因频率和 LD 结构差异,跨人群 AUC 可能从 0.70 掉到 0.55 附近,逼近抛硬币。必须用本地人群队列重新估计频率、重训或至少重校准,否则可能系统性误分类。
为何常见:模型部署时默认“人种差异只影响一个常量”,忽略了遗传结构层面的系统性差异。
面试题
Q1. GWAS 中常见的多重检验校正后的显著阈值是?
- A.p 值小于 0.05 即可
- B.p 值小于 5×10⁻⁸← 正确答案
- C.p 值小于 0.50 即可
- D.p 值小于 0.005
答案:B。5×10⁻⁸ 来自约一百万次独立检验的 Bonferroni 校正(0.05 ÷ 10⁶),相当于把“5% 假警报预算”平均分给一百万个路牌。A、C、D 都太宽松,假阳性会爆炸。
Q2. 复杂疾病中单个风险 SNP 的效应通常是?
- A.效应极大趋于 50 倍
- B.效应微小仅 1.1 倍← 正确答案
- C.效应为零无任何影响
- D.效应由环境单独决定
答案:B。复杂疾病由上千个微效位点共同驱动,单个 SNP 的 OR 常在 1.05 至 1.3 之间,就像每个路牌只偏一点方向。A 是孟德尔单基因病的特征,C、D 与多基因模型矛盾。
Q3. “缺失遗传力”指的是哪种现象?
- A.遗传力随年龄增长而消失
- B.已发现位点遗传度远低于家系估计← 正确答案
- C.环境误差完全压制了遗传效应
- D.所有复杂疾病的遗传力均为零
答案:B。双胞胎与家系研究估计的遗传力,远高于 GWAS 已发现位点能解释的部分,差额就是“缺失遗传力”——大量微效位点因效应太弱、过不了显著阈值而被漏掉。
Q4. PRS 对个体做风险评分的数学本质是?
- A.求多个风险 SNP 基因型的加权累加和← 正确答案
- B.计算单个主效基因的显性概率
- C.对疾病相关蛋白做三维结构预测
- D.用连锁图谱定位致病染色体区段
答案:A。PRS 是把 K 个风险位点的基因剂量乘上估计效应量后求和。B 是单基因概率思维,C 是结构生物学,D 是连锁分析,都与多基因风险评分的定义无关。
Q5. 欧洲人群训练的 PRS 用于东亚人群时的主要制约是?
- A.各人群连锁不平衡与频率差异大← 正确答案
- B.东亚人群很难开展大范围测序
- C.连锁不平衡在所有人群中一致
- D.等位基因频率全部等于零点五
答案:A。不同人群的等位基因频率和 LD 模式差异巨大,导致权重失效、预测力骤降。B 与事实不符,C、D 违背群体遗传学常识。
Q6. AUC 为 0.6 的 PRS 在风险分层的正确解读是?
- A.患者得分高于健康人的概率六成← 正确答案
- B.能够准确确诊百分之六十的病例
- C.误诊健康人的比例恰好是四成
- D.疾病总体发病率因此下降六成
答案:A。AUC 的定义是“随机病例得分高于随机对照的概率”,0.6 意味着排序只比抛硬币好 10%。B 说的是灵敏度,C 说的是误报率,D 混淆了预测与干预,均不等于 AUC。
Q7. GWAS 无法直接给出因果基因,最直接的原因是?
- A.测序技术无法读取任何基因序列
- B.显著位点全都位于编码区之内
- C.基因与疾病之间根本不存在任何联系
- D.显著位点多在非编码区且受 LD 遮蔽← 正确答案
答案:D。GWAS 的显著位点大多落在非编码区,且因连锁不平衡,真正起作用的因果位点往往被“邻居”信号掩盖。A、B、C 都与基因组学基本事实相反。
Q8. PRS 预测精度的主要瓶颈包括哪些?
- A.单个 SNP 效应微小难以估准← 正确答案
- B.交互作用与环境因素被忽略← 正确答案
- C.训练样本存在的人群偏见← 正确答案
- D.人类基因组序列已经完全已知
答案:ABC。微效效应难估计、忽视交互与环境、训练人群单一,三者在正文中均为瓶颈。D 错误——序列已知不代表风险机制已知,更不等于能精准预测。
Q9. 以下哪些属于改进复杂疾病风险预测的方向?
- A.纳入多组学与环境暴露数据← 正确答案
- B.建设跨种族多样性研究队列← 正确答案
- C.用机器学习捕捉非线性交互← 正确答案
- D.放弃统计方法只看单个基因
答案:ABC。多组学整合、跨种族队列、机器学习建模都是改进方向。D 是开倒车——单基因视角无法刻画多基因复杂疾病。
Q10. 关于 PRS 临床应用,下列哪些说法正确?
- A.单独 PRS 不足以指导个体用药← 正确答案
- B.高风险评分不等于必然患病← 正确答案
- C.跨人群应用前需重新校准验证← 正确答案
- D.PRS 可完全取代基因组测序
答案:ABC。PRS 目前只能辅助风险分层,不足以单独指导个体用药;高危不等于确诊;跨人群必须重校准。D 夸大了 PRS 的能力,它只是风险评分,不能替代测序或确诊手段。