mcpField
T
tooluniverse-cancer-classification

tooluniverse-cancer-classification

github.com/mims-harvard数据与数据库1.8k228 次安装3 天前更新
代码仓库

关于 tooluniverse-cancer-classification

这是一个将癌症描述映射到 OncoTree 编码的 ToolUniverse 技能,面向需要标准化肿瘤名称和编码的研究人员,并支持为后续变异注释和队列筛选验证编码及交叉引用。

主要功能

  1. 01按描述搜索癌症类型
  2. 02检索并验证 OncoTree 编码
  3. 03浏览组织类别和亚型
  4. 04使用编码进行 OncoKB 注释
  5. 05查看 UMLS 和 NCI 交叉引用

适用场景

  1. 01将肿瘤描述转换为编码
  2. 02查找某癌症类型的亚型
  3. 03为 OncoKB 注释选择编码
  4. 04为队列分析选择肿瘤编码

MCP 相关

该技能介绍了用于搜索和验证 OncoTree 分类并将编码传递给 OncoKB 的 ToolUniverse 工具。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-cancer-classification

安装后在 Claude Code 中输入/tooluniverse-cancer-classification确认已加载。

详细介绍

通过 OncoTree 进行癌症分类

使用 OncoTree 本体标准化癌症类型命名。将自由文本肿瘤描述映射为结构化编码,并提供 UMLS/NCI 交叉引用,以便在 OncoKB 变异注释和 GDC 队列筛选中使用。

使用时机

研究人员提出以下问题时使用:

  • “[肿瘤描述] 的 OncoTree 编码是什么?”
  • “查找 [癌症类型] 的所有亚型”
  • “哪些癌症起源于 [组织]?”
  • “我需要用于 OncoKB 注释的肿瘤类型编码”
  • “[癌症] 的 TCGA/COSMIC 编码是什么?”
  • “列出所有 CNS/Brain 癌症亚型”
  • “哪个 NCI 编码对应胶质母细胞瘤?”

关键工具

工具用途关键参数
OncoTree_search搜索自由文本癌症类型query(肿瘤名称或描述)
OncoTree_get_type获取已知 OncoTree 编码的完整详情code(例如,“LUAD”、“AML”)
OncoTree_list_tissues列出全部 32 种组织类别(无参数)
OncoKB_annotate_variant使用 OncoTree 编码进行变异注释gene、variant、tumor_type
GDC_get_mutation_frequency泛癌症变异频率(TCGA)gene_symbol

工作流

阶段 1:发现癌症类型

首先使用自由文本搜索查找匹配的 OncoTree 编码:

OncoTree_search(query="breast cancer")
-> Returns list: code, name, main_type, tissue, parent, level, external_references

关键响应字段:

  • code:OncoTree 编码(例如,“BRCA”、“IBC”)——在 OncoKB 调用中使用此编码
  • level:层级深度(1=组织、2=主要类型、3-5=亚型)
  • parent:父节点编码,用于浏览层级结构
  • external_references.UMLS:UMLS CUI 列表
  • external_references.NCI:NCI 本体编码列表

搜索提示:

  • 宽泛的术语(“肺癌”)会返回许多结果;可按组织或层级缩小范围
  • 使用特定组织的术语(“浸润性乳腺癌”)可获得精准匹配
  • 可使用缩写:查询 GBM 可找到胶质母细胞瘤,查询 AML 可找到白血病类型
阶段 2:验证编码并获取详情

获取候选编码后,检索完整详情:

OncoTree_get_type(code="LUAD")
-> Returns: name, main_type, tissue, color, parent, level, history, external_references

注意:并非所有编码都有效。“GBM”会返回 404——正确编码是“GB”(胶质母细胞瘤,IDH 野生型)。 在下游工具中使用前,务必通过 OncoTree_get_type 验证。

阶段 3:探索组织层级

用户需要查看某个组织类别中的所有癌症时:

OncoTree_list_tissues()
-> Returns 32 tissue names: "Breast", "CNS/Brain", "Lung", "Myeloid", ...

OncoTree_search(query="CNS/Brain")
-> All cancer types with tissue="CNS/Brain"
阶段 4:在变异注释中使用

