シーケンス型 空間トランスクリプトーム:デコンボリューションの原理と手法分類 ─ なぜ混合が解けるのか

Spatial transcriptome
📚 この記事について
デコンボリューションが何を解いているのか、なぜ解けるのか、なぜ失敗するのかを、数式の中身から理解します。そのうえで、主要な手法がどこで分かれるのかを整理します。手法を選ぶ根拠が、ここで手に入ります。
🔙 前の記事:シーケンス型 空間トランスクリプトーム:細胞型を割り当てる(全体像)
🔜 次の記事:シーケンス型 空間トランスクリプトーム:cell2location 実践
📌 前提scRNA-seq解析:細胞型アノテーション手法の全体像AnnData のデータ構造

空間トランスクリプトーム解析(spatial transcriptomics)のうちシーケンス型(Visium・Stereo-seq など NGS で読み出す方式)は、1つのフィーチャに複数の細胞が混ざっています。この混合を、細胞型ごとの寄与に分解するのがデコンボリューションです。「なぜそんなことができるのか」を理解しておくと、どの手法を選ぶべきかも、結果を信じてよいかどうかも、自分で判断できるようになります。

1. 何を解いているのか


考え方は単純です。フィーチャで観測された発現は、そこにいる細胞たちの発現の足し算である。T細胞が 4 割、B細胞が 2 割、腫瘍細胞が 4 割いるなら、観測された発現は、それぞれのプロファイルをその割合で混ぜたものになるはずです。

図:観測は、参照プロファイルの重み付き和として説明される
図:観測は、参照プロファイルの重み付き和として説明される

式にすると、遺伝子ごとに次の関係が成り立ちます。

  • 観測されたカウント(フィーチャごと・遺伝子ごと)── 測定済み。既知。
  • 細胞型ごとの発現プロファイル(遺伝子ごと)── 参照 scRNA-seq から作る。既知。
  • 重み(フィーチャごと・細胞型ごと)── これが未知数

参照から作るプロファイルの表を signature matrix と呼びます。細胞型ごとに、遺伝子の平均発現を並べたものです。

python
import numpy as np
import pandas as pd

# 参照から、細胞型ごとの平均発現(signature matrix)を作る
ref_df = pd.DataFrame(
    ref.layers["counts"].toarray(),
    index=ref.obs_names, columns=ref.var_names,
)
sig = ref_df.groupby(ref.obs["cell_type"].values).mean().T
print(sig.shape)   # (遺伝子, 細胞型)
💡 なぜ原理的に解けるのか
式の数は遺伝子の数(数千〜2万)、未知数は細胞型の数(数十)です。式のほうが圧倒的に多いので、重みは原理的に決まります。統計でいう過剰決定系で、回帰と同じ構図です。だからこそ、共通遺伝子の数が減ると危うくなります。式が減れば、決まりにくくなるからです。
python
# 共通遺伝子を数える。ここが少ないと、そもそも解けない
common = sig.index.intersection(adata.var_names)
print("参照の遺伝子:", sig.shape[0])
print("空間の遺伝子:", adata.n_vars)
print("共通:", len(common))

# FFPE のプローブ捕捉データに poly-A の参照を使うと、ここが大きく削れる
# 共通が数千を切るようなら、参照かプラットフォームを見直す

2. なぜ失敗するのか ─ 識別可能性の問題


「式が多いから解ける」は、1つの前提の上に成り立っています。細胞型ごとに、プロファイルが違っていること。

図:プロファイルが似ていると、重みは決まらない
図:プロファイルが似ていると、重みは決まらない

2つの細胞型の発現プロファイルがよく似ていたら、どうなるでしょうか。たとえば CD4 T細胞 と CD8 T細胞。多くの遺伝子で、発現はほとんど同じです。

このとき、「CD4 が 0.7、CD8 が 0.1」でも「CD4 が 0.1、CD8 が 0.7」でも、観測との誤差はほとんど変わりません。どちらの答えも、同じくらいうまく観測を説明してしまう。重みは一意に決まらず、わずかなノイズで大きく揺れます。

走らせる前に、参照の細胞型どうしがどれだけ違うかを確かめておくべきです。

python
# 参照の細胞型どうしが、どれだけ違うかを確かめる
S = np.log1p(sig.loc[common].values)   # (遺伝子, 細胞型)
corr = np.corrcoef(S.T)
cm = pd.DataFrame(corr, index=sig.columns, columns=sig.columns)
print(cm.round(2))

