想象这样一个场景:一个叫小铭的孩子,从小发育比同龄人慢,头围偏小,笑起来总带着一种让人捉摸不透的天真,跑起步来摇摇晃晃。家人带他跑遍了大城市的医院,眼科、神经科、儿保科看了个遍,却始终没有一个统一的诊断。医生说:“有点像这个,又有点像那个。” 罕见病之所以“罕见”,恰恰是因为它的线索散落在不同的表象里,像极了一个走失的孩子:目击者只记得他穿红衣服、戴黑框眼镜、左眼角有颗痣,但这些描述若不能用统一的话术记录,换一个警局就没人听得懂。 这正是“表型-基因型匹配与面部识别(FDNA)”这套技术的价值。它像一套完整的“寻人启事系统”:把患者的症状(表型)用标准化“黑话”编码成像 HPO 这样的描述语言;把基因看作最终确认身份的“指纹”;再用匹配算法在数据库里“按描述找人”;最后,FDNA 这样的人脸识别技术,像刑侦专家端详照片一样,凭借一张脸也能指认方向。这篇文章会带你完整走一遍这条“寻人破案”的流程,并对比几款主流工具,帮你理解罕见病 AI 诊断是怎么一步步把“也许”变成“确诊”的。

岗位关联

对 AI 从业者而言,这是一套“医疗多模态数据 + 匹配排序 + 验证闭环”的完整产品范式:理解表型编码、匹配算法与验证流程,你就能设计出真正能被临床采纳的辅助诊断系统,而不是一个只能跑准确率的玩具模型。

目录
  1. 可视化演示
  2. 表型编码:把症状翻译成“标准黑话”
  3. 匹配算法:在基因库里“按描述找人”
  4. 面部识别:看一眼脸也能认人
  5. 验证确诊:拿到“指纹”才算破案
  6. 主流方案对比:刑侦工具箱怎么选
  7. 挑战与展望:没有完美照片的时候
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示罕见病诊断中表型-基因型HPO匹配、FDNA面容特征点识别、多维度诊断流程及方案准确率对比,含粒子场背景和发光动画。

本节配有交互动效(进入视口后自动加载,约 3KB)。

表型编码:把症状翻译成“标准黑话”

寻人启事要有效,前提是所有警局共用同一套描述语言。A 医生写“孩子脑袋比同龄人小一圈”,B 医生写“头围显著落后”,C 护士写“瓜子脸但头偏小”——三份记录放在一起,计算机根本不知道该把它们当成同一类线索。在罕见病领域,这套“标准黑话”就是 HPO(人类表型本体论,Human Phenotype Ontology)。它把几千种可观察的症状,比如小头畸形、连眉、指尖溃疡,整理成一棵巨大的分类树,每个节点都有唯一编号,比如“小头畸形”对应 HP-0000252。这样一来,全世界的医生描述患者时,用的是同一套“字典”,数据就能互通了。

从比喻回到技术:HPO 本质上是一个有向无环图,越上层越抽象(“神经系统异常”),越下层越具体(“癫痫持续状态”)。诊断时,医生把患者的异常体征一一映射到 HPO 节点上,这个过程叫“表型注释”。注释质量直接决定后续匹配效果,因为算法看不见患者本人,它只能通过这些编码后的标签来判断“这位患者和哪种综合征最像”。

HPO 还有一个精妙设计:用“信息量”给症状赋权重。它类似于“情报稀有度”——如果某种面部特征在 90% 的综合征中都会出现,那它对鉴别诊断几乎没有帮助;反过来,一个只出现在极少数疾病中的特殊表型,就像目击者记得“左眼角有颗星星形的痣”一样,是极具区分度的线索。

打个比方:如果小铭的眼距过宽是几乎每个罕见病孩子都有的“大众脸”特征,这条线索一分钱不值;而如果“笑得异常频繁且不合时宜”几乎只出现在 Angelman 综合征中,那它直接指向了破案方向。HPO 的信息量加权,就是让那些“不起眼却关键”的表型在匹配时大声说话。

