mcpField
T
tooluniverse-microbiome-research

tooluniverse-microbiome-research

github.com/mims-harvardデータ・データベース1.8k149 回インストール2 日前に更新
リポジトリ

tooluniverse-microbiome-research について

微生物叢研究者向けの ToolUniverse スキルです。MGnify、GTDB、ENA、文献などを組み合わせ、研究、分類、機能注釈を調べられます。菌株の表現型、培地情報、疾患関連サンプルの検索にも対応します。

主な機能

  1. 01環境別にメタゲノム研究を検索
  2. 02分類情報と機能注釈を取得
  3. 03微生物ゲノムと分類群を検索
  4. 04菌株の表現型と培地レシピを照会
  5. 05シーケンスデータと文献を統合

活用シーン

  1. 01特定環境のシーケンス研究を探す
  2. 02サンプルの微生物組成を解析
  3. 03メタゲノム構築ゲノムの品質を評価
  4. 04菌株の培養条件と疾患関連サンプルを調査

MCP 対応

このスキルは MGnify、GTDB、ENA、文献などに対応する ToolUniverse ツールを使用します。入力には MCP との具体的な関係は記載されていません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-microbiome-research

インストール後、Claude Code で/tooluniverse-microbiome-researchを入力して読み込まれたか確認します。

詳細

ToolUniverseによるマイクロバイオーム研究

MGnify(EBIメタゲノミクス)、GTDB(ゲノム分類)、ENA(シーケンスデータ)、OLS(ENVOバイオームのオントロジー検索)、EuropePMC(文献)を使用した、包括的なマイクロバイオーム解析です。

コアツール

ツール目的認証
MGnify_search_studiesバイオームやキーワードからメタゲノミクス研究を検索しますなし
MGnify_get_study_detail研究のメタデータ、概要、サンプル数を取得しますなし
MGnify_list_analyses研究の分類学的・機能的解析結果を一覧表示しますなし
MGnify_get_taxonomy解析結果から分類学的構成を取得しますなし
MGnify_get_go_terms解析結果からGO機能アノテーションを取得しますなし
MGnify_get_interproInterProタンパク質ドメインのアノテーションを取得しますなし
MGnify_list_biomesMGnifyのバイオーム階層を閲覧しますなし
MGnify_search_genomesメタゲノムアセンブルゲノム(MAG)を検索しますなし
MGnify_get_genomeゲノムの品質指標(完全性、汚染)を取得しますなし
GTDB_search_genomes分類情報から細菌・古細菌のゲノムを検索しますなし
GTDB_get_speciesGTDBの種クラスターの詳細を取得しますなし
GTDB_get_taxon_infoGTDB階層における分類ランクの情報を取得しますなし
GTDB_search_taxonあらゆるランクにわたって部分名から分類群を検索しますなし
ENAPortal_search_studiesENAでシーケンス研究を検索します。クエリ形式:description="keyword"なし
ENAPortal_search_samples環境メタデータを持つサンプルを検索しますなし
ols_search_termsバイオーム・環境用語をENVOオントロジーから検索しますなし
EuropePMC_search_articlesマイクロバイオーム関連の論文を検索しますなし
PubMed_search_articles文献を検索します(EuropePMCとは収録範囲が異なります)なし
BacDive_search_by_taxon属(および任意で種)のBacDive株IDを一覧表示しますなし
BacDive_get_strainキュレーション済み株表現型:形態、グラム染色、培養温度・培地、酸素耐性、分離源なし
MediaDive_search_media名前の部分一致から培養培地を検索しますなし
MediaDive_get_medium培地の完全なレシピ(成分と量、調製手順)を取得しますなし
MediaDive_search_ingredients / MediaDive_get_ingredient培地成分の化学識別子(CAS/ChEBI/PubChem)を検索しますなし
GMrepo_search_species種ごとの腸内マイクロバイオームサンプル数と表現型の広がりを取得します(96,000件以上のキュレーション済みサンプル)なし
GMrepo_get_phenotypesGMrepoに腸内マイクロバイオームのデータがある350以上の健康状態を一覧表示・絞り込みますなし

