🧪 Skills

ScholarGraph-CancerFusionGenesResearch

使用 ScholarGraph v1.4 及以上版本 进行癌症融合基因文献调研的全流程技能。包括搜索、多轮合并去重、提取信息、生成报告和 Excel 表格。

v1.3.0
❤️ 0
⬇️ 107
👁 1
Share

Description


name: scholargraph-fusion-genes description: 使用 ScholarGraph v1.4 及以上版本 进行癌症融合基因文献调研的全流程技能。包括搜索、多轮合并去重、提取信息、生成报告和 Excel 表格。 metadata: { "openclaw": { "emoji": "🧬", "requires": { "bins": ["bun", "node"], "env": ["AI_PROVIDER", "MINIMAX_API_KEY"] } } }

ScholarGraph-FusionGenes 使用流程

概述

本技能提供癌症融合基因文献调研的完整流程,使用 ScholarGraph v1.4 及以上版本 进行系统性搜索、分析和整理。支持多轮搜索、合并去重、生成含完整参考文献的 Excel 表格。

适用场景

  • 癌症融合基因文献调研
  • 融合探针设计区域分析
  • 靶向治疗生物标志物研究

完整工作流程

步骤 1: 环境配置

# 1. 进入 ScholarGraph 目录
cd /root/.openclaw/workspace/skills/ScholarGraph

# 2. 配置 MiniMax API Key (或使用其他 provider)
export AI_PROVIDER=minimax
export MINIMAX_API_KEY="your-api-key"

# 3. 验证配置
~/.bun/bin/bun run cli.ts --help

步骤 2: 第一轮文献搜索

# 创建工作目录
mkdir -p /workspace/research/fusion/review
mkdir -p /workspace/research/fusion/reports

# 第一轮: 搜索各癌种融合基因 review
~/.bun/bin/bun run cli.ts search "lung cancer fusion gene review" --limit 10
~/.bun/bin/bun run cli.ts search "breast cancer fusion gene review" --limit 10
~/.bun/bin/bun run cli.ts search "colorectal cancer fusion gene review" --limit 10
~/.bun/bin/bun run cli.ts search "solid tumor fusion gene review" --limit 10

步骤 3: 深度分析 - 搜索融合基因详细信息

# 搜索特定基因的融合信息 (并行执行)
~/.bun/bin/bun run cli.ts search "EML4-ALK fusion variant V1 V2 V3 breakpoint" --limit 10
~/.bun/bin/bun run cli.ts search "ROS1 fusion partner CD74 SDC4 TPM3" --limit 10
~/.bun/bin/bun run cli.ts search "RET fusion KIF5B CCDC6 NCOA4 breakpoint" --limit 10
~/.bun/bin/bun run cli.ts search "NTRK1 NTRK2 NTRK3 fusion partner ETV6" --limit 10
~/.bun/bin/bun run cli.ts search "FGFR fusion partner TACC3 BICC1" --limit 10
~/.bun/bin/bun run cli.ts search "NRG1 fusion CD74 SDC4 cancer" --limit 10

步骤 4: 获取 PDF 文献

# 使用 Europe PMC 下载免费文献 (推荐)
# 搜索 PMID 后访问: https://europepmc.org/articles/PMC[ID]?pdf=render
curl -L -o "/workspace/research/fusion/review/filename.pdf" "https://europepmc.org/articles/PMC[ID]?pdf=render"

# 或使用 ScholarGraph download (需配置 SERPER_API_KEY)
~/.bun/bin/bun run cli.ts download "RET fusion cancer review" --limit 3 --output /workspace/research/fusion/review

步骤 5: 第二轮补充搜索 (发现遗漏)

# 补充搜索可能遗漏的融合基因
~/.bun/bin/bun run cli.ts search "EGFRvIII glioma fusion deletion" --limit 5
~/.bun/bin/bun run cli.ts search "ESR1 fusion breast cancer endocrine resistance" --limit 5
~/.bun/bin/bun run cli.ts search "BRAF fusion KIAA1549 melanoma" --limit 5
~/.bun/bin/bun run cli.ts search "MET fusion CAPZA2 LAYN lung cancer" --limit 5
~/.bun/bin/bun run cli.ts search "ALK fusion HIP1 KIF5B non-EML4" --limit 5