IC(c)=−log⁡2ncNIC(c) = -\log_2 \frac{n_c}{N}
这个公式计算某个 HPO 表型节点的信息量。节点出现得越少,信息量越大,在匹配时权重越高,即“越特异越值钱”。
  1. 统计出现次数统计该表型在数据库全部患者记录中出现的次数,记为 n_c。
    ncn_c
  2. 计算频率占比用 n_c 除以总记录数 N,得到该表型的出现频率。
    ncN\frac{n_c}{N}
  3. 取负对数得到信息量频率越低,-log2 后的值越大,代表这条“情报”越稀有、越能帮助区分不同疾病。
    −log⁡2ncN-\log_2 \frac{n_c}{N}

匹配算法:在基因库里“按描述找人”

寻人启事发布后,警局的数据库开始“按描述模糊检索”:红色上衣优先、黑框眼镜加分、眼角有痣强匹配——把所有走失者记录按匹配度打分排序。罕见病的表型-基因型匹配算法做的是同样的事:把患者编码后的 HPO 表型集合,与数据库中每一种已知综合征的典型表型集合进行相似度计算,再按分数从高到低给出候选疾病列表。

最直观的度量叫 Jaccard 相似度,它的逻辑像“两个朋友圈的重合度”:两人共同好友数,除以两人好友去重后的总数。比值越接近 1,说明患者表型与某综合征越“气味相投”。当然,真实系统不会只用朴素集合交并,而是用 HPO 树上的语义距离做加权——两个表型哪怕关键字不完全相同,只要在 HPO 树上是近亲(比如“小头畸形”与“头围减小”),也能获得部分相似度。

回到寻人的故事:数据库检索不是直接给“就是他”的结论,而是给一位“嫌疑人排序清单”,小铭的名字排第一,只是因为他的体貌特征与档案匹配度最高。真正的确认,还得等后面的“指纹鉴定”。所以匹配算法的输出永远是候选列表,而不是确诊报告——这是理解整个系统边界的关键。

J(A,B)=∣A∩B∣∣A∪B∣J(A, B) = \frac{|A \cap B|}{|A \cup B|}
这是匹配算法中最基础的相似度公式:患者表型集合 A 与综合征表型集合 B 的共同特征数,除以两集合合并后的总特征数。
  1. 求交集找出患者和某综合征共同拥有的表型特征。A 与 B 的交集越大,说明相似证据越多。
    ∣A∩B∣|A \cap B|
  2. 求并集把患者和该综合征的全部表型特征合并成一个集合,去重后计数。并集越大,说明两方的“差异面”也越大。
    ∣A∪B∣|A \cup B|
  3. 求出相似度比值交集除以并集,结果落在 0 到 1 之间。0 代表毫无共同点,1 代表表型完全一致,分数越高,候选排名越靠前。
    ∣A∩B∣∣A∪B∣\frac{|A \cap B|}{|A \cup B|}

面部识别:看一眼脸也能认人

有些走失孩子没有清晰的体貌描述,但家人提供了一张照片。刑侦专家盯着照片,能从眉骨间距、鼻翼宽度、耳廓形状里读出线索。FDNA 公司的 Face2Gene 正是把这种“以貌取人”的专家能力自动化了,它从患者一张正面照片中提取面部“表型特征”,再去比对数据库中数百种已知会改变面容的综合征。

技术上,Face2Gene 背后的主力是卷积神经网络(CNN)——一种专门处理图像的深度学习模型。你不需要懂卷积的数学细节,只需想象:第一层网络像新手警察,只会看“这里是边缘、那里是色块”;层数越深,它越像老刑警,能看出“颧骨发育不全”“眼裂上斜”这样高层次的医学面部特征。最终,整张照片被压缩成一条几百维的“特征向量”,相当于把一张脸翻译成一串可以计算的数字密码。

