📦 项目概览
- SRAgent 自动化地搜索、提取并注释 10X Genomics 单细胞 RNA‑seq 数据,是构建 scBaseCamp 的关键基础设施之一
scBaseCount(也称为 scBaseCamp) 确实是使用 SRAgent pipeline 自动化、统一地处理了 SRA 数据库中经过筛选的 10X Genomics 单细胞 RNA-seq 数据集,并进行了标准化。这是 Arc Institute 为了解决公共数据库中数据杂乱、不一致的问题而开发的一个大规模项目。
SRAgent 是由 Arc Institute开发的 Python 工具包,用于与 NCBI Sequence Read Archive(SRA) 及其相关数据库协作,自动化数据检索和元数据提取流程 Github-SRAgent。
✨ 核心功能和代理模块
1. find-datasets 代理
功能:通过
esearch
API 查询 SRA 中的数据集,基于文本搜索得到初步结果。后续调用
SRX-info agent
以提取详细元数据信息。支持筛选参数(如物种、最大数量、禁用摘要、使用已有数据库)
示例:
# Example accession conversion:
SRAgent entrez "Convert GSE121737 to SRX accessions"
# Example of summarizing a dataset:
SRAgent entrez "Summarize SRX4967527"
- SRAgent agent
## Example of summarizing a dataset
SRAgent sragent "Summarize SRX4967527"
## Example of obtaining metadata for a specific SRX accession:
SRAgent sragent "Obtain any available publications for GSE196830"
## Example of obtaining specific metadata fields for a dataset:
SRAgent sragent "Which 10X Genomics technology was used for ERX11887200?"
-
SRX-info agent
(Obtain specific metadata for >=1 SRA dataset.)- 输入 Entrez ID
- 输出 SRX 和 SRR accession;是否是 Illumina,是否为单细胞 RNA-seq,是否为 paired-end,10X 技术细节等; 物种、组织类型(带 Uberon ontology)、病情/处理信息、细胞系等
# A single SRA dataset:
SRAgent srx-info 25576380
# Multiple SRA datasets:
SRAgent srx-info 36106630 32664033 27694586
#Use the SQL database to filter out already-processed datasets:
SRAgent srx-info --use-database 18060880 27454880 27454942 27694586
-
Metadata agent
- 接受 Entrez ID 与 SRX accession 对应的 CSV 文件,快速获取元数据,跳过 Entrez→SRX 转换流程,提升效率
SRAgent metadata "entrez-id_srx-accession.csv"
-
tissue‑ontology
使用 Uberon 本体,将自然语言描述的组织/器官映射为标准化的 Uberon ID,如
brain → UBERON:000095
。支持输入多个组织描述并对应输出 ID
## Categorize a single tissue:
SRAgent tissue-ontology "Categorize the following tissue: brain"
## Categorize multiple tissues:
SRAgent tissue-ontology "Tissues: lung, heart, liver"
## Finding ontology terms for complex tissue descriptions:
SRAgent tissue-ontology "Find the ontology term for the thin layer of epithelial cells lining the alveoli in lungs"
-
disease‑ontology agent
- 类似 tissue 本体模块,但使用的是 MONDO / PATO 疾病本体,能够将自由文本描述的疾病映射为 MONDO 标准 ID
输入:一种或多种疾病的自由文本描述
输出:每个疾病描述的 MONDO/PATO 本体 ID
- 类似 tissue 本体模块,但使用的是 MONDO / PATO 疾病本体,能够将自由文本描述的疾病映射为 MONDO 标准 ID
## Categorize a single disease:
SRAgent disease-ontology "Categorize the following disease: heart disorder"
## Finding ontology terms for specific diseases:
SRAgent disease-ontology "What is the MONDO ontology ID for congestive heart failure?"
## Categorize multiple diseases:
SRAgent disease-ontology "Diseases: heart neoplasm, bursitis"
-
find-datasets agent
- 一种高级代理,用于通过esearch在 SRA 中查找数据集,然后使用 SRX-info 代理进行处理。
SRAgent find-datasets --max-datasets 2 \
"Obtain recent single cell RNA-seq datasets in the SRA database"
## Target specific organisms
SRAgent --no-summaries \
find-datasets --max-datasets 1 --organisms pig -- \
"Obtain recent single cell RNA-seq datasets in the SRA database"
📊 总结概览
模块名称 | 功能描述 |
---|---|
find-datasets |
在 SRA 中搜索相关数据集,并调用 SRX-info 获取元数据 |
SRX-info |
基于 Entrez 或 SRX accession 获取详细元数据 |
metadata |
读取 CSV 输入批量查询,加速处理流程 |
tissue-ontology |
使用 Uberon 将组织描述映射为标准化本体 ID |
disease-ontology |
使用 MONDO / PATO 将疾病描述标准化(0.5.0 版本新增) |
✅ 适用场景与价值
对科研人员:帮助快速获取与标准化处理 SRA 中的单细胞数据集,节省手动检索和注释时间。
对生物信息平台:支持可规模化的数据自动化构建与本体标注流程。
系统集成者:可与数据库、分析 pipeline 无缝对接,用于评估、建库或机器学习任务。
整体而言,SRAgent 是一个为科研人员量身打造的、高度模块化的LLM 驱动型工具,可以自动处理 SRA 中单细胞测序数据的发现、注释与本体映射任务,已在 Arc Institute 的 scBaseCamp 工程中承担核心作用。