步骤 6: 多轮搜索结果合并去重

将多轮搜索结果保存到 JSON 文件,然后进行合并去重:

// merge_results.js
const fs = require('fs');

// 假设有两轮搜索结果
const round1 = require('./round1.json');
const round2 = require('./round2.json');

// 合并去重函数
function mergeAndDeduplicate(results1, results2) {
  const seen = new Map();
  const merged = [];
  
  for (const item of [...results1, ...results2]) {
    // 根据基因+融合伙伴作为唯一标识
    const key = `${item.gene}-${item.fusion}`;
    if (!seen.has(key)) {
      seen.set(key, true);
      merged.push(item);
    }
  }
  return merged;
}

const merged = mergeAndDeduplicate(round1, round2);
fs.writeFileSync('./merged_results.json', JSON.stringify(merged, null, 2));
console.log(`Merged: ${merged.length} unique records`);

步骤 7: 生成 Excel 表格 (含完整字段)

# 安装 xlsx 库
npm install xlsx

创建 generate_excel.js:

const XLSX = require('xlsx');

// ========== 辅助函数 ==========

// 频率级别标签逻辑
function getFreqLabel(freq) {
  // 特殊情况: EGFR扩增等
  if (freq.includes('EGFR扩增')) return '-';
  
  // 提取所有数字
  const nums = freq.match(/\d+/g)?.map(Number) || [];
  if (nums.length === 0) return '-';
  
  // 取最大值进行判断
  const maxVal = Math.max(...nums);
  
  // 频率级别判断
  if (maxVal >= 25) return '高';    // ≥25%: 高频率
  if (maxVal >= 10) return '中';    // 10-24%: 中频率
  if (maxVal >= 3) return '低';     // 3-9%: 低频率
  return '极低';                     // <3%: 极低频率
}

// 参考文献数量统计
function countSources(ref) {
  if (!ref) return 0;
  const sources = ref.split(/;\s*/).filter(s => s.trim().length > 0);
  return sources.length;
}

// 标准转录本映射
const transcriptMap = {
  'ALK': 'NM_004935',
  'ROS1': 'NM_002944',
  'RET': 'NM_020975',
  'NTRK1': 'NM_002529',
  'NTRK2': 'NM_006180',
  'NTRK3': 'NM_002449',
  'MET': 'NM_000245',
  'FGFR1': 'NM_023110',
  'FGFR2': 'NM_000141',
  'FGFR3': 'NM_001142',
  'NRG1': 'NM_013962',
  'BRAF': 'NM_004333',
  'EGFR': 'NM_005228',
  'ESR1': 'NM_000125',
};

// ============================

// 完整数据格式 - 每行独立完整
// 字段: 基因, 融合类型, 变体, 融合转录本, 参考基因组, 5'基因, 5'基因断裂位置, 3'基因, 3'基因断裂位置, 频率, 癌种, 临床意义, 靶向药物, 参考文献
const fusionData = [
  // 示例:
  { 
    "基因": "ALK", 
    "融合类型": "EML4-ALK", 
    "变体": "V1",
    "融合转录本": "NM_004935",
    "参考基因组": "GRCh37",
    "5'基因": "EML4", 
    "5'基因断裂位置": "exon 13", 
    "3'基因": "ALK", 
    "3'基因断裂位置": "exon 20",
    "频率": "~33%", 
    "癌种": "肺癌", 
    "临床意义": "标准型", 
    "靶向药物": "Crizotinib; Alectinib", 
    "参考文献": "Zhang SS, et al. Going beneath the tip of the iceberg... Lung Cancer. 2021; PMID: 34175504"
  },
  // ... 更多记录
];

// 添加频率级别和参考文献数
const enrichedData = fusionData.map(item => ({
  ...item,
  "频率级别": getFreqLabel(item["频率"]),
  "参考文献数": countSources(item["参考文献"])
}));

