scRNA-seq解析:基盤モデルで細胞型を自動アノテーション(scGPT/Geneformer)

scRNA-seq

📚 この記事について:「scRNA-seq解析 実践シリーズ」アノテーション編。巨大アトラスで事前学習した深層モデル(基盤モデル)でアノテーションする方法を、scGPTGeneformer で解説します。手法全体の地図は アノテーション手法の全体像 を参照。

🔙 前の記事学習済みモデルによる自動アノテーション(CellTypist/Azimuth) / 🔜 次の記事LLMによる自動アノテーション(GPTCelltype)

🧩 前提:クラスタリング済みの AnnData/log 正規化済み発現/Python の基本/GPU 環境(基盤モデルの実行に推奨)。


この記事のゴール

基盤モデル(foundation model)型のアノテーションがどういうもので、いつ使う価値があるかを理解すること。結論を先に言うと、アノテーションだけが目的なら、多くの場合は前記事までの手法(CellTypist・SingleR)で十分です。基盤モデルは「大規模・複数タスク・GPU 前提」のときに本領を発揮します。


基盤モデルとは

数千万細胞の巨大アトラスを使い、ラベル無しで自己教師あり事前学習した大規模ニューラルネット(Transformer)です。細胞を「文」、遺伝子を「トークン」とみなし、一部の遺伝子情報を隠して復元させる訓練などで、汎用的な細胞・遺伝子の表現(埋め込み)を学習します。得られたモデルを、少量のラベル付きデータで fine-tune(微調整)して、アノテーションなどの下流タスクに使います。

位置づけは、前記事(学習済みモデル型)発展形です。事前学習を桁違いに大規模・汎用化し、1つのモデルでアノテーション・バッチ統合・遺伝子ネットワーク推定・摂動予測などに使えるのが特徴です。

基盤モデルの仕組み。①巨大アトラス(数千万細胞・ラベルなし)で自己教師あり事前学習し、汎用の細胞・遺伝子表現(基盤モデル)を得る。②少量のラベル付きデータで fine-tune して、細胞型アノテーションなどの下流タスクに使う。fine-tune 無し(zero-shot)の埋め込みは、単純な手法に劣ることがある。
基盤モデルの仕組み。①巨大アトラス(数千万細胞・ラベルなし)で自己教師あり事前学習し、汎用の細胞・遺伝子表現(基盤モデル)を得る。②少量のラベル付きデータで fine-tune して、細胞型アノテーションなどの下流タスクに使う。fine-tune 無し(zero-shot)の埋め込みは、単純な手法に劣ることがある。

scGPT

scGPT(Cui et al., 2024)は、GPT 型の Transformer を1000万細胞超で事前学習した基盤モデルです。fine-tune により、アノテーション・バッチ統合・遺伝子ネットワーク推定・摂動予測に使えます。ベンチマークでは、アノテーションで CellTypist や SingleR を上回る報告もあり、特に希少細胞型やデータ間(cross-dataset)で強みを示します。

コード(代表例・要 GPU)

基盤モデルの実行は手順が多いため、公式リポジトリのチュートリアル(アノテーション用)に従うのが前提です。ここでは「埋め込みを取り出す」流れだけ示します。

python# scGPT で細胞埋め込みを取得(zero-shot)。要 GPU・事前学習済みモデル
import scanpy as sc
import scgpt as scg

adata_emb = scg.tasks.embed_data(
    adata,                              # 全遺伝子・正規化済み発現
    model_dir="path/to/scGPT_human",   # ダウンロードした事前学習済みモデル
    gene_col="gene_name",
    batch_size=64,
)
# adata_emb.obsm["X_scGPT"] に細胞埋め込みが入る
# → 近傍グラフ・クラスタリング、または注釈済み参照への kNN でアノテーションに使える
sc.pp.neighbors(adata_emb, use_rep="X_scGPT")
sc.tl.leiden(adata_emb)