薬剤とマイクロバイオームの研究では、以下も使用してください。

  • PubChem_get_CID_by_compound_name / PubChem_get_compound_properties_by_CID — 薬剤の識別
  • CTD_get_chemical_gene_interactions — 薬剤と遺伝子の相互作用(例:メトホルミンは1,175以上の遺伝子に影響します)
  • kegg_search_pathway / kegg_get_pathway_info — 微生物の代謝経路(ブタン酸、プロパン酸)
  • ReactomeAnalysis_pathway_enrichment — 薬剤の影響を受ける遺伝子に関する宿主経路のエンリッチメント解析
  • drugbank_vocab_search — 薬剤の作用機序と標的

MGnifyのヒント:簡潔な単一キーワードで検索してください(例:「metformin」)。複数語のクエリはタイムアウトすることがあります。MGnify APIは範囲の広い検索では応答が遅くなる場合があります。

クイックスタート

from tooluniverse import ToolUniverse

tu = ToolUniverse()
tu.load_tools()

# 1. Search for gut microbiome studies
studies = tu.run_one_function({
    'name': 'MGnify_search_studies',
    'arguments': {'search': 'gut microbiome', 'size': 5}
})

# 2. Get study details
detail = tu.run_one_function({
    'name': 'MGnify_get_study_detail',
    'arguments': {'study_accession': 'MGYS00006860'}
})

# 3. List analyses for a study
analyses = tu.run_one_function({
    'name': 'MGnify_list_analyses',
    'arguments': {'study_accession': 'MGYS00006860', 'size': 5}
})

# 4. Get taxonomic profile from an analysis
taxonomy = tu.run_one_function({
    'name': 'MGnify_get_taxonomy',
    'arguments': {'analysis_id': 'MGYA00793746'}
})

# 5. Get functional annotations
go_terms = tu.run_one_function({
    'name': 'MGnify_get_go_terms',
    'arguments': {'analysis_id': 'MGYA00793746'}
})

一般的なワークフロー

ワークフロー1:環境から研究を検索する

MGnifyのバイオーム階層を使って、特定のバイオームに関する研究を検索します。

# Browse biome hierarchy
biomes = tu.run_one_function({
    'name': 'MGnify_list_biomes',
    'arguments': {'lineage': 'root:Host-associated:Human', 'depth': 3}
})

# Search studies in a specific biome
studies = tu.run_one_function({
    'name': 'MGnify_search_studies',
    'arguments': {'biome': 'root:Host-associated:Human:Digestive system', 'size': 10}
})

# Look up ENVO ontology terms for environment metadata
envo = tu.run_one_function({
    'name': 'ols_search_terms',
    'arguments': {'query': 'human gut', 'ontology': 'envo', 'rows': 5}
})
ワークフロー2:分類プロファイリング

メタゲノミクスサンプルの微生物組成を取得します。

# Get analyses for a study
analyses = tu.run_one_function({
    'name': 'MGnify_list_analyses',
    'arguments': {'study_accession': 'MGYS00006860', 'size': 3}
})

# Get taxonomy for a specific analysis
taxonomy = tu.run_one_function({
    'name': 'MGnify_get_taxonomy',
    'arguments': {'analysis_id': 'MGYA00793746'}
})
# Returns organisms with lineage, abundance counts, and taxonomy rank
ワークフロー3:ゲノム品質評価

メタゲノムアセンブルゲノム(MAG)を評価します。

# Search for genomes from a specific taxon
genomes = tu.run_one_function({
    'name': 'MGnify_search_genomes',
    'arguments': {'taxonomy': 'Faecalibacterium prausnitzii', 'page_size': 5}
})

# Get quality metrics for a genome
genome = tu.run_one_function({
    'name': 'MGnify_get_genome',
    'arguments': {'genome_id': 'MGYG000000001'}
})
# Returns completeness, contamination, N50, genome length, taxonomy