小铭的案例里,Face2Gene 会对比出他微笑的独特曲线、眼距与额骨形态,然后输出一个支持度列表:“该面容与 Angelman 综合征相关面部特征有较高吻合”。但要记住,面容只是侦探的一个放大镜,它帮你在白板上圈出嫌疑人范围,却从不说“此人就是凶手”。

F(I)=pool(ϕ(W∗I+b))F(I) = \mathrm{pool}\big(\phi(W \ast I + b)\big)
该公式描述了 CNN 提取面部特征的一层核心运算:卷积核对图像做局部扫描、加权求和,经过非线性激活后压缩,逐步抽象出有医学意义的表型特征。
  1. 卷积扫描一个小滑块(卷积核 W)在照片 I 上滑动,每个位置做加权求和,捕捉眉骨、嘴角这类局部模式。
    W∗IW \ast I
  2. 加偏置与激活加上偏置项 b,再用非线性激活函数 φ(常用 ReLU),只保留有用的响应,模拟“神经元被激活”。
    ϕ(W∗I+b)\phi(W \ast I + b)
  3. 池化压缩把一个小区域内的响应合并成一个代表值,既降低计算量,也让特征对照片平移、缩放更鲁棒。
    pool(⋅)\mathrm{pool}(\cdot)

验证确诊:拿到“指纹”才算破案

算法和面容分析给出了“嫌疑人排名第一”,但寻人案要结案,必须走司法鉴定——提取指纹。在罕见病诊断里,“基因指纹”就是 DNA 测序:对候选基因做 Sanger 测序(一种精确读取单个基因序列的方法),检查是否存在致病变异。如果患者真的在 UBE3A 基因上发现了已知致病突变,那小铭的诊断就从“疑似”变成了“实锤”。

除了测序,还要做家系共分离分析:如果这个突变是遗传的,那患者的父母、兄弟姐妹中,谁带这个突变谁就表现相似症状,这像验证“这枚指纹到底是谁的”——要跟嫌疑人全家采集指纹比对,看遗传规律是否符合孟德尔模式。如果是新发突变(父母都没有、孩子自己产生),反而更支持致病性,因为很多严重罕见病新发突变比例很高。

小铭的结案报告长这样:“表型匹配度 85%,Face2Gene 面容高度吻合,Sanger 测序确认 UBE3A 致病突变,父母均未携带,系新发突变。”,四个证据环环相扣,谁也不能独挑大梁。所以罕见病诊断从来不是单靠一个 AI 或者一条公式就能拍板的,而是一条“线索 → 候选 → 验证 → 定论”的完整证据链。

P(D∣T)=P(T∣D)⋅P(D)P(T)P(D|T) = \frac{P(T|D) \cdot P(D)}{P(T)}
贝叶斯公式是验证流程的数学内核:用“检测到突变 T 时携带疾病 D 的后验概率”,将先验估计与遗传证据结合起来,判断离确诊还有多远。
  1. 先验概率在拿到测序结果前,根据表型匹配分数和人群患病率,估计该疾病的初始概率。
    P(D)P(D)
  2. 似然度已知一个人真患病时,测序出现当前变异结果的概率。变异越罕见、致病证据越强,这个值越大。
    P(T∣D)P(T|D)
  3. 证据总概率不论是否患病,人群中出现该变异结果的总体概率,用于归一化。
    P(T)P(T)
  4. 后验概率把先验与证据相乘再归一化,得到“综合所有信息后仍患病”的最终概率。后验足够高,临床医生才会下确诊结论。
    P(D∣T)=P(T∣D)⋅P(D)P(T)P(D|T) = \frac{P(T|D) \cdot P(D)}{P(T)}

主流方案对比:刑侦工具箱怎么选

