シーケンス型 空間トランスクリプトーム:空間の基盤モデル ─ 単純な方法と比べてから使う

Spatial transcriptome
📚 この記事について
大量のデータで事前学習した基盤モデルを、空間データの解析にどう使うかを扱います。何で学んだモデルなのかをどう確かめるか、3つの使い方の違い、そして性能をどう正しく評価するかを整理します。これでシーケンス型トラックの本編は完結します。
🔙 前の記事:シーケンス型 空間トランスクリプトーム:組織画像からの発現予測
🔜 次の記事:シーケンス型 空間トランスクリプトーム:シリーズ総まとめ
📌 前提組織画像からの発現予測scvi-tools の全体像

空間トランスクリプトーム解析(spatial transcriptomics)のうちシーケンス型(Visium・Stereo-seq など NGS で読み出す方式)は、扱うデータが大きく、しかも公開データが蓄積しています。そこで、大量のデータで事前学習したモデルを出発点として使う流れが強まっています。ただし、この分野は動きが速く、使う側が性能を自分で確かめる姿勢が要ります。

1. 何で学んだモデルなのか


図:基盤モデルは、何で学んだかで3つに分かれる
図:基盤モデルは、何で学んだかで3つに分かれる
系統 学習データ できること 知らないこと
組織画像 大量の H&E 画像 画像から特徴を取り出す 発現
単一細胞 大量の細胞 × 遺伝子 発現から表現を作る 空間
空間データ 座標つきのデータ 位置と発現を一緒に扱う ─(ただしデータ量がまだ少ない)

組織画像の系統では、UNI(Chen et al., Nature Medicine, 2024)が代表例です。20 の主要な組織型にわたる 10 万枚以上の診断用スライドから、1 億を超える画像パッチで学習されています。画像とテキストを組み合わせたモデルも同時期に報告されています(Lu et al., Nature Medicine, 2024)。

⚠️ 自分の組織が、学習データに含まれていたかを確かめる
学習データに無かったものは、モデルも知りません。20 の組織型で学習したモデルでも、その中に自分の対象組織が入っていなければ、性能は落ちると考えるべきです。モデルカードや論文の記述で、どの組織・どの染色・どの装置のデータが使われたかを確認してください。

2. 3つの使い方


図:基盤モデルの、3つの使い方
図:基盤モデルの、3つの使い方
使い方 やること 利点 限界
そのまま使う 追加の学習をしない 手軽。まず試す価値がある 自分の課題に合うとは限らない
特徴だけ取り出す 出力の表現を、別のモデルに渡す 少ないデータで済む。最も実用的 モデルの偏りを引き継ぐ
追加学習する 自分のデータで重みを更新する 最も性能が出やすい データと計算資源が要る
python
import numpy as np
from sklearn.linear_model import RidgeCV
from sklearn.model_selection import GroupKFold

# 基盤モデルから取り出した特徴(emb)に、単純なモデルを載せる
#   emb は (フィーチャ数, 特徴の次元) とする
groups = adata.obs["patient"].to_numpy()
gkf = GroupKFold(n_splits=5)

scores = []
for tr, te in gkf.split(emb, y, groups=groups):
    m = RidgeCV(alphas=np.logspace(-2, 3, 20)).fit(emb[tr], y[tr])
    scores.append(m.score(emb[te], y[te]))
print("基盤モデル + 線形:", round(float(np.mean(scores)), 3))
💡 多くの場面では、真ん中が最も割に合う
基盤モデルを特徴抽出器として使い、取り出した表現に単純なモデル(線形回帰やロジスティック回帰)を載せる。これが、手間・データ量・性能の釣り合いが最もよい進め方です。追加学習は、データが十分にあり、特徴抽出だけでは足りないと分かってから検討すれば足ります。

3. 必ず、単純な方法と比べる


図:必ず、単純な方法と比べる
図:必ず、単純な方法と比べる

ここが、この記事でいちばん伝えたい点です。

python
# 比較用のベースラインを、必ず同じ分け方で走らせる

# 1. いつも平均を答える
base0 = []
for tr, te in gkf.split(emb, y, groups=groups):
    pred = np.full_like(y[te], y[tr].mean())
    ss = 1 - ((y[te] - pred) ** 2).sum() / \
         ((y[te] - y[te].mean()) ** 2).sum()
    base0.append(float(ss))

# 2. 単純な特徴(総カウント・面積など)だけを使う
simple = adata.obs[["total_counts", "n_genes_by_counts"]].to_numpy()
base1 = []
for tr, te in gkf.split(simple, y, groups=groups):
    m = RidgeCV().fit(simple[tr], y[tr])
    base1.append(m.score(simple[te], y[te]))

print("平均を答える:", round(float(np.mean(base0)), 3))
print("単純な特徴:", round(float(np.mean(base1)), 3))
# 基盤モデルの値が、これらを十分に上回っているか
⚠️ 差が小さければ、複雑さに見合わない
基盤モデルを使えば、何らかの数字は出ます。しかしその数字が、いつも平均を答えるだけのモデルや、既存の単純な手法とどれだけ違うのかを見なければ、性能の主張として成立しません。差が小さいなら、扱いやすさと解釈しやすさで、単純な手法のほうが勝ります。差が大きいなら、それはそのまま強い結果になります。
⚠️ 比較は、同じ分け方で行う
組織画像からの発現予測で見た、患者やスライドを単位にした分け方を、ベースラインにも同じように適用してください。基盤モデルだけを厳しい条件で、ベースラインを甘い条件で評価すれば、比較の意味がなくなります。空間自己相関による漏洩は、どちらにも同じように効きます。