# Cross-reference with GTDB taxonomy
gtdb = tu.run_one_function({
    'name': 'GTDB_search_genomes',
    'arguments': {'operation': 'search_genomes', 'query': 'Faecalibacterium', 'items_per_page': 5}
})
ワークフロー4:機能アノテーション

メタゲノムの機能的な潜在能力を調べます。

# GO terms from an analysis
go_terms = tu.run_one_function({
    'name': 'MGnify_get_go_terms',
    'arguments': {'analysis_id': 'MGYA00793746'}
})

# InterPro domains
interpro = tu.run_one_function({
    'name': 'MGnify_get_interpro',
    'arguments': {'analysis_id': 'MGYA00793746'}
})
ワークフロー5:文献との統合

メタゲノミクスデータを公表済みの研究と組み合わせます。

# Find relevant publications
papers = tu.run_one_function({
    'name': 'EuropePMC_search_articles',
    'arguments': {'query': 'gut microbiome AND Faecalibacterium AND (IBD OR "Crohn")', 'limit': 10}
})

# Find sequencing data in ENA
ena_studies = tu.run_one_function({
    'name': 'ENAPortal_search_studies',
    'arguments': {'query': 'description="gut microbiome 16S"', 'limit': 5}
})
ワークフロー 6:菌株の表現型、培養要件、疾患との関連における有病率

「この生物は実際にはどのような性質で、疾患 X ではどの程度一般的なのか」という質問に答えます。組成と分類情報しか提供しない MGnify/GTDB では答えられない質問です。

# 1. Find BacDive strain IDs for a taxon (genus required, species optional)
strains = tu.run_one_function({
    'name': 'BacDive_search_by_taxon',
    'arguments': {'genus': 'Faecalibacterium', 'species': 'prausnitzii', 'limit': 3}
})
# -> [{'bacdive_id': 159475}, {'bacdive_id': 159476}, {'bacdive_id': 159477}]

# 2. Get the curated phenotype for one strain
strain = tu.run_one_function({
    'name': 'BacDive_get_strain',
    'arguments': {'bacdive_id': 159475}
})
# -> anaerobe, mesophilic (37C), isolated from human feces, grows on
#    "YCFA-MEDIUM (MODIFIED) (DSMZ Medium 1611)" and chopped-meat medium

# 3. Cross-reference the named medium in MediaDive for the actual recipe
medium = tu.run_one_function({
    'name': 'MediaDive_search_media',
    'arguments': {'query': 'YCFA'}
})
# -> medium_id 1611 matches the BacDive culture_media entry exactly
recipe = tu.run_one_function({
    'name': 'MediaDive_get_medium',
    'arguments': {'medium_id': 1611}
})
# -> full solution-by-solution ingredient list with amounts/units and prep steps

# 4. Check GMrepo for how prevalent/associated the species is in human gut studies
prevalence = tu.run_one_function({
    'name': 'GMrepo_search_species',
    'arguments': {'query': 'Faecalibacterium prausnitzii'}
})
# -> present in 21,286 of ~96,000 samples (22.0%), spanning 88 phenotypes

conditions = tu.run_one_function({
    'name': 'GMrepo_get_phenotypes',
    'arguments': {'query': 'Crohn'}
})
# -> Crohn Disease (MeSH D003424): 5,636 samples across 1,440 species, 602 genera

BacDive の culture_media フィールドの読み方:培地名(例:"YCFA-MEDIUM (MODIFIED) (DSMZ Medium 1611)")が記載されていますが、調製レシピはありません。必ず MediaDive で培地名を検索して medium_id を確認し、次に MediaDive_get_medium を呼び出して実際の組成を調べてください。oxygen_tolerance が空の配列であることも正当な場合があります(その菌株について情報がキュレーションされていません)。空のリストから好気性/嫌気性を推測しないでください。

