Back to skills
extension
Category: Data & AnalyticsNo API key required

disease-target-collection

优先使用可用的浏览器自动化打开 GeneCards 搜索结果页并下载 CSV 结果,再本地解析产出标准化基因列表。若浏览器自动化不可用,则提示用户手动保存文件到 np-output/disease 目录并等待继续处理。

personAuthor: user_aabd9d68hubcommunity

疾病靶点收集

适用场景

  • 需要收集某个疾病的靶点基因
  • 用户希望走 GeneCards 网页下载流程
  • 需要下载 CSV 后再本地解析和标准化

工作流

  1. 优先使用可用的浏览器自动化直接打开 GeneCards 结果页:https://www.genecards.org/search/results?q={Disease}
  2. 等待页面标题变为 GeneCards - Search results for {Disease}
  3. 在结果页顶部找到导出下拉按钮 Download(通常是一个仅图标/空文本的下拉按钮,不一定显示文字)。
  4. 点击 Download 后,在弹出的菜单里选择 CSV
  5. 如果浏览器或操作系统弹出下载确认/保存对话框,暂停并提示用户点击“保存/存储/Save/Download/Save As”等确认按钮,让文件真正落到本地下载目录。不要默认假设是 macOS。
  6. 下载成功后,把 CSV 复制或移动到 ./np-output/disease/,作为本 skill 的标准输入文件。
  7. 解析前必须让用户确认 Relevance Score 筛选方式(见下文「筛选确认」),不要在未确认前直接解析。
  8. 用本地脚本解析 ./np-output/disease/ 下的 CSV,按用户选择的筛选参数生成 {Disease}_Merged_Targets.json{Disease}_Gene_List.txt

筛选确认

在调用解析脚本之前,停下来询问用户希望如何按 Relevance Score 过滤靶点,给出三个选项(类似运行时给用户的建议):

  1. --median-multiple=2.0(推荐)— 保留 Score ≥ 2 × 中位数的基因,自适应数据分布,是论文常用做法
  2. --min-score=1.0 — 保留 Score ≥ 1.0 的硬阈值过滤
  3. 其他 — 用户自定义阈值,或不过滤(全部保留)

用户确认后,把对应参数追加到解析命令再执行,例如:

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)自动发现。

独立运行模式

本技能完全独立运行,无需任何上游文件。使用场景:

  • 单独收集某个疾病的靶点基因列表,用于其他研究
  • 为现有基因列表补充疾病靶点数据
  • 批量收集多个疾病的靶点

最小运行示例:

  1. 打开 GeneCards 搜索页面:https://www.genecards.org/search/results?q=osteoporosis
  2. 登录后点击页面顶部的 DownloadCSV
  3. 将下载的 CSV 文件移动/复制到 ./np-output/disease/ 目录
  4. 运行解析脚本(以 --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 的导出可能会触发浏览器或系统下载确认
  • 如弹出保存框,可能需要用户手动点一次确认按钮
  • 不同平台按钮文案可能不同,常见为 保存存储SaveSave AsDownload
  • 如果用户不希望手动介入,可以先关闭“下载前询问保存位置”等设置,但这不是本 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 文件