gsea-enrichment-analysis について
OmicVerseでGSEAとパスウェイ富化解析を行うためのスキルです。遺伝子セットの読み込み形式やAPIの要件、よくあるエラーへの対処を説明します。
主な機能
- 01遺伝子セット読み込みの案内
- 02GO・KEGGなどの経路解析
- 03生物種と遺伝子形式の要件
- 04よくあるエラーの対処
活用シーン
- 01差次的発現結果でGO富化解析
- 02上方制御遺伝子のKEGG経路解析
- 03GOとKEGGの富化結果を比較
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ omicverse/ omicverse --skill gsea-enrichment-analysisインストール後、Claude Code で/gsea-enrichment-analysisを入力して読み込まれたか確認します。
詳細
GSEA とパスウェイエンリッチメント解析
概要
このスキルでは、OmicVerse における遺伝子セットエンリッチメント解析(GSEA)とパスウェイエンリッチメントのワークフローを扱います。一般的なエラーを避けるために、正しいデータ形式と API の使用パターンに関する重要なガイダンスを提供します。
重要な API リファレンス - 遺伝子セットの形式
重要:ファイルパスではなく、辞書形式を使用してください!
ov.bulk.geneset_enrichment() 関数では、ファイルパス文字列ではなく、遺伝子セットの辞書が必要です。まず ov.utils.geneset_prepare() を使用して遺伝子セットファイルを読み込む必要があります。
正しい使用方法:
# Step 1: Download pathway database (if not already available)
ov.utils.download_pathway_database()
# Step 2: Load geneset file into dictionary format - REQUIRED!
pathways_dict = ov.utils.geneset_prepare(
'genesets/GO_Biological_Process_2021.txt', # or .gmt file
organism='Human' # or 'Mouse'
)
# Step 3: Now run enrichment with the DICTIONARY
enr = ov.bulk.geneset_enrichment(
gene_list=deg_genes,
pathways_dict=pathways_dict, # Pass the DICTIONARY, not file path!
pvalue_type='auto',
organism='Human'
)
誤り - 使用しないでください:
# WRONG! Don't pass file path directly to geneset_enrichment!
# enr = ov.bulk.geneset_enrichment(
# gene_list=deg_genes,
# pathways_dict='genesets/GO_Biological_Process_2021.gmt' # ERROR! String path doesn't work!
# )
# WRONG! geneset_enrichment expects dict, not file path
# enr = ov.bulk.geneset_enrichment(
# gene_list=deg_genes,
# pathways_dict='GO_Biological_Process_2021' # ERROR!
# )
対応ファイル形式
| ファイル拡張子 | 読み込み方法 | 備考 |
|---|---|---|
.txt | ov.utils.geneset_prepare() | OmicVerse 形式 |
.gmt | ov.utils.geneset_prepare() | 標準の GMT 形式 |
.json | json.load() の後に変換 | カスタム処理が必要 |
エンリッチメントの完全なワークフロー
import omicverse as ov
# 1. Setup
ov.plot_set()
# 2. Ensure pathway database is available
ov.utils.download_pathway_database()
# 3. Load gene sets - ALWAYS use geneset_prepare first!
go_bp = ov.utils.geneset_prepare('genesets/GO_Biological_Process_2021.txt', organism='Human')
go_mf = ov.utils.geneset_prepare('genesets/GO_Molecular_Function_2021.txt', organism='Human')
kegg = ov.utils.geneset_prepare('genesets/KEGG_2021_Human.txt', organism='Human')
# 4. Prepare gene list (e.g., from DEG analysis)
# Assuming dds is a pyDEG object with results
deg_genes = dds.result.loc[dds.result['sig'] != 'normal'].index.tolist()
# 5. Run enrichment with dictionary
enr_go_bp = ov.bulk.geneset_enrichment(
gene_list=deg_genes,
pathways_dict=go_bp, # Dictionary, NOT file path!
pvalue_type='auto',
organism='Human'
)
# 6. Visualize results
ov.bulk.geneset_plot(enr_go_bp, figsize=(6, 8), num=10)
# 7. For multiple databases, combine into dict
enr_dict = {
'GO_BP': enr_go_bp,
'GO_MF': enr_go_mf,
'KEGG': enr_kegg
}
colors_dict = {
'GO_BP': '#1f77b4',
'GO_MF': '#ff7f0e',
'KEGG': '#2ca02c'
}
ov.bulk.geneset_plot_multi(enr_dict, colors_dict, num=5)
よくあるエラーと解決方法
エラー:「FileNotFoundError」または「pathways_dict is not a dict」
原因:geneset_enrichment() に辞書ではなくファイルパス文字列を渡しています
解決方法:まず ov.utils.geneset_prepare() で読み込み、返された辞書を渡してください
エラー:「Missing file 'genesets/GO_Biological_Process_2021.gmt'」
原因:パスウェイデータベースがダウンロードされていません
解決方法:まず ov.utils.download_pathway_database() を実行してください
エラー:「No enriched pathways found」
原因:遺伝子リストとパスウェイの遺伝子に重複がないか、生物種が一致していません
解決方法:
- 遺伝子シンボルが一致していることを確認してください(ヒトとマウスでは大文字・小文字の表記が異なります)
organismパラメーターがデータと一致していることを確認してください- 遺伝子リストに十分な数の遺伝子が含まれていることを確認してください(10 個超を推奨)
利用可能なパスウェイデータベース
ov.utils.download_pathway_database() を実行すると、次のデータベースを利用できます。
GO_Biological_Process_2021.txtGO_Molecular_Function_2021.txtGO_Cellular_Component_2021.txtKEGG_2021_Human.txtKEGG_2021_Mouse.txtReactome_2022.txtWikiPathway_2023_Human.txt- その他多数...
ベストプラクティス
- 遺伝子セットを必ず最初に読み込む:ファイルパスを
geneset_enrichment()に直接渡さないでください - 遺伝子の形式を確認する:遺伝子シンボルが一致していることを確認してください(ヒトはすべて大文字、マウスはタイトルケース)
- ダウンロードは一度だけ:環境ごとに
download_pathway_database()を一度実行してください - 生物種を指定する:必ず
organism='Human'またはorganism='Mouse'を設定してください - バックグラウンド遺伝子を使用する:より正確な結果を得るには、
backgroundパラメーターを指定してください
例
- 「正しい geneset_prepare ワークフローを使って、DEG の結果に対する GO エンリッチメントを実行する」
- 「適切な辞書形式で、アップレギュレートされた遺伝子の KEGG パスウェイ解析を実行する」
- 「geneset_plot_multi を使って、GO BP、MF、KEGG のエンリッチメント結果を比較する」
参考資料
- チュートリアルノートブック:
t_deg.ipynb(エンリッチメントのセクション) - パスウェイのダウンロード:
ov.utils.download_pathway_database() - クイックリファレンス:
reference.md
コメント
Markdown 対応