GMrepo の対象範囲に関する注意:presented_samples/all_samples は公開研究からキュレーションされたサンプル数であり、実際の集団有病率を示すものではありません。ある疾患の GMrepo の表現型リストに種がない場合、その疾患の腸内マイクロバイオームに存在しないことが証明されたのではなく、単にまだ調査されていないだけかもしれません。

MGnify のバイオーム階層

主なバイオーム系統(ほかのバイオームを見つけるには MGnify_list_biomes を使用してください):

  • ヒトの腸:root:Host-associated:Human:Digestive system
  • ヒトの口腔/皮膚:root:Host-associated:Human:Oral / root:Host-associated:Human:Skin
  • 土壌:root:Environmental:Terrestrial:Soil
  • 海洋/淡水:root:Environmental:Aquatic:Marine / root:Environmental:Aquatic:Freshwater
  • 廃水:root:Engineered:Wastewater

主な識別子

MGnify:研究=MGYS*、解析=MGYA*、ゲノム=MGYG*。ENA の研究=PRJEB*。GTDB のゲノム=GCA_*。ENVO 用語=ENVO:*(例:ENVO:00002041)。BacDive の菌株 ID と MediaDive の培地/成分 ID は、固定の接頭辞を持たない整数です("1a" のように接尾辞が付く場合もあります)。必ず最初に検索して特定してください。GMrepo の表現型には MeSH ID が使われます(例:クローン病の D003424)。

推論の枠組み

出発点:まず質問を定義する

マイクロバイオーム解析は、「質問は何か?」から始まります。推測せずに調べてください。結果を解釈する前に、必ず研究の種類とシーケンス手法を確認してください。

データの種類に応じた判断ツリー:

  • 群集組成(何が存在するか?)→ 16S/ITS アンプリコン → α/β多様性、差次的存在量
  • 機能的ポテンシャル(何ができるか?)→ ショットガンメタゲノミクス → MGnify の GO 用語、InterPro、KEGG 経路
  • 活性機能(現在何をしているか?)→ メタトランスクリプトミクス → 専用パイプライン(MGnify/GTDB だけでは不十分)

ツールを呼び出す前に、MGnify_get_study_detail を使ってユーザーのデータの種類を特定してください。パイプラインの種類(アンプリコンかショットガンか)によって、有効な解析が決まります。メタゲノムデータに 16S の多様性指標を適用したり、その逆を行ったりしないでください。

ディスバイオーシス評価の戦略

ディスバイオーシス(微生物の不均衡)は状況に依存し、普遍的な「健康な」マイクロバイオームはありません。推測せずに調べてください。一般集団の基準ではなく、研究内で条件を合わせた対照群と比較してください。

  1. α多様性を確認する:対照群と比べてシャノン指数が低下していれば、ディスバイオーシスが示唆されます。MGnify_get_taxonomy で群集プロファイルを取得し、豊富さと均等度を評価してください。
  2. キーストーン分類群の変化を特定する:既知の有益な分類群(例:腸内の Faecalibacterium、Roseburia)の減少や、病原性を示す可能性のある共生菌(例:Enterobacteriaceae)の増加を確認します。GTDB_get_species と EuropePMC_search_articles を使って、分類群の役割を調べてください。
  3. 機能的な影響:分類学的な変化は、代謝経路の消失/獲得と相関していますか?対象サンプルについて MGnify_get_go_terms と MGnify_get_interpro を確認してください。
  4. 交絡因子:抗生物質、食事、年齢、地理的要因はいずれもマイクロバイオームの組成に影響します。ディスバイオーシスを主張するには、これらの要因を制御するか、制約事項として明記する必要があります。