# 相関が 0.95 を超える組があれば、その2つは分けられないと考えたほうがよい
hi = [(a, b, round(float(cm.loc[a, b]), 3))
      for a in cm.index for b in cm.columns
      if a < b and cm.loc[a, b] > 0.95]
print("区別が難しい組:", hi)
⚠️ 区別できない型は、まとめる
相関が非常に高い細胞型の組が見つかったら、選択肢は2つです。(1) 参照の解像度を落として、2つを1つにまとめる(「T細胞」として扱う)。(2) その2つを分けるマーカーが、空間側のデータに残っているかを確認する。無理に細かい型で走らせて、意味のない空間パターンを描くよりは、粗い型で確実な結果を出すほうが、はるかに価値があります。

3. 素朴に解いてみる ─ そして、なぜそれではダメなのか


原理が分かれば、実装は 10 行で書けます。重みは 0 以上でなければならないので、非負最小二乗(NNLS)を使います。

python
from scipy.optimize import nnls

# 素朴なやり方:非負最小二乗で重みを解く
S = sig.loc[common].values                        # (遺伝子, 細胞型)
Y = adata[:, common].layers["counts"].toarray()   # (フィーチャ, 遺伝子)

Wt = np.zeros((Y.shape[0], S.shape[1]))
for i in range(Y.shape[0]):
    Wt[i], _ = nnls(S, Y[i])

# 割合に直す
Wt = Wt / Wt.sum(axis=1, keepdims=True)
prop = pd.DataFrame(Wt, index=adata.obs_names, columns=sig.columns)

# これは動く。しかし、次の3つを無視している
#   1. カウントは正規分布ではない(Poisson / 負の二項)
#   2. 過分散がある
#   3. 参照と空間で、遺伝子の捕まりやすさが違う(プラットフォーム効果)
# 実用の手法は、この3つを扱うために存在する

これは動きます。それらしい割合も返ってきます。しかし、実用の手法はこれよりずっと複雑です。理由は3つあります。

無視していること 何が問題か 実用の手法はどうするか
カウントの分布 最小二乗は正規分布を仮定している。カウントは違う Poisson または負の二項の尤度を使う
過分散 同じ細胞型でも、遺伝子の発現はばらつく 過分散パラメータをモデルに入れる
プラットフォーム効果 参照と空間で、遺伝子の捕まりやすさが違う 遺伝子ごとの補正項を推定する

4. プラットフォーム効果 ─ ここが本当の難所


同じ T細胞を、scRNA-seq と Visium で測ったとします。両者の発現プロファイルは、一致しません

図:同じ細胞でも、測る技術が違えばプロファイルはずれる
図:同じ細胞でも、測る技術が違えばプロファイルはずれる

ずれる理由はいくつもあります。

  • 捕捉の化学が違う:poly-A 捕捉とプローブ捕捉では、拾える転写産物が違う。
  • 解離バイアス:scRNA-seq は組織をばらして測る。解離のストレスで発現が変わる遺伝子がある。
  • 捕捉効率が遺伝子ごとに違う:長さ、二次構造、プローブの設計によって、拾いやすい遺伝子と拾いにくい遺伝子がある。

この差を補正しないと、空間側で捕まりやすい遺伝子が、フィッティングを支配します。結果として、重みは系統的に偏ります。

RCTD(Cable et al., Nature Biotechnology, 2022)は、この問題を正面から扱った手法です。Poisson-対数正規の階層モデルの中にプラットフォーム効果を表す変数を入れ、バッチ効果に由来する推定のずれに対処します。名前の R(Robust)は、ここから来ています。

cell2location(Kleshchevnikov et al., Nature Biotechnology, 2022)も同様です。負の二項モデルの中に、技術ごとに異なる発現レベルを吸収するスケーリング係数と、フィーチャごと・遺伝子ごとの2つの加算シフトを持たせています。

⚠️ プラットフォーム効果を扱わない手法は、参照のミスマッチに弱い
SPOTlight のような NMF ベースの手法や、SpatialDWLS のような重み付き最小二乗の手法は、プラットフォーム効果を明示的にはモデル化していません。参照と空間データが同じ組織・同じ条件・近いプラットフォームから来ているなら問題は小さい。しかし、公共データの参照を流用する場合、この差は無視できません。参照が手元のデータと遠いほど、確率モデル系の手法(RCTD、cell2location)を選ぶ理由が強くなります。