const wb = XLSX.utils.book_new();

// Sheet 1: 融合基因汇总
const mainSheet = XLSX.utils.json_to_sheet(enrichedData);
XLSX.utils.book_append_sheet(wb, mainSheet, "融合基因汇总");

// Sheet 2: 探针设计推荐
const probeData = [
  { "基因": "ALK", "DNA探针区域": "intron 19", "RNA探针区域": "exon 18-21", "探针长度": "300-500bp", "备注": "覆盖所有变体" },
  { "基因": "ROS1", "DNA探针区域": "intron 31-35", "RNA探针区域": "exon 32-36", "探针长度": "400-600bp", "备注": "覆盖常见融合伙伴" },
  // ...
];
const probeSheet = XLSX.utils.json_to_sheet(probeData);
XLSX.utils.book_append_sheet(wb, probeSheet, "探针设计推荐");

// Sheet 3: 分癌种汇总
const cancerSummary = [
  { "癌种": "肺癌", "融合数": 15, "主要基因": "ALK, ROS1, RET, MET" },
  { "癌种": "乳腺癌", "融合数": 3, "主要基因": "ESR1, NTRK" },
  // ...
];
const cancerSheet = XLSX.utils.json_to_sheet(cancerSummary);
XLSX.utils.book_append_sheet(wb, cancerSheet, "分癌种汇总");

// 保存文件
XLSX.writeFile(wb, '/workspace/research/fusion/reports/fusion_genes_report.xlsx');

运行生成:

node generate_excel.js

Excel 表格规范

频率级别标签逻辑

⚠️ 重要: 每行必须包含独立完整的频率级别,不依赖其他行

// 频率级别判断函数
function getFreqLabel(freq) {
  // 特殊情况: EGFR扩增等
  if (freq.includes('EGFR扩增')) return '-';
  
  // 提取所有数字
  const nums = freq.match(/\d+/g)?.map(Number) || [];
  if (nums.length === 0) return '-';
  
  // 取最大值进行判断
  const maxVal = Math.max(...nums);
  
  // 频率级别判断
  if (maxVal >= 25) return '高';    // ≥25%: 高频率
  if (maxVal >= 10) return '中';    // 10-24%: 中频率
  if (maxVal >= 3) return '低';     // 3-9%: 低频率
  return '极低';                     // <3%: 极低频率
}
频率级别 阈值范围 示例
≥25% ~33%, ~29%, ~50%, ~70%
10-24% ~15%, ~10%, ~20%
3-9% ~5%, ~8%, ~3%
极低 <3% <1%, ~2%
- 特殊 EGFRvIII (~50% EGFR扩增)

参考文献格式要求

⚠️ 重要: 每行参考文献必须独立完整,不依赖其他行信息

✅ 正确格式:

参考文献: Zhang SS, et al. Going beneath the tip of the iceberg: Identifying and understanding EML4-ALK variants and TP53 mutations. Lung Cancer. 2021; PMID: 34175504; Christopoulos P, et al. EML4-ALK fusion variant V3 is a high-risk feature. Clin Cancer Res. 2018

❌ 错误格式 (依赖其他行):

参考文献: 同上
参考文献: 同V3a

字段说明 (Sheet 1: 融合基因汇总 - 16列)

字段 说明 示例
基因 融合基因名称 ALK, ROS1, RET
融合类型 完整融合名称 EML4-ALK, CD74-ROS1
变体 变体信息 (如V1/V3) V1, V3a, -
融合转录本 标准转录本ID NM_004935
参考基因组 基因组版本 GRCh37
5'基因 5'端伙伴基因 EML4, CD74
5'基因断裂位置 断裂位置(必须包含exon/intron) exon 13, intron 6
3'基因 3'端基因 ALK, ROS1
3'基因断裂位置 断裂位置(必须包含exon/intron) exon 20, intron 31
频率 发生频率 ~33%, ~10-15%
频率级别 自动计算 高/中/低/极低
癌种 关联癌种 肺癌, 泛癌种
临床意义 临床意义描述 最常见, 耐药
靶向药物 靶向药物 (分号分隔) Crizotinib; Alectinib
参考文献 完整引用 (作者; 作者; 期刊. 年份; PMID) 见格式规范
参考文献数 自动统计来源数量 1, 2
癌种 关联癌种 肺癌, 泛癌种
临床意义 临床意义描述 最常见, 耐药
靶向药物 靶向药物 Crizotinib; Alectinib
参考文献 完整引用信息 见上文格式