不同警局有不同的预算和装备,罕见病诊断工具也一样。最出名的三件套是:Face2Gene、Phenomizer、Exomiser。它们不是同一类东西,就像“监控探头”、“口供笔录系统”和“DNA 实验室”各管一段。Face2Gene 主打面容照片 + 表型文本,适合门诊快速初筛,尤其适合那些面容特征明显的综合征;Phenomizer 是老牌纯文本工具,输入一组 HPO 表型,它基于语义相似度给出候选疾病排序,可靠性扎实但看不到脸;Exomiser 则是“全案分析员”,它把表型匹配与全外显子组测序数据放在一起,直接输出候选基因并给出致病性评分。

选型没有绝对最优,只有“你的场景缺什么”。如果团队没有测序条件,只想做临床初筛,Face2Gene 或 Phenomizer 就够用;如果医院有测序平台且希望一步到位找到致病基因,Exomiser 更强。关键是用一个阈值来守住候选质量:无论哪种工具,只有相似度超过某个门槛的候选才值得进入后续验证,就像警局不会把“交通违章”记录也拉进命案嫌疑人名单。

回到寻人案,这就是“情报例会上的筛选规则”:目击描述匹配度低于六成的报案,先挂起不查;只有高匹配度的线索才有资格动用人力和测序资源。一个好的选型负责人,就像精明的刑侦队长,知道自己手头有什么数据、什么工具链,以及每件工具的局限性在哪里。

Smatch=J(p,q)≥θS_{match} = \mathrm{J}(p, q) \ge \theta
这是“候选进入验证流程”的准入标准:患者表型 p 与某综合征 q 的相似度得分必须达到阈值 θ,才有资格被列入后续基因验证名单,防止大量低分噪音浪费测序成本。
  1. 计算匹配得分用 Jaccard 相似度公式,算出患者表型 p 与综合征 q 的匹配分数。
    J(p,q)\mathrm{J}(p, q)
  2. 设置经验阈值θ 是经过临床数据校准的门槛,比如 0.6。低于它,工具会提示“无显著匹配”。
    θ\theta
  3. 阈值比较只有当 J(p,q) 大于等于 θ,该综合征才会进入最终的候选验证队列。
    J(p,q)≥θ\mathrm{J}(p, q) \ge \theta

挑战与展望:没有完美照片的时候

寻人系统再强大,也会遇到“孩子走丢时还没拍过几张清晰照片”的窘境。罕见病诊断的挑战同样是数据质量与覆盖度。第一道坎是表型异质性——同一个致病基因在不同患者身上可能表现完全不同,有人小头畸形明显,有人仅轻微发育迟缓,这让标准的“典型表型画像”失灵。第二道坎是数据稀缺——每种罕见病可能全球只有几百个确诊案例,训练数据少得可怜,FFace2Gene 在非白人族群上的表现会明显打折,正如监控系统在亚洲人脸上识别率更高,是因为训练集里有更多亚洲面孔。

还有隐私伦理问题:面容数据是高度敏感的生物特征,罕见表型数据一旦泄露,可能直接关联到具体个人及其家庭,所以数据去标识化、知情同意、存储安全是整个系统必须背上的“合规包袱”。展望未来,方向很明确:多模态融合——把文本表型、面部影像、基因组变异、甚至语音步态整合进一个模型,让各模态互相补位。面容不像就听声音,声音不像就看基因,用一个加权综合分数减少单点失效的风险。

小铭的故事,其实是成千上万罕见病患者家庭的缩影。表型编码提供了共同的“语言”,匹配算法圈出嫌疑人,人脸识别补上一块拼图,基因测序落下法槌。未来,当更多临床数据被打通、多模态模型不断进化,“无处安放的怪病”会越来越少,每一个“小铭”都能更快找到回家的路。

