シーケンス型 空間トランスクリプトーム:空間の細胞間コミュニケーション ─ 送り手と受け手を、どう分けるか

Spatial transcriptome
📚 この記事について
リガンド–受容体の解析を、空間データで行う工程を扱います。1フィーチャが混合であることが、この解析に何をもたらすのか。そして全転写産物であることの利点と、その裏返しを整理します。
🔙 前の記事:シーケンス型 空間トランスクリプトーム:ニッチ・近傍解析
🔜 次の記事:シーケンス型 空間トランスクリプトーム:パスウェイ・転写因子活性
📌 前提scRNA-seq解析:細胞間相互作用ニッチ・近傍解析

空間トランスクリプトーム解析(spatial transcriptomics)のうちシーケンス型(Visium・Stereo-seq など NGS で読み出す方式)は、リガンドと受容体の両方が、同じフィーチャで検出されます。近くにいることは分かる。しかし、どの細胞が出して、どの細胞が受け取ったのかは分かりません。1フィーチャが混合であることが、この解析に固有の難しさを作ります。

1. 送り手と受け手を、分けられない


図:1つのフィーチャで両方が検出されても、送り手と受け手は分からない
図:1つのフィーチャで両方が検出されても、送り手と受け手は分からない

scRNA-seq のリガンド–受容体解析では、1つの観測が1つの細胞なので、「T細胞がリガンドを出し、腫瘍細胞が受容体を持つ」と言えました。

シーケンス型では、1つのフィーチャにいる細胞たちの発現が足し合わされています。リガンドと受容体が同じフィーチャで検出されても、同じ細胞の自己分泌かもしれないし、隣り合う別の細胞との会話かもしれません。発現からは、この2つを区別できません。

python
import squidpy as sq
import pandas as pd

# まず、フィーチャをクラスタ(またはドメイン)で括って L-R を検定する
sq.gr.ligrec(
    adata, cluster_key="domain",
    n_perms=1000, use_raw=False,
)
res = adata.uns["domain_ligrec"]

# 全転写産物なので、候補は数千組に達する
sig = (res["pvalues"] < 0.01).sum().sum()
print("有意な組:", int(sig))
# この数のままでは解釈できない。絞る仕組みが要る
💡 データベースの指定について
COMMOT は、どのリガンド–受容体データベースを使うかを引数で指定します。CellChat 由来のものを使うのが一般的です。引数名は版によって変わることがあるので、公式ドキュメントで確認してください。到達距離(dis_thr)は自分で決める値で、振って結論が保たれるかを必ず確かめます

2. 全転写産物であることの、利点と裏返し


図:リガンドと受容体の組が、制限されない
図:リガンドと受容体の組が、制限されない

シーケンス型は、あらかじめ標的を決めずに測ります。だからリガンド–受容体のデータベースの組を、ほぼそのまま使えます。見たい経路を実験前に決めておく必要がありません。これは大きな利点です。

⚠️ その裏返しとして、候補が多すぎる
データベースには数千の組が登録されています。全転写産物を測っていれば、そのほとんどが検定にかかります。有意な組が数百出てきても、そのままでは解釈できません。「候補を絞る仕組みを、自分で用意する」ことが、この解析の実質です。

3. 候補を絞る ─ 3つの手がかり


図:候補をどう絞るか ─ 3つの手がかり
図:候補をどう絞るか ─ 3つの手がかり
手がかり 問い 使うもの
細胞型の割合 その細胞型がそこにいるか デコンボリューションの結果
空間の距離 届く距離にいるか 近傍グラフ、または距離をモデルに入れる手法
下流の応答 受け手側で標的遺伝子が動いているか 転写因子活性やパスウェイ活性
python
import numpy as np

# 手がかり1:細胞型の割合と、リガンドの発現が一致するか
P = adata.obsm["cell_type_proportions"]
X = adata.layers["lognorm"]

def assoc(gene):
    """その遺伝子の発現と、各細胞型の割合との相関を返す。"""
    y = np.asarray(adata[:, gene].layers["lognorm"].todense()).ravel()
    return P.apply(lambda col: np.corrcoef(col, y)[0, 1])

# リガンドと受容体が、それぞれどの細胞型と結びつくかを見る
print("リガンド側:"); print(assoc("CXCL12").round(2).sort_values(ascending=False).head())
print("受容体側:"); print(assoc("CXCR4").round(2).sort_values(ascending=False).head())

