空間トランスクリプトーム解析(spatial transcriptomics)のうちシーケンス型(Visium・Stereo-seq など NGS で読み出す方式)は、組織像と発現が同じ座標に載っています。そこで、画像から発現を予測するという発想が出てきます。実際に、乳がんの検体で 30,612 のフィーチャと組織像を対応づけて学習した研究では、100 µm の解像度で100 以上の遺伝子の発現をH&E 画像から予測できることが示されました(He et al., Nature Biomedical Engineering, 2020)。しかもそのモデルは、再学習なしに別のデータセットへも一般化しています。
1. 何が予測できて、何が予測できないか

原理を考えれば、答えははっきりしています。予測できるのは、形態と相関する成分だけです。
| 予測しやすい | 予測しにくい |
|---|---|
| 細胞の密度と関係する遺伝子 | 形態に現れない制御の違い |
| 腫瘍と間質を分ける遺伝子 | 同じ見た目の細胞の、状態の違い |
| 増殖に関わる遺伝子 | 発現量が小さい遺伝子 |
| 発現量が大きく、差もはっきりしている遺伝子 | 染色に写らない分子の変化 |
モデルが返すのは、「この見た目なら、発現はこのくらいだろう」という推定です。測定値ではありません。予測値をそのまま実測値のように扱って差次発現解析にかければ、形態の違いを発現の違いとして報告することになります。予測は仮説を作る道具であって、結論を出す道具ではありません。
2. 評価で最も多い誤り ─ 空間自己相関による漏洩

これは、空間データを機械学習に使うときの最も基本的な作法です。
隣り合うフィーチャは、発現も見た目もよく似ています。フィーチャをランダムに学習用と評価用に分ければ、評価用フィーチャのすぐ隣が学習用に入っている状態になります。これは、答えをほぼ見ながら答えているのと変わりません。
python
import numpy as np
from sklearn.model_selection import GroupKFold
# やってはいけない分け方:フィーチャをランダムに分ける
# 隣り合うフィーチャが学習側と評価側に散らばり、答えが漏れる
# from sklearn.model_selection import KFold <- これは使わない
# 正しい分け方:患者またはスライドを単位にする
groups = adata.obs["patient"].to_numpy()
gkf = GroupKFold(n_splits=5)
for tr, te in gkf.split(X, y, groups=groups):
print("学習:", sorted(set(groups[tr])),
"評価:", sorted(set(groups[te])))
# 評価側の患者は、学習側に一度も出てこない
この誤りが厄介なのは、結果が良く見えることです。相関が 0.9 を超えることもあります。しかし別の患者に当てた瞬間、性能は崩れます。分ける単位は、患者かスライドです。論文を読むときも、ここをどう分けたかを確認してください。書かれていなければ、その性能の数字は評価できません。
3. 評価は、遺伝子ごとに行う
python
# 評価は、遺伝子ごとに行う。全体の平均だけを見ない
import pandas as pd
rows = []
for i, g in enumerate(genes):
obs = y_true[:, i]
pred = y_pred[:, i]
# 予測と実測の相関
r = np.corrcoef(obs, pred)[0, 1]
# ベースライン:いつも学習データの平均を答える場合
base = np.full_like(obs, y_train[:, i].mean())
rmse_m = np.sqrt(((obs - pred) ** 2).mean())
rmse_b = np.sqrt(((obs - base) ** 2).mean())
rows.append((g, round(float(r), 3),
round(float(rmse_b / rmse_m), 3)))
df = pd.DataFrame(rows, columns=["gene", "相関", "平均予測に対する改善"])
print(df.sort_values("相関", ascending=False).head(20))
# 改善が 1 に近い遺伝子は、平均を答えるのと変わらない
全フィーチャで同じ値(学習データの平均)を答えるだけのモデルでも、評価指標によってはそれなりの値が出ます。そのベースラインをどれだけ上回ったかが、実質的な性能です。元の研究でも、病理医が付けた腫瘍・正常のラベルから予測した場合と比較されています。単純な方法と比べて、初めて意味のある数字になります。
そして、遺伝子ごとに当たり外れが大きく違います。全体の平均だけを見ると、この差が見えません。「この遺伝子は予測できる」「この遺伝子はできない」を、個別に把握してください。
4. 何のために予測するのか