Sfinal=λ⋅Spheno+(1−λ)⋅SfaceS_{final} = \lambda \cdot S_{pheno} + (1-\lambda) \cdot S_{face}
多模态融合的加权评分公式:最终罕见病匹配分数 = 文本表型得分与面容特征得分的加权和,λ 控制两种模态的信任比例。
  1. 文本表型得分来自 HPO 表型集合匹配的相似度分数,代表“症状描述的吻合度”。
    SphenoS_{pheno}
  2. 面容特征得分来自 Face2Gene 这类深度模型的面容比对分数,代表“长相的吻合度”。
    SfaceS_{face}
  3. 权重调和λ 在 0 到 1 之间取值。当患者有典型面容时调低 λ;当表型记录详尽但照片模糊时调高 λ。最终加权和就是系统给出的综合可信度。
    λ⋅Spheno+(1−λ)⋅Sface\lambda \cdot S_{pheno} + (1-\lambda) \cdot S_{face}

AI 应用场景

遗传咨询门诊的 AI 初筛助手

阶段:数据采集与辅助诊断排序

解决的问题:传统门诊中,儿科医生面对罕见病疑似患儿往往依赖个人经验,查阅文献耗时极长,且容易漏诊。AI 系统可基于患者表型编码与面容照片,在数分钟内输出候选综合征排序,显著缩短“首次就诊→疑似诊断”的时间。

具体案例:某大型儿童医院在神经内科门诊部署 Face2Gene 工作流。医生接诊一名 3 岁发育迟缓患儿时,拍摄正面及侧面照片各一张,录入“共济失调、语言缺失、易笑”三条 HPO 表型,系统将 Angelman 综合征列为第一候选。随后医生安排 UBE3A 基因 Sanger 测序,确诊并转入早期康复干预。

医院罕见病表型-基因型本地数据库建设

阶段:数据标准化与存储

解决的问题:医院间病历中非结构化描述(“孩子不长个”“发育慢”)无法被算法直接利用。建设基于 HPO 的结构化表型库,配合匹配算法,能盘活沉睡的历史病历数据。

具体案例:某区域性罕见病中心将过去 10 年 5000 余份疑似病历重新用 HPO 注释,并与本地全外显子组测序数据库关联。半年内通过“表型重分析”找回 23 例此前漏诊的罕见病确诊,其中 8 例因此获得靶向治疗方案。

药物临床试验中的罕见病患者分层入组

阶段:人群筛选与分层

解决的问题:罕见病药物研发最难的往往是“找到对的病人”。传统招募靠广告与医生推荐,效率低、误筛率高。表型-基因型匹配可先基于表型粗筛,再用基因验证精筛,快速锁定携带特定靶点基因型的患者亚群。

具体案例:一家基因治疗公司研发针对特定 SLC6A1 突变的儿童癫痫罕见病药物,使用匹配算法在全国 14 家医院筛查候选患者,将原本预计 2 年的入组缩短至 9 个月,且入组患者基因型符合率达 97%。

Python 演示

