空間トランスクリプトーム解析(spatial transcriptomics)のうちシーケンス型(Visium・Stereo-seq など NGS で読み出す方式)は、遺伝子ごとに「その発現が空間的なパターンを持つか」を問えます。これが空間可変遺伝子(SVG)の検出です。手法はいくつもあり、走らせれば必ず何百もの遺伝子が返ってきます。しかし、そのほとんどは新しい情報を持っていません。理由を理解しておかないと、リストを眺めて終わることになります。
1. 高変動遺伝子とは、何が違うのか
| 高変動遺伝子(HVG) | 空間可変遺伝子(SVG) | |
|---|---|---|
| 何を見るか | 全フィーチャを通じた分散の大きさ | 空間的なパターンの有無 |
| 空間座標 | 使わない | 使う |
| 拾うもの | どこかで大きく変動する遺伝子 | 位置と結びついて変動する遺伝子 |
| 取りこぼすもの | 分散は小さいが空間パターンを持つ遺伝子 | 空間パターンのない変動 |
前処理では特徴選択に HVG を使いました。クラスタリングの前処理としてはそれで十分ですが、HVG で選んだ 2,000 遺伝子の中に、重要な SVG が入っていない可能性があります。SVG の検出は、それ自体が目的の解析です。
2. 空間可変遺伝子には、2つの種類がある

| 種類 | 見え方 | 他の方法で見つかるか |
|---|---|---|
| ドメインに沿って変わる | 領域ごとにはっきり差がある | ドメインごとの差次発現でも見つかる |
| なめらかな勾配で変わる | 境界が無く、連続して変わる | クラスタで分けると見つからない |
💡 後者を見つけられることが、SVG を探す理由
ドメインを先に決めて、ドメイン間で 差次発現解析をすれば、前者は見つかります。しかしクラスタに依らない連続的な勾配は、この方法では出てきません。組織の中の濃度勾配や、境界からの距離に沿った変化がこれにあたります。SVG の検出は、こうしたパターンを拾うための道具です。
ドメインを先に決めて、ドメイン間で 差次発現解析をすれば、前者は見つかります。しかしクラスタに依らない連続的な勾配は、この方法では出てきません。組織の中の濃度勾配や、境界からの距離に沿った変化がこれにあたります。SVG の検出は、こうしたパターンを拾うための道具です。
3. 最大の注意点 ─ 細胞型の分布による交絡

ここが、この解析でいちばん重要な点です。
ある細胞型が組織の一部に集まっているとします。そうすると、その細胞型のマーカー遺伝子は、当然その場所で高くなります。空間可変遺伝子として検出されるのは当たり前です。
しかし、これは新しい情報ではありません。その細胞型がどこにいるかは、デコンボリューションで既に分かっているからです。同じことを、遺伝子の側から言い直しているだけです。
⚠️ 検出された SVG の多くは、細胞型分布の写し
何も対処せずに SVG を検出すると、上位に並ぶのは主要な細胞型のマーカーになります。リストを見て「この遺伝子が空間的に偏っていた」と書いても、それは「その細胞型が偏っていた」以上のことを言っていません。面白いのは、細胞型の分布で説明できない遺伝子です。同じ細胞型でも、場所によって発現が変わっている、という意味だからです。
何も対処せずに SVG を検出すると、上位に並ぶのは主要な細胞型のマーカーになります。リストを見て「この遺伝子が空間的に偏っていた」と書いても、それは「その細胞型が偏っていた」以上のことを言っていません。面白いのは、細胞型の分布で説明できない遺伝子です。同じ細胞型でも、場所によって発現が変わっている、という意味だからです。
4. 細胞型の割合を、共変量として外す
対処は単純です。細胞型の割合を説明変数にして、その上でまだ残る空間パターンを見る。
python
import numpy as np
import pandas as pd
# 細胞型の分布で説明できるかを確かめる
# 割合を説明変数にして、遺伝子発現を回帰する
from sklearn.linear_model import LinearRegression
P = adata.obsm["cell_type_proportions"].to_numpy()
X = adata.layers["lognorm"]
rows = []
for g in res.index[:200]:
y = np.asarray(adata[:, g].layers["lognorm"].todense()).ravel()
m = LinearRegression().fit(P, y)
r2 = m.score(P, y)
resid = y - m.predict(P)
rows.append((g, r2, float(resid.std())))
df = pd.DataFrame(rows, columns=["gene", "細胞型で説明できる割合", "残差の広がり"])
print(df.sort_values("細胞型で説明できる割合").head(15))
# 説明できる割合が低い遺伝子ほど、細胞型では説明のつかないパターンを持つ
説明できる割合が低い遺伝子ほど、細胞型の分布では説明のつかないパターンを持っています。そうした遺伝子こそ、追いかける価値があります。
python
# 残差を obs に入れて、組織の上に描く
# 細胞型の分布を差し引いた後に、まだ残っている空間パターンを見る
g = "COL1A1"
y = np.asarray(adata[:, g].layers["lognorm"].todense()).ravel()
m = LinearRegression().fit(P, y)
adata.obs["resid"] = y - m.predict(P)
sq.pl.spatial_scatter(adata, color=[g, "resid"], ncols=2)
# 残差にまだ構造があるなら、それは細胞型では説明できない発現の違い
# 同じ細胞型でも、場所によって発現が変わっている、ということ
💡 残差を組織の上に描く
細胞型の分布を差し引いた残差に、まだ空間的な構造が見えるなら、それは細胞型では説明できない発現の違いです。腫瘍の辺縁だけで線維芽細胞の発現が変わる、といった現象がこれにあたります。同じ発想は、細胞型ごとの差次発現を空間データで行う手法にも使われています。
細胞型の分布を差し引いた残差に、まだ空間的な構造が見えるなら、それは細胞型では説明できない発現の違いです。腫瘍の辺縁だけで線維芽細胞の発現が変わる、といった現象がこれにあたります。同じ発想は、細胞型ごとの差次発現を空間データで行う手法にも使われています。
5. 手法の選び方