# 別々の細胞型と結びつくなら、細胞間の会話の候補になる
# 同じ細胞型と結びつくなら、自己分泌か、その型の中で完結している可能性
💡 リガンドと受容体が、別々の細胞型と結びつくか
リガンドの発現と各細胞型の割合の相関、受容体の発現と各細胞型の割合の相関を、それぞれ計算します。別々の細胞型と結びつくなら、細胞間の会話の候補になります。同じ細胞型と結びつくなら、自己分泌か、その型の中で完結している可能性が高い。混合というハンデを、デコンボリューションの結果で補う考え方です。
python
import commot as ct

# 距離をモデルに入れる。dis_thr は想定する到達距離(µm)
#   フィーチャの間隔より短くしても意味が無い点に注意
ct.tl.spatial_communication(
    adata, 
    dis_thr=200, heteromeric=True,
)
ct.tl.communication_direction(adata, 

# 到達距離を振って、上位の組が保たれるかを見る
for thr in [150, 200, 400]:
    print(thr)   # それぞれで走らせ、上位の組を比べる

COMMOT(Cang et al., Nature Methods, 2023)は、細胞間の距離とリガンド–受容体の競合を最適輸送の枠組みで同時に扱い、シグナルの向きまで推定します。シーケンス型のデータにも適用できます。

⚠️ 到達距離は、フィーチャの間隔より短くできない
距離を使って絞る場合、フィーチャの間隔が解像度の下限になります。間隔が 100 µm なら、それより細かい距離の議論はできません。接触依存のシグナルを、隣接という条件で絞ることには限界があります。到達距離を振って、上位の組が保たれるかを確かめてください。

4. 下流の応答まで見る


最も説得力があるのは、受け手側で実際に何かが起きていることを示すことです。リガンドの発現が高いフィーチャの近くで、その経路の下流にある転写因子の活性が上がっているか。この確認は、次の記事で扱うパスウェイ・転写因子活性と組み合わせて行います。

⚠️ それでも、発現の共起であることは変わらない
3つの手がかりをすべて満たしても、そのシグナルが実際に伝わった証拠にはなりません。リガンドの転写があっても、タンパク質になっているとは限りません。空間データは候補を絞る道具であって、証明する道具ではありません。

5. チェックリスト


  • 有意な組が何組あるかを数え、絞る前提で計画したか
  • リガンドと受容体が、それぞれどの細胞型と結びつくかを見たか
  • 同じ細胞型と結びつく組を、自己分泌の可能性として扱ったか
  • 到達距離を振って、上位の組が保たれるかを確かめたか
  • フィーチャの間隔より短い距離を議論していないか
  • 受け手側の下流の応答まで確認したか
  • 結論を「候補」として書いているか

まとめ


  • 1フィーチャが混合なので、送り手と受け手を分けられない。自己分泌と細胞間の会話が、発現からは区別できない。
  • 全転写産物なので、L-R の組が制限されない。見たい経路を実験前に決めなくてよい。これは大きな利点。
  • その裏返しで候補が多すぎる。絞る仕組みを自分で用意することが、この解析の実質。
  • 絞る手がかりは3つ。細胞型の割合・空間の距離・下流の応答
  • リガンドと受容体が別々の細胞型と結びつくかを見れば、混合というハンデを部分的に補える。
  • 到達距離は、フィーチャの間隔より短くできない。接触依存の議論には限界がある。
  • それでも発現の共起である点は変わらない。候補を絞る道具として使う。

関連記事


参考文献


  • Cang, Z., Zhao, Y., Almet, A. A., et al. (2023). Screening cell–cell communication in spatial transcriptomics via collective optimal transport. Nature Methods, 20(2), 218–228. doi:10.1038/s41592-022-01728-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
  • 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
  • Badia-i-Mompel, P., Vélez Santiago, J., Braunger, J., et al. (2022). decoupleR: ensemble of computational methods to infer biological activities from omics data. Bioinformatics Advances, 2(1), vbac016. doi:10.1093/bioadv/vbac016
  • Schürch, C. M., Bhate, S. S., Barlow, G. L., et al. (2020). Coordinated cellular neighborhoods orchestrate antitumoral immunity at the colorectal cancer invasive front. Cell, 182(5), 1341–1359.e19. doi:10.1016/j.cell.2020.07.005
  • 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をコピーしました