5. 手法の分類 ─ 4つの軸


選択肢 何が変わるか
参照の要否 参照あり / 参照なし 参照がなければ、返るのは名前のないトピック
統計モデル 確率モデル(Poisson / 負の二項)/ 回帰 / 行列分解 / 深層学習 カウントの性質とプラットフォーム効果を扱えるか
出力 割合 / 絶対量 / 対応づけ 細胞密度の情報が残るかどうか
空間情報 使う / 使わない 近くの場所どうしで情報を借りられるか

6. 代表手法の原理


手法 モデル 出力 特徴
RCTD Poisson-対数正規の階層モデル 割合 プラットフォーム効果を明示的に扱う。doublet / full / multi のモード
cell2location 階層ベイズ + 負の二項 絶対量 変分推論。フィーチャ間で情報を借りるので、稀な細胞型も拾える
stereoscope 負の二項 + 最尤推定 割合 遺伝子・細胞型ごとのパラメータを推定する
SPOTlight シードつき NMF 回帰 割合 行列分解ベース。軽い
SpatialDWLS 減衰つき重み付き最小二乗 割合 回帰ベース。速い
CARD NMF + 条件付き自己回帰(CAR) 割合 空間相関を使う。参照がずれていても精度が保たれる
DestVI 深層生成モデル(scvi-tools) 割合 細胞型「内」の連続的な状態変化までモデル化する
Tangram 深層学習による写像 対応づけ 細胞を空間に写す。測っていない遺伝子の予測が得意
STdeconvolve 潜在ディリクレ配分(LDA) トピックの割合 参照不要。K を先に決める

7. 空間情報を使うことの功罪


CARD(Ma & Zhou, Nature Biotechnology, 2022)は、「空間的に近い場所は、細胞型の組成も似ている」という仮定をモデルに入れます。条件付き自己回帰(CAR)で、隣どうしの組成に相関を持たせるのです。

この効果は大きい。論文では、空間相関をモデル化することで場所どうしが情報を借り合い、参照 scRNA-seq がミスマッチな場合でも、デコンボリューションの精度が向上したと報告されています。さらに CARD は、測っていない位置の組成や発現を補間して、元のデータより高い解像度の地図を作ることもできます。

⚠️ 空間平滑化は、鋭い境界を鈍らせる
「近い場所は似ている」という仮定は、多くの組織で正しいものです。しかし、その仮定が破れる場所こそ、見たい場所であることがあります。腫瘍と間質の境界、上皮と結合組織の境界。ここでは組成が急激に変わります。空間平滑化を強くかけると、この急変が鈍り、境界がぼやけます。境界そのものを問いにするなら、空間平滑化を使わない手法と結果を比べてください。

8. 細胞型の「内側」の多様性


ほとんどの手法は、参照の細胞型を1つの固定したプロファイルとして扱います。「T細胞のプロファイル」は1つだけ、という前提です。

しかし実際には、同じ T細胞でも、活性化しているもの、疲弊しているもの、静止しているものがあります。腫瘍の中と、リンパ節の中では、状態が違う。この違いを、通常の手法は捉えられません。

DestVI(Lopez et al., Nature Biotechnology, 2022)は、細胞型ごとに連続的な潜在変数を持たせることで、細胞型「内」の状態変化までモデル化します。「この場所の T細胞は、あの場所の T細胞と状態が違う」という問いに答えられます(scvi-tools の全体像)。

9. どう選ぶか ─ 原理から導かれる指針


状況 選ぶ手法 理由
参照が手元のデータと遠い(公共データ流用) RCTD、cell2location、CARD プラットフォーム効果や参照ミスマッチへの対処がある
細胞密度を問いたい cell2location 絶対量を推定する
稀な細胞型を拾いたい cell2location フィーチャ間で情報を借りるので、弱いシグナルも拾える
鋭い境界を見たい RCTD、cell2location 空間平滑化をかけない
組織の大域的な構造を見たい CARD 空間相関が効く
細胞型内の状態変化を見たい DestVI 細胞型ごとの潜在変数を持つ
適切な参照が存在しない STdeconvolve 参照不要
測っていない遺伝子を予測したい Tangram この課題で上位(Li et al., 2022)