| 手法 | 考え方 | 向いている場面 |
|---|---|---|
| Moran の I | 空間的な自己相関 | 最も手軽。Squidpy に入っている。まずここから |
| SPARK-X | ノンパラメトリックな検定 | 大規模データ。多数の空間パターンを同時に検定する |
| SpaGCN | ドメインを先に決めて、その特徴遺伝子を出す | ドメイン同定と一体で使いたいとき |
python
import squidpy as sq
import scanpy as sc
# 最も手軽な指標:空間的な自己相関(Moran の I)
sq.gr.spatial_neighbors(adata, coord_type="grid", n_neighs=6)
sq.gr.spatial_autocorr(adata, mode="moran", n_perms=100, n_jobs=4)
res = adata.uns["moranI"]
print(res.head(15))
# 上位の遺伝子を、必ず組織の上に描いて目で確かめる
top = res.index[:6].tolist()
sq.pl.spatial_scatter(adata, color=top, ncols=3)
SPARK-X(Zhu, Sun & Zhou, Genome Biology, 2021)は、ノンパラメトリックな枠組みで大規模なデータに対応します。1つの空間パターンだけでなく、複数の想定パターンに対して同時に検定できるのが特徴です。
⚠️ 正規化のやり方が、検出結果を左右する
SVG の検出も、正規化に敏感です。空間を考慮した正規化のほうが、単一細胞向けの正規化より良い結果になることが報告されています(Salim et al., Genome Biology, 2025)。総カウントに組織の情報が入っている以上、それを消すと空間パターンも一緒に弱まります。ドメイン同定のときと同じ判断が、ここでも要ります。
SVG の検出も、正規化に敏感です。空間を考慮した正規化のほうが、単一細胞向けの正規化より良い結果になることが報告されています(Salim et al., Genome Biology, 2025)。総カウントに組織の情報が入っている以上、それを消すと空間パターンも一緒に弱まります。ドメイン同定のときと同じ判断が、ここでも要ります。
6. 見つけた遺伝子を、どう確かめるか
- 必ず組織の上に描く。統計量の順位だけを見て終わらない。
- 細胞型の割合と重ねる。その遺伝子のパターンが、特定の細胞型の分布と同じ形なら、それは細胞型の写し。
- 残差にも構造があるかを見る。差し引いた後も残るなら、独立した情報。
- 組織像と照らす。解剖学的な構造と対応するか。
- 別の切片で再現するかを見る。1枚だけの所見は、慎重に扱う。
7. チェックリスト
- HVG と SVG の違いを意識して、SVG を別に検出したか
- 検出された上位が、主要な細胞型のマーカーで埋まっていないか
- 細胞型の割合を共変量として外したか
- 残差にまだ空間構造があるかを確かめたか
- 正規化を変えて、検出結果がどう変わるかを見たか
- 上位の遺伝子を組織の上に描いて目で確かめたか
- 細胞型の分布と重ねて、写しでないかを確認したか
まとめ
- SVG は HVG とは違う。分散が小さくても空間パターンを持つ遺伝子がある。
- SVG には2種類ある。ドメインに沿うものと、なめらかな勾配で変わるもの。後者を拾えることが、SVG を探す理由。
- 最大の注意点は、細胞型の分布による交絡。細胞型が偏っていれば、そのマーカーは自動的に空間可変になる。
- 検出された SVG の多くは細胞型分布の写しで、新しい情報を持たない。
- 対処は細胞型の割合を共変量として外すこと。残差にまだ構造があれば、それは独立した情報。
- 手法は Moran の I(手軽)、SPARK-X(大規模)、SpaGCN(ドメインと一体)から選ぶ。
- 正規化のやり方が検出結果を左右する。ドメイン同定と同じ判断が要る。
- 見つけた遺伝子は必ず組織の上に描く。順位だけを見て終わらない。
関連記事
- シーケンス型 空間トランスクリプトーム:空間ドメイン同定
- シーケンス型 空間トランスクリプトーム:正規化とクラスタリング
- シーケンス型 空間トランスクリプトーム:ニッチ・近傍解析
- シーケンス型 空間トランスクリプトーム:デコンボリューションの原理と手法分類
- scRNA-seq解析:正規化・特徴選択・次元削減・クラスタリング
- RNA-seq解析:差次発現解析(DESeq2)
- scRNA-seq解析:下流解析の全体像
- scRNA-seq解析:機能エンリッチメント・パスウェイ解析
- scRNA-seq解析の土台:AnnData のデータ構造をリレーショナルDBの発想で理解する
参考文献
- Zhu, J., Sun, S., & Zhou, X. (2021). SPARK-X: non-parametric modeling enables scalable and robust detection of spatial expression patterns for large spatial transcriptomic studies. Genome Biology, 22, 184. doi:10.1186/s13059-021-02404-0
- 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
- 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
- Bhuva, D. D., Tan, C. W., Salim, A., et al. (2024). Library size confounds biology in spatial transcriptomics data. Genome Biology, 25, 99. doi:10.1186/s13059-024-03241-7
- Salim, A., Bhuva, D. D., Chen, C., et al. (2025). SpaNorm: spatially-aware normalization for spatial transcriptomics data. Genome Biology, 26, 109. doi:10.1186/s13059-025-03565-y
- 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
- 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
- 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
- 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
- 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


コメント