python71 行
# -*- coding: utf-8 -*-"""罕见病表型-基因型匹配演示流程:患者表型集 -> 与综合征表型库做 Jaccard 相似度计算      -> 候选排名 -> 关键表型验证 -> 推荐基因测序""" # 模拟 HPO 表型知识库:每种综合征对应表型集合与关联致病基因PHENOTYPE_LIB = {    "Angelman": {        "phenotypes": {"发育迟缓", "智力障碍", "小头畸形", "共济失调", "易笑", "语言缺失"},        "gene": "UBE3A",    },    "Rett": {        "phenotypes": {"发育迟缓", "智力障碍", "语言缺失", "手部刻板", "步态异常"},        "gene": "MECP2",    },    "Noonan": {        "phenotypes": {"发育迟缓", "矮小", "蹼状颈", "眼睑下垂", "胸骨畸形"},        "gene": "PTPN11",    },    "Apert": {        "phenotypes": {"发育迟缓", "颅缝早闭", "并指", "高拱腭", "面部特征异常"},        "gene": "FGFR2",    },}  def jaccard_similarity(set_a, set_b):    """计算两个表型集合的 Jaccard 相似度:交集大小 / 并集大小"""    if not set_a or not set_b:        return 0.0    inter = len(set_a & set_b)    union = len(set_a | set_b)    return inter / union  def match_genes(patient_phenotypes, top_k=3):    """将患者表型与库中综合征逐一比对,返回 Top-K 候选(含推荐基因)"""    scores = {}    for syndrome, info in PHENOTYPE_LIB.items():        scores[syndrome] = jaccard_similarity(patient_phenotypes, info["phenotypes"])    ranked = sorted(scores.items(), key=lambda x: x[1], reverse=True)    return [        (name, score, PHENOTYPE_LIB[name]["gene"])        for name, score in ranked[:top_k]    ]  def verify_key_phenotype(syndrome, patient_phenotypes):    """临床验证:检查患者是否具有该综合征的关键判别性表型"""    key_features = {        "Angelman": {"易笑"},        "Rett": {"手部刻板"},        "Noonan": {"蹼状颈"},        "Apert": {"并指"},    }    return key_features[syndrome] <= patient_phenotypes  if __name__ == "__main__":    patient = {"发育迟缓", "智力障碍", "小头畸形", "共济失调", "易笑", "语言缺失"}    print("患者表型特征:", sorted(patient))    print("\n候选综合征排名(表型-基因型匹配):")    for name, score, gene in match_genes(patient):        print(f"  {name}: Jaccard = {score:.3f} | 建议测序基因: {gene}")     top_name = match_genes(patient)[0][0]    if verify_key_phenotype(top_name, patient):        print(f"\n关键表型验证通过 -> 高度怀疑 {top_name} 综合征")        print("最终确诊需结合 Sanger 测序与家系共分离分析")
目的:模拟从患者表型集合出发,与四种常见综合征做 Jaccard 相似度匹配,输出候选排名与推荐测序基因,并做关键表型验证。
  1. ## 模拟 HPO 表型知识库每个综合征存有典型表型集合和已知致病基因,相当于“疑犯档案库”。
  2. if not set_a or not set_b: return 0.0空集合无法计算相似度,直接返回 0,避免除零错误。
  3. inter = len(set_a & set_b)用集合求交集,得到患者与某综合征共享的表型数量。
  4. union = len(set_a | set_b)用集合求并集,得到两方表型去重后的总数。
  5. scores[syndrome] = jaccard_similarity(...)对每个综合征逐一打分,生成“嫌疑人评分表”。
  6. ranked = sorted(scores.items(), key=lambda x: x[1], reverse=True)按相似度降序排序,让最高分候选浮到榜首。
  7. verify_key_phenotype(top_name, patient)模仿临床金标准流程:即使相似度第一,也要检查关键判别性表型是否真的存在,防止“形似神不似”。

常见误区

误区听说 AI 能诊断罕见病,就觉得把表型输进去,排名第一的结果就是最终诊断。患者家属甚至一些年轻医生都会拿着 Face2Gene 的 Top1 报告直接下结论。

正解匹配算法输出的只是“表型最像”,跟侦探圈出嫌疑人是一个意思。真正的确诊必须要有基因层面的铁证,比如 Sanger 测序找到致病突变、家系共分离符合遗传规律。否则一个面容相似但基因不同的综合征完全可能误导治疗方向。

为何常见:因为产品界面往往把高高的匹配百分比做得非常醒目,而“仅供验证参考”的提示藏在角落,人性天然倾向信任一个具体数字。

误区以为 Face2Gene 是“罕见病拍照识病 App”,任何疑难杂症拍个正面照就能得到答案。

正解面部识别只对“有特征性面容改变”的综合征有效——比如 Williams 综合征、Angelman 综合征确实有典型面容,但大量罕见病(如部分代谢病)面容完全正常或仅轻微异常。此外算法性能高度依赖训练数据,非白人族群、不同年龄段的面容基线差异都会明显拉低准确性。

