bio-doc-fetcher
专门用于获取生物信息学工具文档(如 Bioconductor, CRAN, PyPI)的技能,具备处理特定领域文档站点的重定向、反爬及镜像切换能力。
SKILL.mdskills/bio-doc-fetcher/SKILL.md
GitHubBio-Doc Fetcher
适用场景
- 需要获取 R (Bioconductor/CRAN) 或 Python (PyPI) 生物信息学软件包的安装指南、API 文档或教程(Vignettes)。
- 官方主站访问缓慢、触发反爬机制或需要查找特定版本的旧文档。
- 需要从复杂的文档结构中快速定位核心代码示例。
步骤
- 源识别:根据包名和用途确定其所属仓库:
- R 语言统计包 -> CRAN
- R 语言组学分析包 -> Bioconductor
- Python 包 -> PyPI
- 实验室内部工具 -> GitHub/GitLab
- 构造初始 URL:
- Bioconductor:
https://bioconductor.org/packages/release/bioc/html/[PACKAGE].html - CRAN:
https://cran.r-project.org/web/packages/[PACKAGE]/index.html - PyPI:
https://pypi.org/project/[PACKAGE]/
- Bioconductor:
- 执行抓取与重定向处理:
- 使用
web_fetch访问。如果返回 403 或 404,立即尝试web_search搜索该包的pkgdown页面或 ReadTheDocs 页面。
- 使用
- 镜像切换(可选):
- 若主站不可用,构造镜像站 URL(如清华 TUNA 镜像):
https://mirrors.tuna.tsinghua.edu.cn/CRAN/web/packages/[PACKAGE]/index.html。
- 若主站不可用,构造镜像站 URL(如清华 TUNA 镜像):
- 核心信息提取:
- 提取
Installation部分的命令(如BiocManager::install())。 - 提取
Vignettes或Tutorial的 HTML 链接。 - 提取
Dependencies列表以预判安装风险。
- 提取
工具和命令
web_fetch(url="..."): 直接抓取已知结构的文档页。web_search(query="site:bioconductor.org [PACKAGE] vignette"): 定位深度文档。web_search(query="[PACKAGE] R package documentation mirror"): 寻找备用源。
注意事项
- PDF 陷阱:Bioconductor 和 CRAN 默认提供大量 PDF 手册,
web_fetch无法直接阅读。应优先寻找vignettes/目录下的 HTML 版本。 - 版本差异:Bioconductor 的包与 R 版本强绑定,抓取时需确认是
release还是devel分支。 - 反爬策略:部分生物信息学门户网站(如某些大学的服务器)对频繁请求敏感,建议在
web_fetch失败后间隔使用web_search。
示例
任务:获取 R 包 DESeq2 的安装和基本用法
- Action:
web_fetch(url="https://bioconductor.org/packages/release/bioc/html/DESeq2.html") - Result: 发现页面,提取安装命令
BiocManager::install("DESeq2")。 - Action: 发现 Vignettes 链接为
../vignettes/DESeq2/inst/doc/DESeq2.html,构造完整 URL 并再次抓取。 - Output: 提供安装步骤及
DESeqDataSetFromMatrix的核心代码示例。