4. 施設や装置の癖を、モデルが学んでしまう


病理画像には、施設ごとの癖が乗ります。染色の濃さ、スキャナの色調、切片の厚み。モデルはこれを手がかりとして学習してしまうことがあります。

⚠️ 施設が予測できてしまうモデルは、疑う
画像の特徴から施設やスキャナが当てられるなら、モデルはその情報を使っています。そして施設と結果(診断や予後)に偏りがあれば、モデルは施設を当てているだけかもしれません。施設をラベルにした分類器を組んで、どれだけ当たるかを見れば、その場で分かります。空間データでは、スライドや装置が同じ役割を果たします。

5. 現時点での、現実的な立ち位置


  • 組織画像の基盤モデルは、実用段階に入りつつある。特徴抽出器として使えば、少ないデータで成果が出やすい。
  • 空間データそのもので学習したモデルは、まだ発展途上。公開データの量が、画像や単一細胞に比べて桁違いに少ない。
  • 置き換えではなく、上乗せとして考える。デコンボリューションやドメイン同定といった既存の手法は、解釈のしやすさという明確な利点を持っている。
  • 再現性を確保する。モデルのバージョン、重みの取得元、前処理を記録しておく。
💡 既存の手法にも、深層学習は入っている
「基盤モデルを使うかどうか」は、「深層学習を使うかどうか」とは別の話です。空間ドメイン同定にはグラフニューラルネットを使う手法がありますし、デコンボリューションにも深層生成モデルを使うものがあります。目的に合った手法を選ぶという原則は、変わりません。

6. チェックリスト


  • そのモデルが何で学んだかを確認したか
  • 自分の組織・染色・装置が、学習データに含まれていたか
  • 3つの使い方のうち、どれが割に合うかを検討したか
  • 「いつも平均を答える」ベースラインと比べたか
  • 既存の単純な手法とも比べたか
  • 比較を、同じ分け方で行ったか
  • 施設やスライドが予測できてしまわないかを確かめたか
  • モデルのバージョンと前処理を記録したか

まとめ


  • 基盤モデルは何で学んだかで3つに分かれる。組織画像・単一細胞・空間データ。
  • 学習データに無かったものは、モデルも知らない。自分の組織が含まれていたかを確認する。
  • 使い方は3つ。多くの場面では特徴抽出器として使い、単純なモデルを載せるのが割に合う。
  • 必ず、単純な方法と比べる。差が小さければ、複雑さに見合わない。
  • 比較は同じ分け方で。空間自己相関による漏洩は、どちらにも効く。
  • 施設やスライドが予測できてしまうモデルは疑う。分類器を組んで確かめられる。
  • 空間データで学習したモデルはまだ発展途上。置き換えではなく、上乗せとして考える。

関連記事


参考文献


  • Chen, R. J., Ding, T., Lu, M. Y., et al. (2024). Towards a general-purpose foundation model for computational pathology. Nature Medicine, 30(3), 850–862. doi:10.1038/s41591-024-02857-3
  • Lu, M. Y., Chen, B., Williamson, D. F. K., et al. (2024). A visual-language foundation model for computational pathology. Nature Medicine, 30(3), 863–874. doi:10.1038/s41591-024-02856-4
  • He, B., Bergenstråhle, L., Stenbeck, L., et al. (2020). Integrating spatial gene expression and breast tumour morphology via deep learning. Nature Biomedical Engineering, 4(8), 827–834. doi:10.1038/s41551-020-0578-x
  • Singhal, V., Chou, N., Lee, J., et al. (2024). BANKSY unifies cell typing and tissue domain segmentation for scalable spatial omics data analysis. Nature Genetics, 56(3), 431–441. doi:10.1038/s41588-024-01664-3
  • Hu, J., Li, X., Coleman, K., et al. (2021). SpaGCN: integrating gene expression, spatial location and histology to identify spatial domains and spatially variable genes by graph convolutional network. Nature Methods, 18(11), 1342–1351. doi:10.1038/s41592-021-01255-8
  • Kleshchevnikov, V., Shmatko, A., Dann, E., et al. (2022). Cell2location maps fine-grained cell types in spatial transcriptomics. Nature Biotechnology, 40(5), 661–671. doi:10.1038/s41587-021-01139-4
  • Palla, G., Spitzer, H., Klein, M., et al. (2022). Squidpy: a scalable framework for spatial omics analysis. Nature Methods, 19(2), 171–178. doi:10.1038/s41592-021-01358-2
  • Marconato, L., Palla, G., Yamauchi, K. A., et al. (2025). SpatialData: an open and universal data framework for spatial omics. Nature Methods, 22(1), 58–62. doi:10.1038/s41592-024-02212-x
  • Wolf, F. A., Angerer, P., & Theis, F. J. (2018). SCANPY: large-scale single-cell gene expression data analysis. Genome Biology, 19, 15. doi:10.1186/s13059-017-1382-0

コメント

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