分類学的解析と機能解析:それぞれの使いどころ
  • 分類学的解析のみで十分なのは、「どの生物が存在するか」や「群間で群集構成に違いがあるか」を問う場合です。MGnify_get_taxonomy + GTDB_search_genomes を使用します。
  • 機能解析が必要なのは、「代謝能力にどのような違いがあるか」や「分類群の変化にどのような意味があるか」を問う場合です。MGnify_get_go_terms + MGnify_get_interpro + kegg_search_pathway を使用します。
  • 生物と機能を関連付ける場合(例:「健康な腸とIBDの腸で、どの分類群が酪酸産生を担っているか」)は、両方を併用します。同じMGnify解析の分類学的プロファイルと機能アノテーションを相互参照します。
エビデンスの評価
ティア説明例
T1複数のコホートで再現され、一貫した効果が認められる知見IBDにおけるFaecalibacteriumの減少(独立した研究10件超)
T2適切な対照群を設けた、十分な検出力のある単一研究(n > 100)対照試験におけるメトホルミン関連のAkkermansia増加
T3パイロット研究または観察研究での関連、小規模なサンプルサイズn=15の症例対照研究で分類群の変化が認められたが、検証コホートなし
T4計算による予測または単一サンプルでの観察新規MAGで機能が予測されたが、培養による確認なし
解釈の指針

アルファ多様性(サンプル内):Shannon指数は豊富さと均等度を測定します。Shannon値が高い(腸内では>3.0)場合、安定した群集が示唆されます。アルファ多様性の低下は、ディスバイオーシス(IBD、抗生物質)と関連しています。多様性は採取部位、シーケンシング深度、地域によって異なるため、必ず同じ研究の対照群と比較してください。

ベータ多様性(サンプル間):Bray-Curtis(存在量ベース)またはUniFrac(系統ベース)を使用します。PERMANOVAでp < 0.05かつR-squared > 0.05の場合、条件に起因するクラスタリングが示されます。有意なp値でもR-squaredが低い(<0.02)場合は、個人間の変動と比べて効果が小さいことを示唆します。存在量の多い分類群が重要な場合は重み付きUniFracを、希少な分類群が重要な場合は重みなしUniFracを選択してください。

分類学的構成:門レベルの相対存在量(Firmicutes/Bacteroidetes比)は大まかな指標であり、属または種レベルの解像度が望ましいです。複数のサンプルで相対存在量が>1%の分類群は、確実に検出されているといえます。<0.1%の分類群はノイズまたはシーケンシングのアーティファクトである可能性があります。GTDBの分類体系では、NCBIの名称が再分類されている場合があります(例:Firmicutesが複数の門に分割)。

機能プロファイリング:MGnifyのGOタームとInterProドメインは、群集の代謝ポテンシャル(必ずしも活性を示すわけではありません)を反映しています。特定の経路(例:酪酸産生、LPS生合成)の濃縮は、どの生物がその機能に寄与しているかを特定するため、分類学的データと併せて解釈してください。

統合のための質問

完全なマイクロバイオームレポートでは、以下の問いに答える必要があります。

  1. 条件間でアルファ多様性はどのように異なり、その差は有意ですか?
  2. ベータ多様性解析では、条件に起因するクラスタリングが示されていますか(PERMANOVA)?
  3. どの分類群が差次的に多く存在し、それらは既知の共生菌ですか、それともパソビオントですか?
  4. どの機能経路が濃縮されており、どの分類群がその経路を担っていると考えられますか?
  5. 同じ生態系または条件を対象とした公表研究と比べて、知見はどのような位置づけになりますか(文献に基づく背景)?

ヒント

  • MGnifyの研究アクセッションはMGYS、解析はMGYA、ゲノムはMGYGで始まります
  • 最初にMGnify_list_biomesを使用して、正しいバイオーム系統文字列を見つけてください
  • MGnify_get_taxonomyは門レベルから種レベルまでの構成を返します
  • GTDBは標準化された細菌・古細菌の分類体系を提供します(系統によってはNCBIと異なります)
  • 16Sアンプリコン研究では分類学が主な出力です。ショットガンメタゲノミクスでは、分類学的情報と機能アノテーションの両方を利用できます
  • MGnifyツールのsizeパラメーターは、1ページあたりの結果数(最大100)を制御します

コメント