この記事のゴール
基盤モデル(foundation model)型のアノテーションがどういうもので、いつ使う価値があるかを理解すること。結論を先に言うと、アノテーションだけが目的なら、多くの場合は前記事までの手法(CellTypist・SingleR)で十分です。基盤モデルは「大規模・複数タスク・GPU 前提」のときに本領を発揮します。
基盤モデルとは
数千万細胞の巨大アトラスを使い、ラベル無しで自己教師あり事前学習した大規模ニューラルネット(Transformer)です。細胞を「文」、遺伝子を「トークン」とみなし、一部の遺伝子情報を隠して復元させる訓練などで、汎用的な細胞・遺伝子の表現(埋め込み)を学習します。得られたモデルを、少量のラベル付きデータで fine-tune(微調整)して、アノテーションなどの下流タスクに使います。
位置づけは、前記事(学習済みモデル型)の発展形です。事前学習を桁違いに大規模・汎用化し、1つのモデルでアノテーション・バッチ統合・遺伝子ネットワーク推定・摂動予測などに使えるのが特徴です。
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・ダブレットの検出の記事)のが安全です。
どれを使えばよいか
- アノテーションだけが目的 → まず CellTypist や SingleR(前記事)。基盤モデルは多くの場合オーバースペック。
- 大規模・データ間統合・複数タスクを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) — クラスタの上位マーカーを大規模言語モデルに渡して細胞型を推定する方法に進みます。
関連記事
- 📖 細胞型アノテーション手法の全体像 … 手動・自動の地図
- 📖 学習済みモデル型(CellTypist/Azimuth)(前の記事)/ 📖 LLM型(GPTCelltype)(次の記事)
- 📖 参照相関型(SingleR) / 📖 手動アノテーション … 比較・検証の基準
- 📖 scvi-tools の全体像 … scVI など深層生成モデルの地図
- 📖 品質管理(QC) / 📖 ダブレット検出(scrublet・SOLO)/ 📖 AnnDataのデータ構造
参考文献
- 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


コメント