名称: 代谢组学工作台数据库 描述: “通过REST API访问NIH代谢组学工作台(4,200+项研究)。查询代谢物、RefMet命名、MS/NMR数据、m/z搜索、研究元数据,用于代谢组学和生物标志物发现。”
代谢组学工作台数据库
概述
代谢组学工作台是由NIH共同基金赞助的综合平台,由UCSD托管,作为代谢组学研究数据的主要存储库。它提供对超过4,200项处理研究(3,790+项公开可用)的程序化访问,通过RefMet标准化代谢物命名,并提供跨多个分析平台(GC-MS、LC-MS、NMR)的强大搜索功能。
何时使用此技能
此技能应在查询代谢物结构、访问研究数据、标准化命名、执行质谱搜索或通过代谢组学工作台REST API检索基因/蛋白质-代谢物关联时使用。
核心能力
1. 查询代谢物结构和数据
访问全面的代谢物信息,包括结构、标识符和对外部数据库的交叉引用。
关键操作:
- 通过各种标识符(PubChem CID、InChI Key、KEGG ID、HMDB ID等)检索化合物数据
- 下载分子结构作为MOL文件或PNG图像
- 访问标准化化合物分类
- 在不同代谢物数据库之间交叉引用
示例查询:
import requests
# 通过PubChem CID获取化合物信息
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/pubchem_cid/5281365/all/json')
# 下载分子结构为PNG
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/11/png')
# 通过注册号获取化合物名称
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/11/name/json')
2. 访问研究元数据和实验结果
通过各种标准查询代谢组学研究并检索完整的实验数据集。
关键操作:
- 按代谢物、机构、研究者或标题搜索研究
- 访问研究摘要、实验因素和分析详情
- 以各种格式检索完整的实验数据
- 下载mwTab格式文件以获取完整研究信息
- 查询非靶向代谢组学数据
示例查询:
# 列出所有可用的公共研究
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST/available/json')
# 获取研究摘要
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST000001/summary/json')
# 检索实验数据
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST000001/data/json')
# 查找包含特定代谢物的研究
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/refmet_name/Tyrosine/summary/json')
3. 使用RefMet标准化代谢物命名
使用RefMet数据库标准化代谢物名称,并在四个结构分辨率级别上访问系统分类。
关键操作:
- 将常见代谢物名称匹配到标准化的RefMet名称
- 通过化学式、精确质量或InChI Key查询
- 访问分层分类(超类、主类、子类)
- 检索所有RefMet条目或按分类过滤
示例查询:
# 标准化代谢物名称
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/match/citrate/name/json')
# 通过分子式查询
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/formula/C12H24O2/all/json')
# 获取特定类中的所有代谢物
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/main_class/Fatty%20Acids/all/json')
# 检索完整的RefMet数据库
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/all/json')
4. 执行质谱搜索
按质量荷比(m/z)搜索化合物,指定离子加合物和容差水平。
关键操作:
- 在多个数据库(代谢组学工作台、LIPIDS、RefMet)中搜索前体离子质量
- 指定离子加合物类型(M+H、M-H、M+Na、M+NH4、M+2H等)
- 计算已知代谢物具有特定加合物的精确质量
- 设置质量容差以实现灵活匹配
示例查询:
# 使用M+H加合物按m/z值搜索
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/MB/635.52/M+H/0.5/json')
# 计算代谢物具有特定加合物的精确质量
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/exactmass/PC(34:1)/M+H/json')
# 在RefMet数据库中搜索
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/REFMET/200.15/M-H/0.3/json')
5. 按分析和生物参数过滤研究
使用MetStat上下文查找匹配特定实验条件的研究。
关键操作:
- 按分析方法(LCMS、GCMS、NMR)过滤
- 指定电离极性(POSITIVE、NEGATIVE)
- 按色谱类型(HILIC、RP、GC)过滤
- 目标特定物种、样本来源或疾病
- 使用分号分隔格式组合多个过滤器
示例查询:
# 查找使用LC-MS的人类血液糖尿病研究
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/LCMS;POSITIVE;HILIC;Human;Blood;Diabetes/json')
# 查找所有包含酪氨酸的人类血液研究
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/;;;Human;Blood;;;Tyrosine/json')
# 仅按分析方法过滤
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/GCMS;;;;;;/json')
6. 访问基因和蛋白质信息
检索与代谢途径和代谢物代谢相关的基因和蛋白质数据。
关键操作:
- 按符号、名称或ID查询基因
- 访问蛋白质序列和注释
- 在基因ID、RefSeq ID和UniProt ID之间交叉引用
- 检索基因-代谢物关联
示例查询:
# 按符号获取基因信息
response = requests.get('https://www.metabolomicsworkbench.org/rest/gene/gene_symbol/ACACA/all/json')
# 通过UniProt ID检索蛋白质数据
response = requests.get('https://www.metabolomicsworkbench.org/rest/protein/uniprot_id/Q13085/all/json')
常见工作流程
工作流程1:查找特定代谢物的研究
查找所有包含特定代谢物测量的研究:
-
首先使用RefMet标准化代谢物名称:
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/match/glucose/name/json') -
使用标准化名称搜索研究:
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/refmet_name/Glucose/summary/json') -
从特定研究检索实验数据:
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST000001/data/json')
工作流程2:从MS数据识别化合物
从质谱m/z值识别潜在化合物:
-
执行m/z搜索,使用适当的加合物和容差:
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/MB/180.06/M+H/0.5/json') -
查看结果中的候选化合物
-
为候选化合物检索详细信息:
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/{regno}/all/json') -
下载结构以确认:
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/{regno}/png')
工作流程3:探索疾病特定代谢组学
查找特定疾病和分析平台的代谢组学研究:
-
使用MetStat过滤研究:
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/LCMS;POSITIVE;;Human;;Cancer/json') -
查看结果中的研究ID
-
访问详细研究信息:
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST{ID}/summary/json') -
检索完整的实验数据:
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST{ID}/data/json')
输出格式
API支持两种主要输出格式:
- JSON(默认):机器可读格式,适合程序化访问
- TXT:人类可读的制表符分隔文本格式
通过向API URL附加/json或/txt指定格式。省略格式时,默认返回JSON。
最佳实践
-
使用RefMet进行标准化:在搜索研究之前,始终通过RefMet标准化代谢物名称,以确保一致的命名
-
指定适当的加合物:执行m/z搜索时,使用适合您分析方法的正确离子加合物类型(例如,正模式ESI使用M+H)
-
设置合理的容差:使用适当的质量容差值(通常低分辨率MS为0.5 Da,高分辨率MS为0.01 Da)
-
缓存参考数据:考虑缓存常用参考数据(RefMet数据库、化合物信息),以最小化API调用
-
处理分页:对于大型结果集,准备好处理响应中的多个数据结构
-
验证标识符:尽可能跨多个数据库交叉引用代谢物标识符,以确保正确的化合物识别
资源
参考/
详细的API参考文档可在references/api_reference.md中找到,包括:
- 完整的REST API端点规范
- 所有可用上下文(compound、study、refmet、metstat、gene、protein、moverz)
- 输入/输出参数详情
- 质谱离子加合物类型
- 额外的查询示例
当需要详细的API规范或处理较少使用的端点时,加载此参考文件。