为何常见:营销材料爱展示“一张照片锁定罕见病”的成功案例,大众很容易把辅助筛查工具神化为万能诊断仪。

误区既然 AI 看一眼脸就能给出候选疾病,那还有必要花大几千块钱做基因测序吗?会不会是医院为了创收才坚持测序?

正解面容分析定位的是“表型空间”,它回答“这像哪种病”;基因测序验证的是“分子空间”,回答“致病突变到底存不存在”。二者的关系是嫌疑画像与 DNA 比对:画像再传神,也可能撞脸;只有突变实锤,才能指导用药和预后判断。临床指南从来没有把面容识别当作确诊依据。

为何常见:人们习惯把 AI 类比成“一眼识人”的黑科技,忽略了医学诊断对因果证据的严谨要求,也低估了表型与基因型并非一一对应的复杂性。

误区觉得 HPO 就是把病历里的症状翻译成代码,是一个文档规范层面的工作,对诊断没什么实际作用。

正解HPO 是整个“寻人系统”的语言底座。没有它,匹配算法就无法跨机构计算相似度,Face2Gene 的文本表型通道也没法工作,甚至不同医院的数据合并后全是噪音。它像国际刑警组织的统一通缉令格式:编码错误或遗漏关键表型,后面所有算法都会跟着跑偏。表型注释质量,往往比算法选择更影响最终诊断准确率。

为何常见:因为 HPO 编码是后台的基础设施,不直接面向患者,也没有炫酷的界面,所以容易被误认为只是“写病历的规范化要求”。

面试题

Q1. 人类表型本体论(HPO)的核心作用是?

单选题 · easy

  • A.将患者症状标准化编码用于比对← 正确答案
  • B.存储患者的身份证号码和姓名
  • C.直接测定患者的全基因组序列
  • D.用于制作患者面部的卡通头像

答案:A。HPO 是把临床描述(“头围小”)翻译成统一编码(HP-0000252)的标准词典,让不同机构的表型数据可以互相计算相似度,就像统一寻人启事的描述语言。B 是身份信息,C 是测序技术,D 与诊断无关。

Q2. Jaccard 相似度计算中,两个表型集合交集大小为 4,并集大小为 10,则相似度为?

单选题 · easy

  • A.0.4← 正确答案
  • B.0.6
  • C.2.5
  • D.0.25

答案:A。Jaccard 相似度 = 交集 ÷ 并集 = 4 ÷ 10 = 0.4。它衡量两个集合的重合程度,值越接近 1 表示患者与某综合征的表型重合度越高,本题的并集更大说明差异部分也多,所以得分不算高。

Q3. 表型-基因型匹配中,相似度最高的候选结果仅表示?

单选题 · easy

  • A.表型最接近仍需基因验证← 正确答案
  • B.基因突变类型一定完全相同
  • C.患者必然患有该综合征
  • D.无需再进行任何基因测序

答案:A。匹配算法只完成“像不像”的初筛,表型相似度高不等于致病基因确认。就像寻人启事按长相排第一的嫌疑人,必须等指纹比对(Sanger 测序)与家系分析(家系共分离)后才能定罪,绝不能跳过验证直接确诊。

Q4. Face2Gene 的面容分析主要依赖哪类技术?

单选题 · mid

  • A.深度卷积神经网络 CNN← 正确答案
  • B.经典人工设计特征分类器
  • C.手工专家规则直接匹配
  • D.基因芯片表达谱聚类

答案:A。Face2Gene 用 CNN 从面部照片自动学习层级特征——浅层看边缘纹理、深层看眉眼颌面的医学形态,最终压缩成特征向量与综合征面容库比对。人工特征和专家规则无法覆盖复杂多变的面部表型,基因芯片则是另一种模态。

Q5. 表型-基因型匹配中“表型异质性”指什么?