| 用途 | 考え方 | 注意点 |
|---|---|---|
| 過去の標本に当てる | アーカイブの H&E は膨大にある | 検証していない検体への外挿 |
| 解像度を上げる | 画像は細かく、発現は粗い | 内挿であって、測定ではない |
| 測る場所を決める | 先に予測して当たりをつける | 予測が外れれば、見落とす |
画像を「発現を予測するため」に使う以外に、解析の補助情報として使う道もあります。SpaGCN(Hu et al., Nature Methods, 2021)は、発現・空間座標・組織像の3つを合わせて空間ドメインを同定します。BayesSpace(Zhao et al., Nature Biotechnology, 2021)は、格子構造を使ってサブスポット解像度まで推定します。予測という形をとらずに、画像の情報を取り込むアプローチです。
5. 病理の基盤モデルを、特徴抽出に使う
近年は、大量の病理画像で事前学習した基盤モデルが公開されています。UNI(Chen et al., Nature Medicine, 2024)は、20 の主要な組織型にわたる 10 万枚以上の診断用スライドから、1 億を超える画像パッチで学習されたモデルです。
こうしたモデルから取り出した特徴を入力にすれば、自前で画像エンコーダを学習させるより、少ないデータで済みます。この使い方は、次の記事で詳しく扱います。
6. チェックリスト
- 患者またはスライド単位で学習・評価を分けたか
- フィーチャをランダムに分けていないか
- 「いつも平均を答える」ベースラインと比べたか
- 遺伝子ごとに精度を出したか(全体平均だけを見ていないか)
- 予測値を、測定値として扱っていないか
- 予測から出た所見を、実測で確かめる計画があるか
- 画像を、予測以外の形で使う選択肢も検討したか
まとめ
- 予測できるのは、形態と相関する成分だけ。形態に現れないものは、原理的に取り出せない。
- H&E から 100 以上の遺伝子が 100 µm 解像度で予測でき、別データセットへも一般化した(He et al., 2020)。
- 評価で最も多い誤りは、フィーチャをランダムに分けること。隣が学習側にいるので、答えが漏れる。
- 分ける単位は、患者かスライド。論文を読むときも、ここを確認する。
- 「いつも平均を答える」ベースラインと比べる。遺伝子ごとに当たり外れが大きく違う。
- 用途はどれも仮説を作るもの。予測値を測定値として扱わない。
- 画像は、予測という形をとらずに解析の補助情報としても使える。
関連記事
- シーケンス型 空間トランスクリプトーム:空間の基盤モデル
- シーケンス型 空間トランスクリプトーム:空間ドメイン同定
- シーケンス型 空間トランスクリプトーム:空間マルチオミクス
- シーケンス型 空間トランスクリプトーム:解析単位の決め方
- scRNA-seq解析:正規化・特徴選択・次元削減・クラスタリング
- scRNA-seq解析:下流解析の全体像
- RNA-seq解析:差次発現解析(DESeq2)
- scRNA-seq解析の土台:AnnData のデータ構造をリレーショナルDBの発想で理解する
参考文献
- 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
- 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
- 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
- Zhao, E., Stone, M. R., Ren, X., et al. (2021). Spatial transcriptomics at subspot resolution with BayesSpace. Nature Biotechnology, 39(11), 1375–1384. doi:10.1038/s41587-021-00935-2
- 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
- Ståhl, P. L., Salmén, F., Vickovic, S., et al. (2016). Visualization and analysis of gene expression in tissue sections by spatial transcriptomics. Science, 353(6294), 78–82. doi:10.1126/science.aaf2403
- 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


コメント