🔧 精度を出すには fine-tune:上は zero-shot(埋め込みのみ)です。アノテーション精度を上げるには、注釈済み参照で fine-tune します(公式の annotation チュートリアル+GPU)。zero-shot のままだと、後述のとおり単純な手法に劣ることがあります。


Geneformer

Geneformer(Theodoris et al., 2023)は、各細胞の遺伝子を発現量の順位(ランク)でトークン化して学習する Transformer です。fine-tune でアノテーションにも使えますが、ベンチマークではアノテーション精度が CellTypist や SingleR に及ばないとの報告があり、遺伝子ネットワーク推定や疾患モデリングの方が得意とされています。アノテーションが主目的なら、第一候補にはなりにくいツールです。


zero-shot と fine-tune(ここが重要)

モード 内容 実際
zero-shot 事前学習済みモデルの埋め込みをそのまま使う 単純な手法(HVG+Harmony/scVI)に劣ることがある
fine-tune 注釈済みデータで微調整してから使う zero-shot より精度が上がる(アノテーションでは fine-tune 推奨)

⚠️ 「入れればすぐ高精度」ではない
系統的な評価では、scGPT・Geneformer の zero-shot 埋め込みは、HVG 選択+Harmony/scVI といった確立した手法に、クラスタリングやバッチ補正で劣ることが報告されています(Kedzierska et al., 2025)。一方、fine-tune するとアノテーション精度は zero-shot を上回ります。基盤モデルは「入れれば勝てる」ものではなく、fine-tune と計算資源を前提に使うものです。


現実的な評価(使う前に)

⚠️ 基盤モデルの限界とコスト
GPU が必須で、fine-tune にはラベル付きデータと計算資源が要る。
アノテーションで必ず単純手法に勝つわけではない(Geneformer は CellTypist/SingleR に劣る報告)。
事前学習はヒト中心が多く、マウス・発生期はそのままでは弱い(あなたのデータなら CellTypist の Developing_Mouse_Brain の方が現実的)。
解釈性が低い:なぜそのラベルになったか説明しにくい。
遺伝子語彙の不一致:モデルの語彙に無い遺伝子は無視される。遺伝子名を揃える。


基盤モデル型の主なツール

