シーケンス型 空間トランスクリプトーム:空間マルチオミクス ─ 同じ切片か、連続切片か

Spatial transcriptome
📚 この記事について
転写産物だけでなく、クロマチンやタンパク質も同じ座標で測る方法を扱います。同じ切片で測るか連続切片で測るかという選択が、統合の難しさをすべて決めるという構造を整理します。これで統合・発展ブロックは完結します。
🔙 前の記事:シーケンス型 空間トランスクリプトーム:スライス整列と 3D 再構成
🔜 次の記事:シーケンス型 空間トランスクリプトーム:組織画像からの発現予測
📌 前提スライス整列と 3D 再構成scATAC-seq解析とは:全体像と解析の流れ

空間トランスクリプトーム解析(spatial transcriptomics)のうちシーケンス型(Visium・Stereo-seq など NGS で読み出す方式)は、転写産物を測る技術ですが、同じ組織の同じ座標で別の層も測れるようになってきました。クロマチンが開いているか、タンパク質が実際にあるか、代謝物が何か。転写だけでは分からないことを、同じ場所で確かめられます。そして統合の難しさは、たった1つの選択で決まります。

1. 同じ切片か、連続切片か


図:同じ切片で測るか、別の切片で測るか
図:同じ切片で測るか、別の切片で測るか
同じ切片で同時に測る 連続切片で別々に測る
座標 そのまま共有される 先に整列が要る
対応するもの 同じ細胞 隣り合う別の細胞
難しさ 測定どうしが干渉しうる 整列の誤差が統合の誤差になる
利点 対応づけが要らない それぞれの測定を最適化できる

哺乳類の組織で、エピゲノムとトランスクリプトームを同じ切片で同時に測る手法が報告されています(Zhang et al., Nature, 2023)。同じ場所の2つの測定値が直接得られるので、対応づけの問題そのものが発生しません。

python
import numpy as np

# 同じ切片で測った場合:座標がそのまま共有されている
assert np.allclose(rna.obsm["spatial"], atac.obsm["spatial"])
shared = rna.obs_names.intersection(atac.obs_names)
print("共通のフィーチャ:", len(shared))

# 連続切片の場合:先に整列する
#   整列の誤差が、そのまま統合の誤差になる
import paste as pst
pi = pst.pairwise_align(rna, atac, alpha=0.1)
aligned = pst.stack_slices_pairwise([rna, atac], [pi])
⚠️ 連続切片なら、整列の誤差がすべてに伝わる
別々の切片で測った場合、スライス整列と 3D 再構成で扱った整列が必ず必要になります。そして整列の誤差が、そのまま統合の誤差になります。「この場所でクロマチンが開いていて、同じ場所で発現が高い」という結論が、実は 50 µm ずれた場所どうしを比べていた、ということが起こりえます。

2. どのモダリティを、何のために組み合わせるか


図:何と何を、同じ座標で見るか
図:何と何を、同じ座標で見るか
分かること 転写だけでは分からないこと
転写産物 どの遺伝子が読まれているか
クロマチン どこが開いているか 開いているのに読まれていない領域
タンパク質 実際に何があるか mRNA はあるがタンパク質が無い状態
代謝物 何が作られているか 酵素の発現と、実際の代謝活性のずれ
💡 そろえられるのは座標であって、単位ではない
モダリティごとに、解像度も検出感度も違います。クロマチンの測定が 50 µm 単位で、転写の測定が 10 µm 単位なら、同じ座標に載っていても、比べられる粒度は粗いほうです。「同じ座標系にある」ことと「同じ単位で比べられる」ことは、別です。

3. 解析単位をそろえる


図:どの順番で統合するか
図:どの順番で統合するか

統合の順番には、飛ばしてはいけない工程が2つあります。座標をそろえることと、解析単位をそろえることです。

python
# 解像度が違うときは、粗いほうにそろえる
#   細かい側を、粗い側の格子に集約する
from scipy.spatial import cKDTree

tree = cKDTree(coarse.obsm["spatial"])
d, idx = tree.query(fine.obsm["spatial"])

# 遠すぎる点は捨てる。無理に対応づけない
ok = d < 60.0
print("対応づいた割合:", round(float(ok.mean()), 3))

# 粗い側の各フィーチャに、細かい側の値を集約する
import pandas as pd
df = pd.DataFrame(fine.X[ok].toarray(), columns=fine.var_names)
df["target"] = idx[ok]
agg = df.groupby("target").sum()
print(agg.shape)
⚠️ 粗いほうに合わせる
細かい側を粗い側の格子に集約するのが、素直な進め方です。逆向き、つまり粗い側を細かい格子に引き伸ばすのは、情報を増やしたように見せるだけです。また、集約するときは遠すぎる点を捨ててください。対応する相手がいない場所を無理に対応づけると、そこだけ意味の無い値が入ります。

