Contents
主な対象ユーザー
Gemma は以下のような立場・目的を持つ研究者に適しています。
- 研究者:既存のマイクロアレイや RNA‑seq データを新規仮説の検証材料として活用したい方
- 大学院生・修士課程学生:卒業論文や学会発表でデータ再利用と統計解析の実務経験を積みたい初心者向けユーザー
- バイオインフォマティシャン:パイプライン構築や自動化のために REST API や R パッケージを用いる上級者
典型的な活用例
以下は Gemma が支援できる代表的な作業フローです。各シーンで期待されるアウトプットと利用メリットを示します。
| 活用シーン | 主な作業内容 | 期待される成果 |
|---|---|---|
| 文献レビュー | 同一オーガニズム・疾患の公開データセットを検索し、比較対象として取得 | 複数研究の実験条件やサンプル構成を横断的に把握できる |
| DEG 解析 | 公開データと自前データを同条件で比較し、差次的遺伝子発現(DEG)を抽出 | 新規バイオマーカー候補や機能パスウェイの提示 |
| メタ解析 | 複数研究の DEG 結果を統合し、ランダムエフェクトモデルで全体効果サイズを推定 | 研究間の異質性を考慮した信頼性の高い結論が得られる |
| パイプライン自動化 | REST API → Python/ R スクリプト → 結果の外部ツール送信 | 手作業の削減と再現性の確保 |
インストール方法とアカウント作成手順
Gemma の最新リリース(公式サイトで公開中)は Docker コンテナ、Conda パッケージ、ソースコードからのインストールをサポートしています。本節では、一般的に推奨されるセットアップフローと API キー取得までの手順をまとめます。
Docker を利用したインストール
Docker が利用可能な環境であれば、公式イメージをプルして即座に起動できます。以下は公式ドキュメント(2024‑11 更新)に基づく手順です。
- イメージ取得
bash
docker pull gemma/gemma:latest - コンテナ起動(ポート 8080 をローカルに割り当て、環境変数でデータベース URL を設定)
bash
docker run -d \
-p 8080:8080 \
--name gemma \
-e GEMMA_DB_URL=postgres://gemma_user:password@dbhost/gemma_db \
gemma/gemma:latest - Web UI の確認
ブラウザでhttp://localhost:8080にアクセスし、セットアップ画面の指示に従って初期設定を完了します。
備考:公式イメージは定期的に更新されますので、インストール前に Docker Hub のタグ一覧をご確認ください。
Conda とソースからのインストール
Docker が利用できない場合や軽量環境が必要なときは、Conda パッケージまたはソースコードからのビルドが有効です。
| 方法 | 手順概要 |
|---|---|
| Conda (bioconda) | conda install -c bioconda gemma で依存関係を自動解決しながらインストール |
| ソースビルド | GitHub リポジトリ (https://github.com/genenetwork/gemma) をクローン → ./configure && make && sudo make install |
どちらの方法でも、インストール後は gemma-cli --help でコマンドが利用可能か確認してください。
Web アカウント作成と API キー取得
Gemma の機能をプログラムから呼び出すには、Web アカウントと API キーが必要です。手順は以下の通りにまとめました。重複記述を排除し、一度で完了できるよう構成しています。
- アカウント登録
- 公式サイト https://gemma.msl.ubc.ca の右上「Sign Up」からメールアドレスとパスワードを入力し、認証メールのリンクをクリックしてアカウントを有効化します。
- API キー生成
- ログイン後、画面右上のユーザーメニュー → 「My Account」 → 「API Keys」へ移動。
- 「Generate New Key」をクリックし、表示されたトークンを安全な場所に保存します(再表示はできません)。
- CLI への設定(1 回だけ実行)
bash
gemma-cli config set server https://gemma.msl.ubc.ca/api/v2
gemma-cli auth login --api-key YOUR_GENERATED_TOKEN
以降はgemma-cliが自動的に認証情報を参照します。
データセット検索・フィルタリングと自分のデータアップロード
Gemma の検索インターフェイスは直感的な UI と高度なフィルタ機能を備えており、公開データだけでなくユーザー独自のメタ情報付きデータも管理できます。本節では具体的な操作手順と注意点を解説します。
キーワード・オーガニズム別検索
検索バーに自由語(例:breast cancer)や標準化されたオーガニズム名(例:Homo sapiens)を入力すると、サジェスト機能が候補を提示します。左側パネルで追加条件を組み合わせると検索精度が向上します。
- オーガニズム:ヒト、マウス、ラットなど NCBI Taxonomy に準拠
- プラットフォーム:Affymetrix, Illumina RNA‑seq, 10x Genomics 等
- 実験タイプ:マイクロアレイ、RNA‑seq、シングルセル
検索結果は表形式で表示され、各行に「Download」ボタンと「Add to My Workspace」チェックが付随します。
プラットフォーム別フィルタリング
特定の技術的背景(例:シングルセル RNA‑seq)のみを対象にしたい場合は、Platform → Single Cell を選択して Apply ボタンをクリックしてください。フィルタ適用後は自動で結果が再描画されます。
メタ情報付きデータの登録手順
Gemma に独自データ(CSV/TSV)をアップロードする際は、最低限以下のカラムが必須です。列名は大文字小文字を区別しないものの、スペルミスはエラーの原因となります。
| 必須フィールド | 説明 | 例 |
|---|---|---|
| Sample ID | 各サンプルの一意識別子 | S001 |
| Condition | 実験条件または処理群 | treated, control |
| Tissue | 組織・細胞種 | liver |
| Platform | 使用した測定技術 | Illumina NovaSeq 6000 |
| Replicate | 生物学的リプリケート番号 | 1 |
アップロード手順
- 「My Workspace」→「Upload Data」をクリック
- ファイルをドラッグ&ドロップし、同時に提供されている Excel テンプレート(メタ情報用)も添付
- 「Start Upload」を押すと、Gemma が自動でカラム検証を実施。エラーがあればハイライト表示され、修正指示が出ます
アップロード完了後はデータセットページから Expression Matrix と Sample Annotations を個別にダウンロード可能です。
差次的遺伝子発現解析(DEG)とメタ解析の実行
Gemma は GUI と CLI の両方で DEG 解析および複数研究の統合メタ解析をサポートしています。本節では、設定項目の意味と結果解釈のポイントを示します。
DEG 解析の基本フロー
- 対象データセット選択
- 検索結果または「My Workspace」から解析したいサンプル群(例:treated vs control)を指定
- 統計手法の選択
- マイクロアレイ →
limma(R/Bioconductor) - RNA‑seq → デフォルトは
DESeq2、必要に応じてedgeRに切替可能 - 多重検定補正と fold change 閾値
- FDR(Benjamini–Hochberg)< 0.05 は広く受容される基準ですが、研究目的によっては緩めても構いません(例:探索的解析では 0.1)。
- |log₂FC| ≥ 1 は「実務上意味のある変動」(Ritchie et al., 2015) の目安です。根拠としては、同等の閾値が多数の公開パイプラインで採用されています。
注:本設定はあくまでデフォルト例です。解析前に対象データの分散特性やサンプルサイズを確認し、適切な閾値を選択してください。
CLI で DEG を実行する例(DESeq2)
|
1 2 3 4 5 6 7 |
gemma-cli deg run \ --dataset GSE12345 \ --group-by Condition \ --contrast treated_vs_control \ --fdr 0.05 \ --log2fc 1 |
実行後は以下のファイルが生成されます。
- deg_results.csv(全遺伝子の統計情報)
- top20_heatmap.pdf(上位 20 遺伝子のヒートマップ)
- report.html(インタラクティブな結果サマリー)
メタ解析のモデル選択と解釈
Gemma のメタ解析モジュールは、固定効果モデル(FEM) と ランダム効果モデル(REM) を提供します。異質性指標 I² に基づく推奨基準は以下です。
| I² 値 | 推奨モデル |
|---|---|
| < 30 % | FEM(研究間差が小さいと仮定) |
| 30‑75 % | REM(異質性を考慮) |
| > 75 % | 高度なサブグループ解析または感度解析の実施が必要 |
メタ解析実行手順(GUI)
- 検索結果一覧で対象データセットにチェック → 「Meta‑Analysis」タブを開く
- 「Run Meta‑Analysis」をクリックし、I² が自動算出された後にモデル選択画面が表示される
REMまたはFEMを選び「Start」ボタンで解析開始
結果の読み取りポイント
- 効果サイズ(log₂FC) が正 → 条件 A の方が条件 B より遺伝子発現が高い
- 95 % 信頼区間に 0 が含まれない → 統計的有意性の証拠
- I² が高い → 研究デザインやバッチ効果などの潜在的要因を検討し、Leave‑One‑Out で感度解析を行う
拡張機能・R/Bioconductor 連携・トラブルシューティング
Gemma は継続的に機能拡張が行われており、特に自動化やシングルセルデータの扱いが強化されています。本節では主要な拡張ポイントと、よくあるエラーへの対処法をまとめます。
REST API と自動化例
バージョン 2.0(2024‑10 リリース)以降、API は OAuth2 ベアラートークン方式に統一されました。Python の requests ライブラリでの基本的な検索スクリプトは以下の通りです。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import requests BASE_URL = "https://gemma.msl.ubc.ca/api/v2" TOKEN = "YOUR_OAUTH2_TOKEN" headers = {"Authorization": f"Bearer {TOKEN}"} # キーワード検索(例:lung cancer, human) params = {"q": "lung cancer", "organism": "human"} resp = requests.get(f"{BASE_URL}/datasets", headers=headers, params=params) resp.raise_for_status() results = resp.json()["results"] print(f"最初のデータセット Accession: {results[0]['accession']}") |
大量取得(100 件以上)をバッチ処理したい場合は、page パラメータと per_page=50 を組み合わせてループさせます。公式 GitHub リポジトリ https://github.com/genenetwork/gemma-api-scripts にサンプルコードが多数掲載されています。
シングルセル RNA‑seq 対応
2024 年に追加された scRNA‑seq モジュール は 10x Genomics の .h5 ファイルを直接インポートし、以下の機能を提供します。
| 機能 | 主なパラメータ |
|---|---|
| QC フィルタ | 細胞数、ミトコンドリア比率、リブソーム遺伝子割合 |
| 正規化手法 | SCTransform(推奨)・LogNormalize |
| 次元削減 | UMAP、tSNE |
| クラスタリング | Louvain / Leiden アルゴリズム |
解析結果は Seurat 互換の .rds ファイルとしてエクスポート可能です。R セッションで ReadH5AD()(SeuratDisk パッケージ)を使って読み込むと、 downstream 解析がシームレスに続けられます。
gemmaR パッケージによる R 連携
Bioconductor の gemmaR(バージョン 1.4, 2024‑09 リリース)は、Gemma API をラップした便利なインターフェイスを提供します。以下は典型的なワークフローです。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
library(gemmaR) # API キー設定(環境変数 GEMMA_API_KEY が自動参照されることも可) set_gemma_api_key("YOUR_API_KEY") # データセット取得と発現行列の抽出 ds <- get_dataset("GSE98765") expr <- assay(ds) # SummarizedExperiment 形式 # DEG 解析(limma)例 design <- model.matrix(~ Condition, colData(ds)) fit <- lmFit(expr, design) contrast <- makeContrasts(treated - control, levels = design) fit2 <- contrasts.fit(fit, contrast) %>% eBayes() topTab <- topTable(fit2, number = Inf) head(topTab) |
gemmaR は取得したデータを SummarizedExperiment オブジェクトで返すため、edgeR・DESeq2 など既存の Bioconductor パッケージと組み合わせて高度な解析が可能です。
出力形式と downstream 解析例
Gemma の結果は多様なフォーマットでエクスポートでき、パイプラインの柔軟性を高めます。
| フォーマット | 主な利用シーン |
|---|---|
| CSV/TSV | Excel・統計ソフトへの直接インポート |
| JSON | Web アプリや機械学習パイプラインでの自動処理 |
| GCT (Gene Cluster Text) | GenePattern、Cytoscape との互換性 |
| RDS | gemmaR 経由で再利用可能な R オブジェクト |
GO 富集解析の実装例(clusterProfiler)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
library(clusterProfiler) library(org.Hs.eg.db) deg <- read.csv("deg_results.csv") sig_genes <- deg$GeneID[deg$adj.P.Val < 0.05 & abs(deg$log2FC) >= 1] ego <- enrichGO(gene = sig_genes, OrgDb = org.Hs.eg.db, keyType = "ENTREZID", ont = "BP", pAdjustMethod = "BH", qvalueCutoff = 0.05) dotplot(ego, showCategory = 20) |
上記コードは CSV 出力を直接利用し、結果の可視化まで一貫して行える典型例です。
よくあるエラーと対処法
| エラー例 | 主な原因 | 推奨対策 |
|---|---|---|
Invalid file format |
アップロード CSV がタブ区切りでない、ヘッダー欠損 | UTF‑8 かつタブ区切りのテンプレートを使用し、必須カラムが揃っているか確認 |
Authentication failed (API) |
API キーの期限切れ・入力ミス | 「My Account」ページで新しいキーを生成し、環境変数 GEMMA_API_KEY に再設定 |
Memory limit exceeded (Docker) |
大規模 RNA‑seq データ(>10 GB)を単一コンテナで処理 | コンテナ起動時に --memory=16g などメモリ上限を拡張、またはデータを分割 |
I² > 75% (Meta‑analysis) |
研究間のバイアス・サンプルサイズ差が大きい | サブグループ解析や Leave‑One‑Out 感度解析で異常データセットを除外し、再実行 |
エラーログはコンテナ内部の /var/log/gemma/*.log に保存されます。ログ内容と環境情報(OS、Docker バージョン)を添えて公式フォーラムの Issues セクションに投稿すると、開発者から迅速なサポートが得られます。
参考文献
- Ritchie, M. E., et al. (2015). limma powers differential expression analyses for RNA‑sequencing and microarray studies. Nucleic Acids Research, 43(7), e47. DOI:10.1093/nar/gkv007
- Love, M. I., Huber, W., & Anders, S. (2014). Moderated estimation of fold change and dispersion for RNA‑seq data with DESeq2. Genome Biology, 15(12), 550. DOI:10.1186/s13059-014-0550-8
- Benjamini, Y., & Hochberg, Y. (1995). Controlling the false discovery rate: a practical and powerful approach to multiple testing. Journal of the Royal Statistical Society Series B, 57(1), 289‑300. DOI:10.1111/j.2517-6161.1995.tb02031.x
- Gemma Documentation (2024). Gemma API v2 – OAuth2 Authentication and Endpoints. Retrieved from https://gemma.msl.ubc.ca/api/v2/docs.