metabolomics-workbench-database について
metabolomics-workbench-database は、Metabolomics Workbench REST API でメタボロミクスデータを検索するスキルです。化合物、研究、RefMet、質量分析、遺伝子やタンパク質の情報を扱う研究者やデータ利用者向けです。
主な機能
- 01化合物データと構造の取得
- 02研究メタデータと実験結果の検索
- 03RefMet による名称標準化
- 04m/z と付加イオンによる化合物検索
- 05実験条件による研究の絞り込み
- 06遺伝子とタンパク質情報の検索
活用シーン
- 01特定の代謝物を測定した研究の検索
- 02質量分析の m/z データから候補化合物を特定
- 03疾患と分析手法に合う研究の検索
- 04遺伝子、タンパク質、代謝物の相互参照
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill metabolomics-workbench-databaseインストール後、Claude Code で/metabolomics-workbench-databaseを入力して読み込まれたか確認します。
同梱ファイルreferences/api_reference.md
詳細
Metabolomics Workbench データベース
概要
Metabolomics Workbench は、UCSD でホストされている、NIH Common Fund が支援する包括的なプラットフォームであり、メタボロミクス研究データの主要なリポジトリとして機能します。4,200 を超える処理済みスタディ(そのうち 3,790 以上が一般公開)へのプログラムによるアクセス、RefMet による標準化された代謝物命名法、および複数の分析プラットフォーム(GC-MS、LC-MS、NMR)にまたがる強力な検索機能を提供します。
このスキルを使用するタイミング
このスキルは、代謝物の構造を照会する場合、スタディデータにアクセスする場合、命名法を標準化する場合、質量分析検索を実行する場合、または Metabolomics Workbench REST API を通じて遺伝子・タンパク質と代謝物の関連情報を取得する場合に使用します。
主な機能
1. 代謝物の構造とデータの照会
構造、識別子、外部データベースへの相互参照を含む、包括的な代謝物情報にアクセスします。
主な操作:
- さまざまな識別子(PubChem CID、InChI Key、KEGG ID、HMDB ID など)による化合物データの取得
- 分子構造を MOL ファイルまたは PNG 画像としてダウンロード
- 標準化された化合物分類へのアクセス
- 異なる代謝物データベース間の相互参照
クエリの例:
import requests
# Get compound information by PubChem CID
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/pubchem_cid/5281365/all/json')
# Download molecular structure as PNG
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/11/png')
# Get compound name by registry number
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/11/name/json')
2. スタディのメタデータと実験結果へのアクセス
さまざまな条件でメタボロミクススタディを照会し、完全な実験データセットを取得します。
主な操作:
- 代謝物、研究機関、研究者、またはタイトルによるスタディ検索
- スタディの概要、実験因子、分析の詳細へのアクセス
- さまざまな形式での完全な実験データの取得
- 完全なスタディ情報のための mwTab 形式ファイルのダウンロード
- 非ターゲットメタボロミクスデータの照会
クエリの例:
# List all available public studies
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST/available/json')
# Get study summary
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST000001/summary/json')
# Retrieve experimental data
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST000001/data/json')
# Find studies containing a specific metabolite
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/refmet_name/Tyrosine/summary/json')
3. RefMet による代謝物命名法の標準化
RefMet データベースを使用して代謝物名を標準化し、4 段階の構造解決レベルにわたる体系的な分類にアクセスします。
主な操作:
- 一般的な代謝物名を標準化された RefMet 名にマッチング
- 化学式、正確な質量、または InChI Key による照会
- 階層分類(スーパークラス、メインクラス、サブクラス)へのアクセス
- すべての RefMet エントリの取得、または分類によるフィルタリング
クエリの例:
# Standardize a metabolite name
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/match/citrate/name/json')
# Query by molecular formula
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/formula/C12H24O2/all/json')
# Get all metabolites in a specific class
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/main_class/Fatty%20Acids/all/json')
# Retrieve complete RefMet database
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/all/json')
4. 質量分析検索の実行
指定したイオン付加体と許容範囲を用いて、質量電荷比(m/z)により化合物を検索します。
主な操作:
- 複数のデータベース(Metabolomics Workbench、LIPIDS、RefMet)を対象とした前駆イオン質量の検索
- イオン付加体の種類を指定(M+H、M-H、M+Na、M+NH4、M+2H など)
- 特定の付加体を用いた既知の代謝物の正確な質量の計算
- 柔軟なマッチングのための質量許容範囲の設定
クエリの例:
# Search by m/z value with M+H adduct
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/MB/635.52/M+H/0.5/json')
# Calculate exact mass for a metabolite with specific adduct
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/exactmass/PC(34:1)/M+H/json')
# Search across RefMet database
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)
- 特定の種、試料の供給源、または疾患を対象とする
- セミコロン区切り形式を使用して複数のフィルタを組み合わせる
クエリの例:
# Find human blood studies on diabetes using LC-MS
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/LCMS;POSITIVE;HILIC;Human;Blood;Diabetes/json')
# Find all human blood studies containing tyrosine
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/;;;Human;Blood;;;Tyrosine/json')
# Filter by analytical method only
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/GCMS;;;;;;/json')
6. 遺伝子およびタンパク質情報へのアクセス
代謝経路および代謝物の代謝に関連する遺伝子・タンパク質データを取得します。
主な操作:
- シンボル、名称、または ID による遺伝子の照会
- タンパク質配列と注釈へのアクセス
- 遺伝子 ID、RefSeq ID、UniProt ID 間の相互参照
- 遺伝子と代謝物の関連情報の取得
クエリの例:
# Get gene information by symbol
response = requests.get('https://www.metabolomicsworkbench.org/rest/gene/gene_symbol/ACACA/all/json')
# Retrieve protein data by 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 は 2 つの主要な出力形式をサポートしています:
- JSON(デフォルト): 機械可読な形式で、プログラムからのアクセスに最適です
- TXT: 人が読みやすいタブ区切りのテキスト形式
API URL の末尾に /json または /txt を追加して形式を指定します。形式を省略した場合は、デフォルトで JSON が返されます。
ベストプラクティス
-
標準化には RefMet を使用する: 一貫した命名法を確保するため、研究を検索する前に、必ず RefMet で代謝物名を標準化してください
-
適切なアダクトを指定する: m/z 検索を行う際は、分析手法に適したイオンアダクトの種類を使用してください(例: ポジティブモード ESI の場合は M+H)
-
適切な許容誤差を設定する: 適切な質量許容誤差を使用してください(通常、低分解能 MS の場合は 0.5 Da、高分解能 MS の場合は 0.01 Da)
-
参照データをキャッシュする: 頻繁に使用する参照データ(RefMet データベース、化合物情報)をキャッシュして、API 呼び出しを最小限に抑えることを検討してください
-
ページネーションを処理する: 大規模な結果セットの場合、レスポンス内に複数のデータ構造が含まれる可能性があることを想定してください
-
識別子を検証する: 正しい化合物同定を確実にするため、可能な場合は複数のデータベース間で代謝物識別子を相互参照してください
リソース
references/
詳細な API リファレンスドキュメントは references/api_reference.md にあり、以下の内容を含みます:
- REST API エンドポイントの完全な仕様
- 利用可能なすべてのコンテキスト(compound、study、refmet、metstat、gene、protein、moverz)
- 入力・出力パラメーターの詳細
- 質量分析用のイオンアダクトの種類
- 追加のクエリ例
詳細な API 仕様が必要な場合や、あまり使われないエンドポイントを扱う場合は、このリファレンスファイルを読み込んでください。