将经过验证的 OncoTree 编码传递给 OncoKB,以获取特定癌症类型的治疗证据等级:

OncoKB_annotate_variant(gene="EGFR", variant="L858R", tumor_type="LUAD")
-> highestSensitiveLevel: "1" (FDA-approved therapy for this tumor+variant)

如果不提供 tumor_type,OncoKB 将返回泛癌症等级,具体性可能较低。

工具参数参考

工具必填可选说明
OncoTree_searchquery—自由文本;返回按相关性排序的列表
OncoTree_get_typecode—区分大小写;应使用“BRCA”而非“brca”。无效编码会返回 404
OncoTree_list_tissues——无参数;返回包含 32 个组织名称的列表
OncoKB_annotate_variantgene、varianttumor_typetumor_type 为 OncoTree 编码;不提供则使用泛癌症结果
GDC_get_mutation_frequencygene_symbol—仅提供 TCGA 泛癌症数据;不提供亚型细分

常见 OncoTree 编码(已验证可用)

编码名称组织
BRCA浸润性乳腺癌乳腺
LUAD肺腺癌肺
LUSC肺鳞状细胞癌肺
MEL黑色素瘤皮肤
CRC结直肠癌肠道
PAAD胰腺腺癌胰腺
GBM(无效——请使用 GB)CNS/Brain
GB胶质母细胞瘤,IDH 野生型CNS/Brain
AML急性髓系白血病髓系
PRAD前列腺腺癌前列腺

常见模式

# Pattern: Resolve free-text to OncoTree code
results = OncoTree_search(query="pancreatic ductal adenocarcinoma")
# Pick result with lowest level number (most specific match)
code = results["data"][0]["code"]  # e.g., "PAAD"

# Pattern: Get all subtypes within a main type
results = OncoTree_search(query="Glioma")
subtypes = [r for r in results["data"] if r["main_type"] == "Glioma"]

# Pattern: Validate code before OncoKB call
detail = OncoTree_get_type(code="GB")
if detail["status"] == "success":
    OncoKB_annotate_variant(gene="IDH1", variant="R132H", tumor_type="GB")

肿瘤分类推理(至关重要)

查询,不要猜测——肿瘤分类会影响治疗。始终通过工具验证编码和生物标志物解读,不要依赖记忆。

组织学分类与分子分类

肿瘤按两个维度分类——两者都会影响治疗选择:

  • 组织学(在显微镜下的形态):腺癌、鳞癌、小细胞癌等。这决定 OncoTree 第 3 级及以上的层级。
  • 分子特征(驱动肿瘤的突变/改变):EGFR 突变、HER2 扩增、MSI-H 等。这决定 OncoKB 治疗级别。

肿瘤的组织学特征可以与另一种肿瘤完全相同,但分子特征不同,因此需要采用不同治疗。例如,两例肺腺癌(均为 LUAD),一例带有 EGFR 突变(采用靶向治疗),另一例带有 KRAS 突变(采用不同的靶向治疗)。务必同时检查这两个维度。

生物标志物解读策略

解读癌症生物标志物时,使用 OncoKB 评估其可操作性:

  • HER2:阳性 = IHC 3+ 或 FISH 扩增。使用 OncoKB_annotate_variant(gene="ERBB2", variant="Amplification", tumor_type="BRCA") 获取治疗级别
  • ER/PR:阳性 = 激素受体阳性乳腺癌。会改变治疗类别(内分泌治疗)
  • Ki67:增殖指数。数值高(>20%)提示生物学行为具有侵袭性;用于乳腺癌分级(Luminal A 与 Luminal B)
  • TMB(肿瘤突变负荷):高 TMB(>10 mut/Mb)可预测不同肿瘤类型对免疫治疗的应答。使用 OncoKB_annotate_variant(gene="Other Biomarkers", variant="TMB-H")
  • MSI(微卫星不稳定性):MSI-H 是 FDA 批准的适用于泛癌种的 pembrolizumab 生物标志物。使用 OncoKB_annotate_variant(gene="Other Biomarkers", variant="MSI-H")