ツール 言語 事前学習の特徴 アノテーションでの位置づけ
scGPT Python GPT 型・1000万細胞超 fine-tune で高精度・cross-dataset に強い(本記事
Geneformer Python ランク順トークン化 GRN・疾患モデルが得意・アノテーションは弱め
UCE Python 種横断の普遍埋め込み 参照不要の埋め込み
SCimilarity Python ラベル付きで学習・検索 類似細胞の検索・アノテーション
scFoundation / scBERT Python 大規模事前学習 研究用途中心

迷わないための地図:自動アノテーションの系統

「自動アノテーション」のツールは多数ありますが、すべて次の5系統のどれかです。本記事は④基盤モデル型。詳細は各記事へ(全体像は アノテーション手法の全体像)。

系統 代表ツール 参照/DB 詳細
① マーカーDB scType, decoupler, SCSA マーカーDB マーカーDBによる自動アノテーション
② 参照相関 SingleR, scmap, CHETAH 注釈済み参照 参照相関による自動アノテーション
③ 教師あり/マッピング CellTypist, Azimuth, scANVI 参照/事前学習 学習済みモデルによる自動アノテーション
④ 深層学習/基盤モデル scGPT, Geneformer 事前学習 本記事
⑤ LLM GPTCelltype, CASSIA 不要 LLMによる自動アノテーション

付いたラベルは UMAP で検証する

自動で付いた細胞型ラベルは、そのまま信じず、代表的なマーカーの発現を UMAP に投影して、本当にそのクラスタに特異的かを目で確かめます。ドットプロットは平均値に要約されるため、UMAP に重ねて細胞ごとの発現を見るのが確実です。

python# 代表マーカーの発現を UMAP に投影して、付いたラベルを検証する
sc.pl.umap(
    adata,
    color=["Pax6", "Eomes", "Neurod6", "Gad2", "Cx3cr1", "Cldn5"],
    ncols=3, cmap="viridis", frameon=False,
)

UMAP に重ねると、次の点が確認できます。

  • 他のクラスタにも発現がないか:そのマーカーが目的以外のクラスタでも光っていないか。
  • クラスタ内での広がり:そのクラスタの全細胞で出ているのか、一部だけか、発現が低いだけか。
  • 複数クラスタにまたがらないか:生物学的に複数の細胞型で発現するマーカーもあります(組み合わせで判断)。

⚠️ 本来発現しないはずのクラスタに発現がある → データ品質を疑う
あるマーカーが、組織学的に発現するはずのないクラスタに出ている場合、QC の不備やダブレット(2細胞が1液滴に入ったもの)の混入を疑います。たとえばニューロンのマーカーと血管内皮のマーカーが同じ細胞群で同時に光るなら、ダブレットの可能性があります。このときは QC の閾値やダブレット除去を見直す(→ QCダブレットの検出の記事)のが安全です。


どれを使えばよいか

  • アノテーションだけが目的 → まず CellTypistSingleR(前記事)。基盤モデルは多くの場合オーバースペック。
  • 大規模・データ間統合・複数タスクを1つのモデルで → scGPT(GPU・fine-tune 前提)。
  • マウス・発生期 → 既製の基盤モデルはヒト中心で弱い。CellTypist の Developing_Mouse_Brain が現実的。
  • いずれの場合も、結果は手動アノテーションで検証します(上節)。

落とし穴(全系統共通)

⚠️ 自動アノテーションは「下書き」。必ず手動で検証
– 基盤モデルでも、学習に無い細胞型は当てられません。
ヒト中心の事前学習が多く、マウス・発生期は弱いので、用途に合うかを見極めます。
– 付いたラベルは、UMAP へのマーカー投影(上節)で確認してから採用します。


まとめ

  • 基盤モデルは、巨大アトラスで事前学習した汎用モデルを fine-tune して下流タスクに使う。1つのモデルで複数タスクに対応できる。
  • 代表は scGPT(fine-tune でアノテーション高精度・cross-dataset に強い)と Geneformer(アノテーションは弱め・GRN 向き)。
  • zero-shot は単純手法に劣ることがあり、fine-tune が前提。GPU・ラベル・計算資源が要る。
  • アノテーションだけなら CellTypist/SingleR で十分なことが多いマウス発生期は Developing_Mouse_Brain が現実的。
  • 付いたラベルは UMAP にマーカーを投影して検証し、想定外の発現があれば QC・ダブレットを再点検する。

次の記事:LLMによる自動アノテーション(GPTCelltype) — クラスタの上位マーカーを大規模言語モデルに渡して細胞型を推定する方法に進みます。


関連記事


参考文献

  • Cui, H., Wang, C., Maan, H., et al. (2024). scGPT: toward building a foundation model for single-cell multi-omics using generative AI. Nature Methods, 21, 1470–1480. doi:10.1038/s41592-024-02201-0
  • Theodoris, C. V., Xiao, L., Chopra, A., et al. (2023). Transfer learning enables predictions in network biology. Nature, 618, 616–624. doi:10.1038/s41586-023-06139-9
  • Kedzierska, K. Z., Crawford, L., Amini, A. P., & Lu, A. X. (2025). Zero-shot evaluation reveals limitations of single-cell foundation models. Genome Biology, 26, 101. doi:10.1186/s13059-025-03574-x
  • Pasquini, G., Rojo Arias, J. E., Schäfer, P., & Busskamp, V. (2021). Automated methods for cell type annotation on scRNA-seq data. Computational and Structural Biotechnology Journal, 19, 961–969. doi:10.1016/j.csbj.2021.01.015
  • Heumos, L., Schaar, A. C., Lance, C., et al. (2023). Best practices for single-cell analysis across modalities. Nature Reviews Genetics, 24, 550–572. doi:10.1038/s41576-023-00586-w

コメント

タイトルとURLをコピーしました