mcpField
K
kegg-database

kegg-database

github.com/jackspaceデータ・データベース1636 回インストール12 週間前に更新
リポジトリ

kegg-database について

KEGG Database は、KEGG REST API でパスウェイ、遺伝子、化合物、酵素、疾患、医薬品を調べる研究者向けのスキルです。Python の補助関数でバイオインフォマティクス解析やデータベース連携を支援し、API は学術利用に限られます。

主な機能

  1. 01データベース情報と項目一覧の取得
  2. 02キーワードや分子特性による検索
  3. 03パスウェイ、配列、構造データの取得
  4. 04KEGG と外部データベース ID の変換
  5. 05データベース間の項目の関連付け
  6. 06医薬品間相互作用の確認

活用シーン

  1. 01対象遺伝子をパスウェイに対応付け
  2. 02エンリッチメント解析用の遺伝子取得
  3. 03化合物に関連する代謝パスウェイの検索
  4. 04KEGG と外部データベース ID の統合

インストール

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

$npx skills add https://github.com/jackspace/claudeskillz --skill kegg-database

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

同梱ファイルSKILL.json

詳細

KEGG データベース

概要

KEGG(Kyoto Encyclopedia of Genes and Genomes)は、生物学的経路解析と分子相互作用ネットワークのための包括的なバイオインフォマティクスリソースです。

重要: KEGG API は、学術利用に限り、学術ユーザーに対してのみ提供されています。

このスキルを使用するタイミング

このスキルは、KEGG の REST API を使用して、複数の生物種にまたがる経路、遺伝子、化合物、酵素、疾患、医薬品を照会する場合に使用してください。

クイックスタート

このスキルは次のものを提供します。

  1. すべての KEGG REST API 操作のための Python ヘルパー関数(scripts/kegg_api.py)
  2. 詳細な API 仕様を含む包括的なリファレンスドキュメント(references/kegg_reference.md)

ユーザーが KEGG データを要求した場合は、必要な操作を判断し、scripts/kegg_api.py から適切な関数を使用してください。

主な操作

1. データベース情報(kegg_info)

KEGG データベースのメタデータと統計情報を取得します。

使用するタイミング: データベース構造の把握、利用可能なデータの確認、リリース情報の取得。

使用方法:

from scripts.kegg_api import kegg_info

# Get pathway database info
info = kegg_info('pathway')

# Get organism-specific info
hsa_info = kegg_info('hsa')  # Human genome

一般的なデータベース: kegg、pathway、module、brite、genes、genome、compound、glycan、reaction、enzyme、disease、drug

2. エントリの一覧取得(kegg_list)

KEGG データベースからエントリの識別子と名前を一覧取得します。

使用するタイミング: 生物種のすべての経路の取得、遺伝子の一覧化、化合物カタログの取得。

使用方法:

from scripts.kegg_api import kegg_list

# List all reference pathways
pathways = kegg_list('pathway')

# List human-specific pathways
hsa_pathways = kegg_list('pathway', 'hsa')

# List specific genes (max 10)
genes = kegg_list('hsa:10458+hsa:10459')

一般的な生物種コード: hsa(ヒト)、mmu(マウス)、dme(ショウジョウバエ)、sce(酵母)、eco(大腸菌)

3. 検索(kegg_find)

キーワードや分子特性により KEGG データベースを検索します。

使用するタイミング: 名前や説明による遺伝子の検索、式や質量による化合物の検索、キーワードによるエントリの発見。

使用方法:

from scripts.kegg_api import kegg_find

# Keyword search
results = kegg_find('genes', 'p53')
shiga_toxin = kegg_find('genes', 'shiga toxin')

# Chemical formula search (exact match)
compounds = kegg_find('compound', 'C7H10N4O2', 'formula')

# Molecular weight range search
drugs = kegg_find('drug', '300-310', 'exact_mass')

検索オプション: formula(完全一致)、exact_mass(範囲)、mol_weight(範囲)

4. エントリの取得(kegg_get)

完全なデータベースエントリや特定のデータ形式を取得します。

使用するタイミング: 経路の詳細の取得、遺伝子/タンパク質配列の取得、経路マップのダウンロード、化合物構造へのアクセス。

使用方法:

from scripts.kegg_api import kegg_get

# Get pathway entry
pathway = kegg_get('hsa00010')  # Glycolysis pathway

# Get multiple entries (max 10)
genes = kegg_get(['hsa:10458', 'hsa:10459'])

# Get protein sequence (FASTA)
sequence = kegg_get('hsa:10458', 'aaseq')

# Get nucleotide sequence
nt_seq = kegg_get('hsa:10458', 'ntseq')

# Get compound structure
mol_file = kegg_get('cpd:C00002', 'mol')  # ATP in MOL format

# Get pathway as JSON (single entry only)
pathway_json = kegg_get('hsa05130', 'json')

# Get pathway image (single entry only)
pathway_img = kegg_get('hsa05130', 'image')

出力形式: aaseq(タンパク質 FASTA)、ntseq(ヌクレオチド FASTA)、mol(MOL 形式)、kcf(KCF 形式)、image(PNG)、kgml(XML)、json(経路 JSON)

重要: image、KGML、JSON 形式は、一度に 1 つのエントリのみ指定できます。

5. ID 変換(kegg_conv)

KEGG と外部データベースの間で識別子を変換します。

使用するタイミング: KEGG データと他のデータベースの統合、遺伝子 ID のマッピング、化合物識別子の変換。

使用方法:

from scripts.kegg_api import kegg_conv

# Convert all human genes to NCBI Gene IDs
conversions = kegg_conv('ncbi-geneid', 'hsa')

# Convert specific gene
gene_id = kegg_conv('ncbi-geneid', 'hsa:10458')

# Convert to UniProt
uniprot_id = kegg_conv('uniprot', 'hsa:10458')

# Convert compounds to PubChem
pubchem_ids = kegg_conv('pubchem', 'compound')

# Reverse conversion (NCBI Gene ID to KEGG)
kegg_id = kegg_conv('hsa', 'ncbi-geneid')

対応している変換: ncbi-geneid、ncbi-proteinid、uniprot、pubchem、chebi

6. 相互参照(kegg_link)

KEGG データベース内および間で関連するエントリを検索します。

使用するタイミング: 遺伝子を含む経路の検索、経路内の遺伝子の取得、遺伝子の KO グループへのマッピング、経路内の化合物の検索。

使用方法:

from scripts.kegg_api import kegg_link

# Find pathways linked to human genes
pathways = kegg_link('pathway', 'hsa')

# Get genes in a specific pathway
genes = kegg_link('genes', 'hsa00010')  # Glycolysis genes

# Find pathways containing a specific gene
gene_pathways = kegg_link('pathway', 'hsa:10458')

# Find compounds in a pathway
compounds = kegg_link('compound', 'hsa00010')

# Map genes to KO (orthology) groups
ko_groups = kegg_link('ko', 'hsa:10458')

一般的なリンク: 遺伝子 ↔ 経路、経路 ↔ 化合物、経路 ↔ 酵素、遺伝子 ↔ ko(オーソログ)

7. 薬物間相互作用(kegg_ddi)

薬物間相互作用を確認します。

使用するタイミング: 薬剤の併用の分析、禁忌の確認、薬理学的研究。

使用方法:

from scripts.kegg_api import kegg_ddi

# Check single drug
interactions = kegg_ddi('D00001')

# Check multiple drugs (max 10)
interactions = kegg_ddi(['D00001', 'D00002', 'D00003'])

一般的な分析ワークフロー

ワークフロー 1: 遺伝子から経路へのマッピング

ユースケース: 対象の遺伝子に関連する経路の検索(例: 経路エンリッチメント解析のため)。

from scripts.kegg_api import kegg_find, kegg_link, kegg_get

# Step 1: Find gene ID by name
gene_results = kegg_find('genes', 'p53')

# Step 2: Link gene to pathways
pathways = kegg_link('pathway', 'hsa:7157')  # TP53 gene

# Step 3: Get detailed pathway information
for pathway_line in pathways.split('\n'):
    if pathway_line:
        pathway_id = pathway_line.split('\t')[1].replace('path:', '')
        pathway_info = kegg_get(pathway_id)
        # Process pathway information
ワークフロー 2: 経路のエンリッチメントの文脈

ユースケース: エンリッチメント解析のために、生物種の経路内のすべての遺伝子を取得する。

from scripts.kegg_api import kegg_list, kegg_link

# Step 1: List all human pathways
pathways = kegg_list('pathway', 'hsa')

# Step 2: For each pathway, get associated genes
for pathway_line in pathways.split('\n'):
    if pathway_line:
        pathway_id = pathway_line.split('\t')[0]
        genes = kegg_link('genes', pathway_id)
        # Process genes for enrichment analysis
ワークフロー 3: 化合物から経路への分析

ユースケース: 対象の化合物を含む代謝経路の検索。

from scripts.kegg_api import kegg_find, kegg_link, kegg_get

# Step 1: Search for compound
compound_results = kegg_find('compound', 'glucose')

# Step 2: Link compound to reactions
reactions = kegg_link('reaction', 'cpd:C00031')  # Glucose

# Step 3: Link reactions to pathways
pathways = kegg_link('pathway', 'rn:R00299')  # Specific reaction

# Step 4: Get pathway details
pathway_info = kegg_get('map00010')  # Glycolysis
ワークフロー 4: データベース横断的な統合

ユースケース: KEGG データと UniProt、NCBI、PubChem のデータベースとの統合。

from scripts.kegg_api import kegg_conv, kegg_get

# Step 1: Convert KEGG gene IDs to external database IDs
uniprot_map = kegg_conv('uniprot', 'hsa')
ncbi_map = kegg_conv('ncbi-geneid', 'hsa')

# Step 2: Parse conversion results
for line in uniprot_map.split('\n'):
    if line:
        kegg_id, uniprot_id = line.split('\t')
        # Use external IDs for integration

# Step 3: Get sequences using KEGG
sequence = kegg_get('hsa:10458', 'aaseq')
ワークフロー 5: 生物種別の経路分析

ユースケース: 異なる生物種間で経路を比較する。

from scripts.kegg_api import kegg_list, kegg_get

# Step 1: List pathways for multiple organisms
human_pathways = kegg_list('pathway', 'hsa')
mouse_pathways = kegg_list('pathway', 'mmu')
yeast_pathways = kegg_list('pathway', 'sce')

# Step 2: Get reference pathway for comparison
ref_pathway = kegg_get('map00010')  # Reference glycolysis

# Step 3: Get organism-specific versions
hsa_glycolysis = kegg_get('hsa00010')
mmu_glycolysis = kegg_get('mmu00010')

パスウェイのカテゴリ

KEGG はパスウェイを 7 つの主要カテゴリに分類しています。パスウェイ ID を解釈する場合や、ユーザーにパスウェイを推奨する場合は、次のカテゴリを参照してください。

  1. Metabolism(例: map00010 - Glycolysis、map00190 - Oxidative phosphorylation)
  2. Genetic Information Processing(例: map03010 - Ribosome、map03040 - Spliceosome)
  3. Environmental Information Processing(例: map04010 - MAPK signaling、map02010 - ABC transporters)
  4. Cellular Processes(例: map04140 - Autophagy、map04210 - Apoptosis)
  5. Organismal Systems(例: map04610 - Complement cascade、map04910 - Insulin signaling)
  6. Human Diseases(例: map05200 - Pathways in cancer、map05010 - Alzheimer disease)
  7. Drug Development(時系列およびターゲットベースの分類)

詳細なパスウェイのリストと分類については、references/kegg_reference.md を参照してください。

重要な識別子と形式

パスウェイ ID
  • map##### - リファレンスパスウェイ(汎用、生物種固有ではない)
  • hsa##### - ヒトのパスウェイ
  • mmu##### - マウスのパスウェイ
遺伝子 ID
  • 形式: organism:gene_number(例: hsa:10458)
化合物 ID
  • 形式: cpd:C#####(例: ATP の cpd:C00002)
薬剤 ID
  • 形式: dr:D#####(例: dr:D00001)
酵素 ID
  • 形式: ec:EC_number(例: ec:1.1.1.1)
KO(KEGG Orthology)ID
  • 形式: ko:K#####(例: ko:K00001)

API の制限事項

KEGG API を使用する際は、次の制約を守ってください。

  1. エントリ数の上限: 1 回の操作につき最大 10 エントリ(image/kgml/json の場合は 1 エントリのみ)
  2. 学術利用: API は学術利用に限定されています。商用利用にはライセンスが必要です。
  3. HTTP ステータスコード: 200(成功)、400(不正なリクエスト)、404(見つからない)を確認してください。
  4. レート制限: 明示的な上限はありませんが、短時間に連続してリクエストを送ることは避けてください。

詳細なリファレンス

包括的な API ドキュメント、データベースの仕様、生物種コード、高度な使用方法については、references/kegg_reference.md を参照してください。この資料には次の内容が含まれます。

  • KEGG データベースの完全なリスト
  • API 操作の詳細な構文
  • すべての生物種コード
  • HTTP ステータスコードとエラー処理
  • Biopython および R/Bioconductor との連携
  • API 利用のベストプラクティス

トラブルシューティング

404 Not Found: エントリまたはデータベースが存在しません。ID と生物種コードを確認してください。 400 Bad Request: API 呼び出しの構文エラーです。パラメータの形式を確認してください。 結果が空: 検索語がエントリに一致しない可能性があります。より広いキーワードを試してください。 Image/KGML のエラー: これらの形式は単一エントリでのみ動作します。バッチ処理を取り除いてください。

追加のツール

インタラクティブなパスウェイの可視化とアノテーションには、次のツールを使用できます。

  • KEGG Mapper: https://www.kegg.jp/kegg/mapper/
  • BlastKOALA: 自動ゲノムアノテーション
  • GhostKOALA: メタゲノムおよびメタトランスクリプトームのアノテーション

コメント