单选题 · mid

  • A.同一基因突变可产生多种表型← 正确答案
  • B.患者性别对疾病诊断的影响
  • C.实验室检测设备的型号差异
  • D.不同医院治疗方法的不一致

答案:A。表型异质性是指同一个致病基因在不同患者身上可以表现出差别很大的症状组合,这让“典型表型画像”经常失效,也是匹配算法容易出现漏判的主要原因。性别、设备、疗法差异都不属于遗传学中的表型异质性定义。

Q6. 罕见病确诊流程中,候选基因需要经过哪些验证?

多选题 · mid

  • A.Sanger测序确认突变位点← 正确答案
  • B.家系共分离分析遗传规律← 正确答案
  • C.动物模型功能实验验证← 正确答案
  • D.患者面部三维扫描重建

答案:ABC。Sanger 测序验证突变是否真实存在且与疾病共分离,家系共分离分析看突变是否在患病家属中伴随出现,动物模型功能实验则证明该突变确能导致病理类型。三维面部重建属于表型采集手段,不是基因层面的验证步骤。

Q7. Phenomizer 与 Face2Gene 的主要区别是?

单选题 · mid

  • A.文本表型输入与面容图像输入← 正确答案
  • B.深度学习与专家系统的差异
  • C.表型文本输入而非视觉输入
  • D.一个面向罕见病一个面向常见病

答案:A。Phenomizer 只接受 HPO 文本表型作为输入,靠语义相似度匹配疾病;Face2Gene 额外加入面容照片,通过 CNN 提取面部特征,属于多模态输入。两者都是面向罕见病,也都使用现代算法,所以 B/C/D 都不构成两者的核心分野。

Q8. 下列哪些因素会降低面部表型匹配的可靠性?

多选题 · hard

  • A.患者面容特征受年龄影响显著← 正确答案
  • B.训练数据缺少亚裔面孔样本← 正确答案
  • C.数据库综合征覆盖病种有限← 正确答案
  • D.患者同时患有多种慢性基础病

答案:ABC。同一综合征的面部特征在婴幼儿、青春期、成年期差异很大;训练数据若以高加索人为主,模型对亚裔面容的判别力会下降;数据库只覆盖几百种综合征时,没收录的病自然永远匹配不上。而共病通常不直接改变面部形态,对匹配可靠性影响较小。

Q9. 标准化的 HPO 表型编码在罕见病研究中的价值是?

单选题 · hard

  • A.使不同机构的表型数据可比← 正确答案
  • B.编码表型可以直接替代基因检测
  • C.表型编码无法用于大规模研究
  • D.每个患者只能分配一个表型码

答案:A。HPO 编码让“小头畸形”不管在哪家医院都是同一个码,数据才能跨中心汇总、做大规模关联分析,这是罕见病共享数据的基础设施。它只描述表型不替代基因检测,一个患者通常可对应多个表型码,所以 B/C/D 均错误。

Q10. 患者表型集合为 {发育迟缓,智力障碍,小头畸形,共济失调},A 综合征表型 {发育迟缓,智力障碍,小头畸形,共济失调,易笑},B 综合征表型 {智力障碍,语言缺失,步态异常}。以下判断正确的是?

多选题 · extreme

  • A.患者与 A 的 Jaccard 相似度为 0.8← 正确答案
  • B.患者与 B 的 Jaccard 相似度为 0.5
  • C.仅凭表型匹配无法最终确诊罕见病← 正确答案
  • D.需结合 Sanger 测序和家系分析验证← 正确答案

答案:ACD。患者与 A 交集 4 项、并集 5 项,J=4/5=0.8,A 正确。患者与 B 交集仅 {智力障碍} 1 项,并集为 6 项,J=1/6≈0.167,不是 0.5,B 错误。表型匹配永远只能圈定候选,确诊必须由 Sanger 测序确认致病突变、家系共分离验证遗传模式,C、D 正确。