关键命令速查

功能 命令
搜索文献 bun run cli.ts search "关键词" --limit 10
下载 PDF bun run cli.ts download "关键词" --limit 5 --output ./downloads
学习概念 bun run cli.ts learn "概念" --depth intermediate
分析论文 bun run cli.ts analyze "论文URL" --mode deep
构建知识图谱 bun run cli.ts graph 概念1 概念2 --format mermaid
生成 Excel node generate_excel.js

配置说明

MiniMax API 配置

ScholarGraph/.env 文件中配置:

AI_PROVIDER=minimax
MINIMAX_API_KEY=sk-cp-xxx
MINIMAX_BASE_URL=https://api.minimaxi.com/v1
MINIMAX_MODEL=MiniMax-M2.5

注意事项

  1. API 限制: Semantic Scholar 有 429 速率限制,建议使用 PubMed/OpenAlex 源
  2. PDF 下载: 大多数期刊 DOI 需要订阅,可尝试 Europe PMC 获取免费文献
  3. 文献审核: 报告中所有数据应标注参考文献,便于人工核实
  4. Excel 规范: 每行参考文献必须独立完整,使用分号分隔多来源

输出文件结构

/workspace/research/fusion/
├── review/                    # PDF 文献
│   ├── 01_Drug_resistance_2021.pdf
│   ├── 02_TNBC_molecular_mechanisms_2022.pdf
│   └── ...
├── reports/                  # 分析报告
│   ├── fusion_probe_design_report_v2.md
│   ├── detection_methods_report.md
│   └── fusion_genes_report.xlsx    # 主输出
├── round1.json               # 第一轮搜索结果
├── round2.json                # 第二轮搜索结果
├── merged_results.json       # 合并去重后结果
└── generate_excel.js         # Excel 生成脚本

常见问题

Q1: ScholarGraph learn/analyze 报错

A: 检查 API Key 是否正确配置,或尝试使用其他 provider

Q2: PDF 下载失败 (403/406)

A: 大多数期刊需要订阅,使用 Europe PMC 作为备选

Q3: Semantic Scholar 429 错误

A: 使用 --source pubmed--source openalex 绕过

Q4: Excel 参考文献格式问题

A: 确保每行独立完整,不使用"同上"或"同V3a"等依赖表述


更新日志

  • 2026-03-06: 初始版本,包含完整流程
  • 2026-03-06 v2: 增加多轮搜索合并去重逻辑,更新 Excel 参考文献格式规范
  • 2026-03-07 v3: 新增"教授级深度搜索"方法论

教授级深度搜索方法论

核心理念

教授级搜索不仅是找文献,而是系统性构建知识体系。核心原则:

  1. 按癌种分类 - 不是按基因,而是按临床应用场景组织
  2. 证据分级 - 从临床意义角度解读,不只是罗列基因
  3. 可追溯 - 每条信息标注 PMID,便于溯源核实
  4. 新发现优先 - 关注近1-2年的新融合、新靶点

搜索策略

Step 1: 确定癌种范围

根据研究目的确定重点癌种:

优先级 癌种 常见融合基因
肺癌 EML4-ALK, ROS1融合, RET, MET, NTRK
结直肠癌 RSPO融合, NTRK, ALK
乳腺癌 ESR1, NTRK, ETV6-NTRK3
胆管癌 FGFR2融合, TFG-MET
胃肠道间质瘤 KIT, PDGFRA, NTRK
泛癌 实体瘤 NTRK1/2/3, BRAF, NRG1

Step 2: 针对性搜索命令

