疾病靶点收集
适用场景
- 需要收集某个疾病的靶点基因
- 用户希望走 GeneCards 网页下载流程
- 需要下载 CSV 后再本地解析和标准化
工作流
- 优先使用可用的浏览器自动化直接打开 GeneCards 结果页:
https://www.genecards.org/search/results?q={Disease}。 - 等待页面标题变为
GeneCards - Search results for {Disease}。 - 在结果页顶部找到导出下拉按钮
Download(通常是一个仅图标/空文本的下拉按钮,不一定显示文字)。 - 点击
Download后,在弹出的菜单里选择CSV。 - 如果浏览器或操作系统弹出下载确认/保存对话框,暂停并提示用户点击“保存/存储/Save/Download/Save As”等确认按钮,让文件真正落到本地下载目录。不要默认假设是 macOS。
- 下载成功后,把 CSV 复制或移动到
./np-output/disease/,作为本 skill 的标准输入文件。 - 解析前必须让用户确认 Relevance Score 筛选方式(见下文「筛选确认」),不要在未确认前直接解析。
- 用本地脚本解析
./np-output/disease/下的 CSV,按用户选择的筛选参数生成{Disease}_Merged_Targets.json和{Disease}_Gene_List.txt。
筛选确认
在调用解析脚本之前,停下来询问用户希望如何按 Relevance Score 过滤靶点,给出三个选项(类似运行时给用户的建议):
--median-multiple=2.0(推荐)— 保留 Score ≥ 2 × 中位数的基因,自适应数据分布,是论文常用做法--min-score=1.0— 保留 Score ≥ 1.0 的硬阈值过滤- 其他 — 用户自定义阈值,或不过滤(全部保留)
用户确认后,把对应参数追加到解析命令再执行,例如:
python3 $SKILL_DIR/scripts/disease_genecards_targets.py "<CSV路径>" --median-multiple 2.0
python3 $SKILL_DIR/scripts/disease_genecards_targets.py "<CSV路径>" --min-score 1.0
python3 $SKILL_DIR/scripts/disease_genecards_targets.py "<CSV路径>" # 其他/不过滤
跨平台命令适配
命令模板中的 python3 和 $SKILL_DIR 需要根据平台调整:
| 平台 | Python 命令 | Skill 目录变量 | 示例 |
|------|-------------|---------------|------|
| macOS / Linux | python3 | $SKILL_DIR (bash/zsh) | python3 $SKILL_DIR/scripts/disease_genecards_targets.py |
| Windows CMD | python | %SKILL_DIR% | python %SKILL_DIR%\scripts\disease_genecards_targets.py |
| Windows PowerShell | python | $env:SKILL_DIR | python $env:SKILL_DIR/scripts/disease_genecards_targets.py |
注意: Windows 通常只有
python命令(没有python3)。如果你的 Windows 环境安装了python3别名,也可以用python3。
Skill 可能通过不同方式安装:
| 安装方式 | Skill 位置 |
|----------|-----------|
| 项目内置 | {项目根}/disease-target-collection/ |
| 项目级 Skill | {项目根}/.claude/skills/disease-target-collection/ |
| 全局 Skill | ~/.claude/skills/disease-target-collection/ |
运行模式
管线衔接模式(默认)
为网络药理学研究收集疾病靶点,输出到 ./np-output/disease/{Disease}_Gene_List.txt,供 Skill 3(target-intersection)自动发现。
独立运行模式
本技能完全独立运行,无需任何上游文件。使用场景:
- 单独收集某个疾病的靶点基因列表,用于其他研究
- 为现有基因列表补充疾病靶点数据
- 批量收集多个疾病的靶点
最小运行示例:
- 打开 GeneCards 搜索页面:https://www.genecards.org/search/results?q=osteoporosis
- 登录后点击页面顶部的
Download→CSV - 将下载的 CSV 文件移动/复制到
./np-output/disease/目录 - 运行解析脚本(以
--median-multiple 2.0推荐阈值为例):python3 disease-target-collection/scripts/disease_genecards_targets.py \ "./np-output/disease/GeneCards - Search results for osteoporosis.csv" \ --median-multiple 2.0
输出:
osteoporosis_Gene_List.txt— 基因符号列表(每行一个)osteoporosis_Merged_Targets.json— 完整目标基因详细信息
运行前提示
在开始网页自动化前,先提醒用户:
- GeneCards 必须登录才能导出
- GeneCards 的导出可能会触发浏览器或系统下载确认
- 如弹出保存框,可能需要用户手动点一次确认按钮
- 不同平台按钮文案可能不同,常见为
保存、存储、Save、Save As、Download - 如果用户不希望手动介入,可以先关闭“下载前询问保存位置”等设置,但这不是本 skill 的默认要求
自动化优先级
- 优先使用浏览器自动化,不限定具体浏览器实现
- 如果浏览器自动化不可用、被登录/验证码/下载确认阻断,立即停下并转入人工接力
- 不要改走 web search 或其他数据源来绕过 GeneCards 下载流程
规则
- 只使用 GeneCards 这一条网页来源。
- 导出格式以 CSV 为准。
- 疾病名直接使用用户提供的搜索词,不先扩展同义词。
- 基因符号统一大写,一行一个。
- 保留原始下载文件和解析中间文件。
- 优先复制 CSV 到
./np-output/disease/,只有在用户明确希望整理下载目录或复制失败时才考虑移动。 - 解析前必须让用户确认
Relevance Score筛选方式(见「筛选确认」),支持--min-score或--median-multiple,不要擅自选择或跳过。
手动接力
如果网页流程中的任一步不能自动完成,立即停下并告诉用户:
- 需要手动做什么
- 在哪个页面上做
- 完成后把哪个 CSV 文件放到哪里;默认放到
./np-output/disease/ - 如果已经点到 GeneCards 的
CSV,但浏览器或系统要求用户再点一次保存确认按钮,直接让用户点这个按钮,不要改走别的抓取路径 - 如果浏览器自动化不可用,告诉用户先手动下载并保存 CSV 到
./np-output/disease/,然后等待继续处理
用户完成后,从后续解析步骤继续,不要改走其他抓取路径。
输出
{Disease}_Merged_Targets.json{Disease}_Gene_List.txt- 原始
CSV文件
Scan to join WeChat group