AnnData 数据检索
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-rn88lg3j/ann-data。
技能介绍
要解决什么问题
单细胞与空间转录组等流程里,.h5ad / .zarr 里的 AnnData 往往体积大、结构嵌套(obs、var、X、layers、obsm 等)。在对话里直接「猜」矩阵或元数据既不可靠,也容易把筛选条件搞错。你需要的是:在不自己写完整 scanpy 脚本的前提下,按路径或 URL 查看对象结构、截取一小段原始数据,并对指定列/基因做描述统计。
技能如何工作
本技能通过 MCP 把意图路由到 scripts.tools 里的 API 封装,模型只负责选工具、补参数、整理 result["raw"] 返回。
get_summary:对本地绝对路径或远程 AnnData 文件做整体摘要。view_raw_data:按attribute(及可选key)查看原始内容;支持行列切片、columns_or_genes(含RE*类 glob)、以及对 DataFrame 属性的filter_column/filter_operator/filter_value组合过滤。get_descriptive_stats:对属性或嵌套键做 count、mean、std、min、max 等;分类列可开return_value_counts_for_categorical;也可先按obs/var过滤再统计。
典型流程:检查 API 密钥 → 根据用户意图选上表之一 → 缺参时用 AskUserQuestion 补齐 → 用关键字参数调用工具 → 将 API 原始 JSON 整理后展示。
适用边界与注意点
- 必须配置
XBY_APIKEY(小笨羊侧获取);无密钥时只能向用户索取并set_api_key,禁止编造或自行搜索替代数据。 - 工具面向「检索与统计」,不负责完整的下游建模、批次校正或发表级 QC 流水线。
- 过滤类参数需成组提供(例如
filter_column与filter_operator、filter_value同时存在),否则应先向用户确认。
使用场景
- 拿到合作方提供的 `.h5ad` 或 Zarr URL,先在对话里用 `get_summary` 确认细胞数、基因数和主要 `obs`/`var` 字段再决定要不要全量下载
- 在单细胞项目中需要核对 `obs` 某一列(如 cell type)的取值分布,对过滤后的对象调用 `get_descriptive_stats` 并开启分类列频数统计
- 调试注释矩阵时只想看 `X` 或 `layers` 里若干基因(如 `CD4*` glob)的前几行几列,用 `view_raw_data` 做行列切片避免整表载入
- 按 `filter_column` 与 `filter_operator` 在 `obs` 上筛出子集后,查看 `var` 或嵌套 `obsm` 键下的原始片段是否与设计一致
适合人员
- 日常用 Scanpy 维护 `.h5ad` 流水线、需要在 IDE 外快速核对对象结构与字段的生物信息分析工程师
- 负责单细胞或空间组学交付、经常通过路径或 URL 向同事说明数据内容的项目生物学家
- 把 AnnData 文件托管在对象存储或共享盘、希望通过 Agent 按意图查摘要与统计而不是手写临时脚本的计算平台工程师
- 做 MCP/Agent 集成、要把 AnnData 检索能力接到对话工作流里且必须走官方 API 与密钥配置的后端开发者