分期与分级——不同的概念
  • 分期(TNM):肿瘤扩散到了什么程度?T = 肿瘤大小,N = 淋巴结,M = 转移。分为 I–IV 期。决定预后和是否适合手术。
  • 分级:细胞看起来有多异常?1 级(高分化、生长缓慢)至 3 级(低分化、侵袭性强)。用于判断侵袭性。
  • I 期、3 级肿瘤(体积小但侵袭性强)与 III 期、1 级肿瘤(已扩散但生长缓慢)的临床意义不同。
可操作性评估

肿瘤分类完成后,评估检查结果是否具有临床可操作性:

  1. 1 级(FDA 批准,适用于特定肿瘤类型):可直接指导治疗。例如,LUAD 中的 EGFR L858R
  2. 2 级(标准治疗):有强有力的证据,但需结合具体情况
  3. 3 级(有说服力的证据):可考虑参加临床试验
  4. 4 级(生物学证据):仅处于研究阶段
  5. 务必向 OncoKB 提供 OncoTree 代码——否则会返回泛癌种级别,可能低估或高估该特定肿瘤类型的可操作性

结果解读的推理框架

证据分级
级别标准示例
已确认通过 OncoTree_get_type 验证确切的 OncoTree 代码,并提供 UMLS 和 NCI 交叉引用LUAD:已验证,UMLS C0152013,NCI C3512
可能OncoTree 搜索返回匹配项,但代码尚未验证或缺少交叉引用搜索「cholangiocarcinoma」返回 CHOL,但外部引用不完整
模糊不同层级存在多个与描述匹配的 OncoTree 代码「乳腺癌」匹配 BRCA(浸润性)、BREAST(组织)、IBC(炎性)
未解决OncoTree 中没有匹配项;该肿瘤类型过于罕见或新颖,尚未纳入本体OncoTree 中没有收录的超罕见肉瘤亚型
解读指南
  • OncoTree 代码可信度:下游使用前,务必通过 OncoTree_get_type 验证候选代码。一些常见缩写(例如 “GBM”)不是有效的 OncoTree 代码(正确代码是 “GB”)。经过验证且带有 UMLS 和 NCI 交叉引用的代码可信度最高。
  • UMLS/NCI 交叉引用优先级:对于标准化报告,癌症相关场景优先使用 NCI Thesaurus 编码(caDSR、GDC 使用此编码)。UMLS CUI 覆盖范围更广(跨疾病),适用于文献挖掘。两者均可用时,应同时报告;仅有一种时,肿瘤学工作流优先使用 NCI。
  • 组织层级解读:OncoTree 层级表示特异性:第 1 级 = 原发组织(例如 “肺”),第 2 级 = 主要癌症类型(例如 “非小细胞肺癌”),第 3 级及以上 = 组织学亚型(例如 “肺腺癌”)。对于 OncoKB 变异注释,应使用能准确描述肿瘤的最具体(最深层)级别。对于队列级分析(例如 TCGA),通常适合使用第 2 至第 3 级代码。
  • OncoKB 肿瘤类型的影响:向 OncoKB 提供肿瘤类型代码可能会改变治疗级别(例如,EGFR L858R 在 LUAD 中为 1 级,在泛癌中为 3B 级)。务必使用经过验证、对应患者特定肿瘤类型的 OncoTree 代码。
  • 已弃用或重命名的代码:OncoTree 会随版本更新。OncoTree_get_type 响应中的 history 字段会显示先前的名称。务必使用当前代码。
综合问题
  1. 所选 OncoTree 代码是否表示最具体的组织学亚型?是否有更精确的代码能为 OncoKB 提供更好的治疗注释?
  2. 当自由文本肿瘤描述对应多个 OncoTree 代码时,哪个层级最适合在特异性和覆盖范围之间取得平衡,以满足分析目标(变异注释还是队列筛选)?
  3. UMLS/NCI 交叉引用是否与外部分类(WHO、ICD-O)一致?是否存在需要解决的差异?

回退链

首选项回退选项适用情况
OncoTree_get_type(code="GBM")OncoTree_search(query="glioblastoma")常见别名返回 404
OncoTree_search(无结果)OncoTree_list_tissues + 按组织层级搜索极罕见或新型肿瘤类型
用于 OncoKB 的 OncoTree 代码省略 tumor_type 参数OncoKB 不识别该代码

评论

支持 Markdown