每个癌种执行深度搜索:

# 肺癌融合基因深度搜索
~/.bun/bin/bun run cli.ts search "lung cancer fusion gene 2024 2025" --limit 20
~/.bun/bin/bun run cli.ts search "ROS1 CD74 fusion lung cancer clinical" --limit 10
~/.bun/bin/bun run cli.ts search "EML4-ALK variant V1 V3 breakpoint" --limit 10

# 结直肠癌融合基因
~/.bun/bin/bun run cli.ts search "colorectal cancer fusion gene RSPO Wnt" --limit 15

# 乳腺癌融合基因
~/.bun/bin/bun run cli.ts search "breast cancer fusion gene NTRK ESR1" --limit 15

# 胆管癌/胆囊癌融合
~/.bun/bin/bun run cli.ts search "biliary cancer FGFR2 fusion MET" --limit 15

# 胃肠道间质瘤
~/.bun/bin/bun run cli.ts search "GIST KIT PDGFRA NTRK fusion" --limit 15

# 泛癌种/罕见实体瘤
~/.bun/bin/bun run cli.ts search "solid tumor NTRK fusion basket trial" --limit 15
~/.bun/bin/bun run cli.ts search "NUT carcinoma fusion gene" --limit 10

Step 3: 临床意义深度挖掘

针对每个发现的融合,搜索其临床意义:

# 靶向治疗响应
~/.bun/bin/bun run cli.ts search "[融合名] TKI response targeted therapy" --limit 5

# 耐药机制
~/.bun/bin/bun run cli.ts search "[融合名] resistance crizotinib alectinib" --limit 5

# 诊断价值
~/.bun/bin/bun run cli.ts search "[融合名] diagnostic biomarker" --limit 5

# 预后意义
~/.bun/bin/bun run cli.ts search "[融合名] prognosis survival" --limit 5

输出格式规范

教授级搜索结果必须采用以下格式:

格式要求

## [癌种名称] (英文)

| 融合 | 临床意义 | PMID |
| ---- | -------- | ---- |
| [融合名称1] | [具体临床意义描述] | [PMID1] |
| [融合名称2] | [具体临床意义描述] | [PMID2] |

示例输出

肺癌 (Lung Cancer)

| 融合 | 临床意义 | PMID |
| ----------- | --------------------- | -------- |
| ROS1-CD74 | 新融合伙伴,部分TKI有效 | 36387218 |
| HIPK2::YAP1 | 肺纤维瘤病新实体 | 38714933 |
| BRAF融合变异体 | DNA+RNA测序揭示结构 | 40253487 |
| ETV6::NTRK3 | 非典型类癌,repotrectinib有效 | 38113652 |

结直肠癌 (Colorectal Cancer)

| 融合 | 临床意义 | PMID |
| ------ | ------- | -------- |
| RSPO融合 | Wnt通路激活 | 35715628 |
| 新型结构变异 | 长读测序发现 | 36812239 |

质量检查清单

在输出最终结果前,检查以下要点:

  • 每条记录包含: 融合名称 + 临床意义 + PMID
  • 临床意义具体明确 (不只是"发现新融合")
  • 包含治疗响应信息 (如TKI药物名称)
  • 标注PMID便于文献追溯
  • 按癌种分类组织,非按基因
  • 新发现优先展示 (近年文献)
  • 表格格式清晰统一

与传统搜索的区别

维度 传统搜索 教授级搜索
组织方式 按基因 按癌种/临床场景
信息深度 基因+频率 融合+临床意义+药物
证据追溯 可选 必含PMID
时间维度 无要求 优先新发现
输出格式 自由文本 标准化表格

进阶技巧

  1. 长读测序发现: 搜索 "long-read sequencing fusion" 发现结构变异
  2. RNA-seq验证: 搜索 "RNA-seq fusion validation" 确认融合转录本
  3. 少见癌种: 使用 "pediatric" + "fusion" 搜索儿童肿瘤
  4. 耐药研究: 重点关注 "resistance" + "fusion" + "TKI"

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs