kegg-database について
KEGG REST API を照会する Python ヘルパーとリファレンスを提供するバイオインフォマティクス向けスキルです。生物種をまたいだ経路や分子関係の分析を行う学術ユーザーを対象とし、API は学術利用に限られます。
主な機能
- 01KEGG データベースのメタデータ取得
- 02データベース項目の一覧表示と検索
- 03複数形式での項目データ取得
- 04データベース間の ID 変換
- 05関連項目と薬物相互作用の調査
活用シーン
- 01遺伝子を生物学的経路に対応付け
- 02代謝経路に含まれる化合物の分析
- 03データ統合に向けた KEGG ID の変換
- 04薬物間相互作用の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill kegg-databaseインストール後、Claude Code で/kegg-databaseを入力して読み込まれたか確認します。
同梱ファイルreferences/kegg_reference.mdscripts/kegg_api.py
詳細
KEGG データベース
概要
KEGG(Kyoto Encyclopedia of Genes and Genomes)は、生物学的経路解析と分子相互作用ネットワークのための包括的なバイオインフォマティクスリソースです。
重要: KEGG API は、学術利用に限り、学術ユーザーに対してのみ提供されています。
このスキルを使用するタイミング
このスキルは、KEGG の REST API を使用して、複数の生物種にまたがる経路、遺伝子、化合物、酵素、疾患、医薬品を照会する場合に使用してください。
クイックスタート
このスキルは次のものを提供します。
- すべての KEGG REST API 操作のための Python ヘルパー関数(
scripts/kegg_api.py) - 詳細な 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 を解釈する場合や、ユーザーにパスウェイを推奨する場合は、次のカテゴリを参照してください。
- Metabolism(例:
map00010- Glycolysis、map00190- Oxidative phosphorylation) - Genetic Information Processing(例:
map03010- Ribosome、map03040- Spliceosome) - Environmental Information Processing(例:
map04010- MAPK signaling、map02010- ABC transporters) - Cellular Processes(例:
map04140- Autophagy、map04210- Apoptosis) - Organismal Systems(例:
map04610- Complement cascade、map04910- Insulin signaling) - Human Diseases(例:
map05200- Pathways in cancer、map05010- Alzheimer disease) - 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 回の操作につき最大 10 エントリ(image/kgml/json の場合は 1 エントリのみ)
- 学術利用: API は学術利用に限定されています。商用利用にはライセンスが必要です。
- HTTP ステータスコード: 200(成功)、400(不正なリクエスト)、404(見つからない)を確認してください。
- レート制限: 明示的な上限はありませんが、短時間に連続してリクエストを送ることは避けてください。
詳細なリファレンス
包括的な 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: メタゲノムおよびメタトランスクリプトームのアノテーション