ベンチマークの結果は次の記事で詳しく扱いますが、16 手法の比較(Li et al., Nature Methods, 2022)でも、Spotless(Sang-aram et al., eLife, 2023)でも、cell2location と RCTD が総合的に上位に来ています。迷ったら、この2つのどちらかから始めるのが妥当です。

10. 走らせる前のチェックリスト


  • 生のカウントを渡しているか(正規化した行列を渡していないか)
  • 共通遺伝子の数を確認したか(少なすぎないか)
  • 参照の細胞型どうしが互いに区別できるかを確認したか
  • 参照に、その組織にいるはずの細胞型がすべて入っている
  • 参照と空間データのプラットフォームの差を、手法がモデル化しているか
  • 空間平滑化が、見たい境界を鈍らせていないか
  • 細胞密度を問いたいなら、絶対量を返す手法を選んでいるか

まとめ


  • デコンボリューションは、観測 = 参照プロファイルの重み付き和という式を、重みについて解く問題。式(遺伝子)が未知数(細胞型)より圧倒的に多いから解ける。
  • 解けるのは細胞型ごとにプロファイルが違うから。似ていると、重みは入れ替え可能になり、一意に決まらない。
  • 素朴な最小二乗では足りない。カウントの分布・過分散・プラットフォーム効果を扱う必要がある。
  • プラットフォーム効果が最大の難所。参照と空間で、同じ遺伝子の捕まりやすさが違う。RCTD と cell2location は、これを明示的にモデル化する。
  • 空間平滑化(CARD)は諸刃。参照ミスマッチには強くなるが、鋭い境界は鈍る。
  • 細胞型内の状態変化を見たいなら DestVI。通常の手法は「T細胞は T細胞」として一括りにする。
  • 迷ったら cell2location か RCTD。両ベンチマークで総合上位。

関連記事


参考文献


  • Cable, D. M., Murray, E., Zou, L. S., et al. (2022). Robust decomposition of cell type mixtures in spatial transcriptomics. Nature Biotechnology, 40(4), 517–526. doi:10.1038/s41587-021-00830-w
  • 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
  • Ma, Y., & Zhou, X. (2022). Spatially informed cell-type deconvolution for spatial transcriptomics. Nature Biotechnology, 40(9), 1349–1359. doi:10.1038/s41587-022-01273-7
  • Andersson, A., Bergenstråhle, J., Asp, M., et al. (2020). Single-cell and spatial transcriptomics enables probabilistic inference of cell type topography. Communications Biology, 3, 565. doi:10.1038/s42003-020-01247-y
  • Elosua-Bayes, M., Nieto, P., Mereu, E., Gut, I., & Heyn, H. (2021). SPOTlight: seeded NMF regression to deconvolute spatial transcriptomics spots with single-cell transcriptomes. Nucleic Acids Research, 49(9), e50. doi:10.1093/nar/gkab043
  • Dong, R., & Yuan, G.-C. (2021). SpatialDWLS: accurate deconvolution of spatial transcriptomic data. Genome Biology, 22, 145. doi:10.1186/s13059-021-02362-7
  • Lopez, R., Li, B., Keren-Shaul, H., et al. (2022). DestVI identifies continuums of cell types in spatial transcriptomics data. Nature Biotechnology, 40(9), 1360–1369. doi:10.1038/s41587-022-01272-8
  • Biancalani, T., Scalia, G., Buffoni, L., et al. (2021). Deep learning and alignment of spatially resolved single-cell transcriptomes with Tangram. Nature Methods, 18(11), 1352–1362. doi:10.1038/s41592-021-01264-7
  • Miller, B. F., Huang, F., Atta, L., Sahoo, A., & Fan, J. (2022). Reference-free cell type deconvolution of multi-cellular pixel-resolution spatially resolved transcriptomics data. Nature Communications, 13(1), 2339. doi:10.1038/s41467-022-30033-z
  • Li, B., Zhang, W., Guo, C., et al. (2022). Benchmarking spatial and single-cell transcriptomics integration methods for transcript distribution prediction and cell type deconvolution. Nature Methods, 19(6), 662–670. doi:10.1038/s41592-022-01480-9
  • Sang-aram, C., Browaeys, R., Seurinck, R., & Saeys, Y. (2023). Spotless, a reproducible pipeline for benchmarking cell type deconvolution in spatial transcriptomics. eLife, 12, RP88431. doi:10.7554/eLife.88431
  • 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をコピーしました