4. 検証 ─ 既知の対応関係を1つ用意する


統合がうまくいったかを、どうやって確かめるか。最も確実なのは、成り立つはずの関係を1つ決めておいて、それが再現されるかを見ることです。

python
# 検証:既知の対応関係が再現できるかを確かめる
#   たとえば、開いている領域と、その近くの遺伝子の発現
pairs = [("prom_GENE1", "GENE1"),
         ("prom_GENE2", "GENE2")]

for a, r in pairs:
    if a not in atac.var_names or r not in rna.var_names:
        continue
    x = np.asarray(atac[:, a].X.todense()).ravel()
    y = np.asarray(rna[:, r].X.todense()).ravel()
    print(a, r, "r =", round(float(np.corrcoef(x, y)[0, 1]), 3))

# 正の相関が出るはずの組で出ないなら、座標がずれている可能性が高い
  • クロマチンと転写:開いている領域の近くの遺伝子は、発現が高いはず。
  • タンパク質と転写:同じ分子について、正の相関があるはず。
  • 組織像との対応:どのモダリティでも、既知の構造が同じ場所に出るはず。
⚠️ 検証の手立てが無い統合は、確かめようがない
統合の手法は、必ず何らかの結果を返します。座標が 100 µm ずれていても、統合は完了し、図も描けます。成り立つはずの関係が再現できるかを、先に決めておいてください。再現できないなら、座標がずれているか、単位が合っていません。統合を始める前に、この検証の設計を済ませておくのが順序です。

5. 単一細胞のマルチオミクスとの違い


解離した細胞のマルチオミクスでは、同じ細胞から2つの層を測るため、対応は最初から確定しています。空間データでは、そこが選択の対象になります。

💡 共通の潜在空間を作る道具は、そのまま使える
座標と解析単位さえそろえてしまえば、そこから先の統合は単一細胞のマルチオミクスと同じ道具で進められます。共通の潜在空間を学習する深層生成モデルなどが、そのまま使えます(scvi-tools の全体像)。空間データに固有なのは、その前の2工程だけです。

6. チェックリスト


  • 同じ切片か連続切片かを確認したか
  • 連続切片なら、整列を済ませ、その誤差を見積もったか
  • モダリティごとの解像度と感度を確認したか
  • 解析単位を粗いほうにそろえた
  • 対応する相手がいない場所を、無理に対応づけていないか
  • 既知の対応関係を1つ用意してから統合を始めたか
  • その関係が再現されたかを確かめたか

まとめ


  • 同じ切片で測るか、連続切片で測るかが、統合の難しさをすべて決める。
  • 同じ切片なら座標がそのまま共有され、対応するのは同じ細胞。エピゲノムと転写を同時に測る手法が報告されている(Zhang et al., 2023)。
  • 連続切片なら整列が必要で、整列の誤差がそのまま統合の誤差になる
  • モダリティごとに解像度と感度が違う。そろえられるのは座標であって、単位ではない
  • 解析単位は粗いほうにそろえる。細かい格子に引き伸ばさない。
  • 既知の対応関係を1つ用意してから統合を始める。検証の手立てが無い統合は、確かめようがない。
  • 座標と単位さえそろえば、そこから先は単一細胞のマルチオミクスと同じ道具で進められる。

関連記事


参考文献


  • Zhang, D., Deng, Y., Kukanja, P., et al. (2023). Spatial epigenome–transcriptome co-profiling of mammalian tissues. Nature, 616, 113–122. doi:10.1038/s41586-023-05795-1
  • Zeira, R., Land, M., Strzalkowski, A., & Raphael, B. J. (2022). Alignment and integration of spatial transcriptomics data. Nature Methods, 19(5), 567–575. doi:10.1038/s41592-022-01459-6
  • Liu, X., Zeira, R., & Raphael, B. J. (2023). Partial alignment of multislice spatially resolved transcriptomics data. Genome Research, 33(7), 1124–1132. doi:10.1101/gr.277670.123
  • 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
  • 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
  • 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
  • Lopez, R., Regier, J., Cole, M. B., Jordan, M. I., & Yosef, N. (2018). Deep generative modeling for single-cell transcriptomics. Nature Methods, 15(12), 1053–1058. doi:10.1038/s41592-018-0229-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
  • Chen, A., Liao, S., Cheng, M., et al. (2022). Spatiotemporal transcriptomic atlas of mouse organogenesis using DNA nanoball-patterned arrays. Cell, 185(10), 1777–1792. doi:10.1016/j.cell.2022.04.003

コメント

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