この記事のゴール
連続過程に沿って細胞を並べ、擬似時間を割り当てる軌道推定を理解し、PAGA・DPT・Palantir を使い分けられること。
擬似時間とは
擬似時間(pseudotime)は、連続過程(分化など)に沿った相対的な順序です。起点を 0、終点を 1 として、各細胞が過程のどの段階にいるかを連続値で表します。全体像記事で述べたとおり、軌道推定は発現の類似性にもとづくため、起点(根)を指定して初めて向きが決まります。
代表的な3手法
- PAGA:クラスタ(細胞型)をノード、つながりの強さをエッジで表す粗いトポロジー。全体の分岐構造をまず掴むのに有用。
- DPT(拡散擬時間):指定した根からの拡散距離で、各細胞に擬似時間を付与。
- Palantir:確率的に終着状態と各細胞の分岐確率(どの終着へ向かうか)を推定。
コード(PAGA + DPT)
pythonimport scanpy as sc
# 近傍グラフ(統合表現上で)→ PAGA でクラスタ間の連結性
sc.pp.neighbors(adata, use_rep="X_scVI")
sc.tl.paga(adata, groups="cell_type")
sc.pl.paga(adata) # 粗いトポロジーを確認
# 拡散擬時間(DPT):起点(根)の細胞を1つ指定
root = (adata.obs["cell_type"] == "RGC").to_numpy().nonzero()[0][0]
adata.uns["iroot"] = int(root)
sc.tl.diffmap(adata)
sc.tl.dpt(adata)
sc.pl.umap(adata, color=["dpt_pseudotime", "cell_type"])
🔧 環境メモ:PAGA の結果で初期化した UMAP(sc.tl.umap(adata, init_pos="paga"))は、分岐構造を保ちやすくなります。use_rep="X_scVI" はscVI によるサンプル統合・バッチ補正で得た統合表現です。根(iroot)の選び方で擬似時間の向きが決まるため、既知の起点細胞(例:神経前駆 RGC)を根に選びます。
Palantir(終着状態・分岐確率)
確率的に終着状態と分岐確率まで欲しい場合は Palantir を使います(別パッケージ)。
pythonimport palantir
# 拡散空間を作り、起点細胞を指定して実行
# → 擬似時間・終着状態・各細胞の分岐確率が得られる
pr_res = palantir.core.run_palantir(adata, early_cell="<起点細胞のバーコード>")
💡 使い分け:まず PAGA で全体の分岐を掴み、DPT で擬似時間を付け、終着状態・分岐確率まで要るなら Palantir、という流れが分かりやすいです。
ツール早見表
| ツール | 言語 | 出力 | 特徴 |
|---|---|---|---|
| PAGA | Python(scanpy) | クラスタ連結グラフ | 粗いトポロジー・分岐の把握 |
| DPT | Python(scanpy) | 細胞ごとの擬似時間 | 根からの拡散距離 |
| Palantir | Python | 擬似時間・終着・分岐確率 | 確率的・終着状態を推定 |
| Slingshot | R | 系統・擬似時間 | クラスタを通る曲線を当てる |
| Monocle3 | R | 軌道・擬似時間 | グラフ学習ベース |
落とし穴
⚠️ つまずきやすい点
– 根(起点)の指定が必要:軌道推定は向きを決めません。既知の起点を根に選ぶ。
– 手法が多数で結果が割れうる:軌道推定は多くの手法があり、出力が一致しないことがあります(複数手法・既知マーカーで確認)。
– 連続でないデータに引かない:そもそも連続過程でない(離散的な)データに無理に軌道を当てない。
– 前段の品質依存:バッチ・統合・アノテーションが崩れると、軌道も崩れる。
– 擬似時間 ≠ 実時間:擬似時間は順序であり、実際の経過時間とは限らない。
– 方向は velocity で補える:起点が不明なら、次記事の RNA velocity / CellRank で方向を補う。
まとめ
- 擬似時間は連続過程に沿った相対順序。軌道推定は類似性ベースで、根の指定で向きが決まる。
- PAGA(粗いトポロジー)→ DPT(擬似時間)→ Palantir(終着・分岐確率)の流れが分かりやすい。
- 手法が割れうる・連続でないデータに引かない・擬似時間≠実時間に注意。
- 向きが不明なら、次の RNA velocity / CellRank で方向・運命を補う。
次の記事:RNA velocity と運命予測 — spliced/unspliced から方向を出し、CellRank で終着状態・運命確率を求める方法に進みます。
関連記事
このサブシリーズ
- 📖 軌道・擬時間と RNA velocity の全体像:順序・方向・運命の関係(地図)
- 📖 RNA velocity と運命予測:方向と運命を出す(本記事の続き)
前段・基盤
- 📖 scVI によるサンプル統合・バッチ補正:近傍グラフが使う
X_scVI統合表現の作り方 - 📖 下流解析の全体像:下流解析全体の地図
参考文献
- Wolf, F. A., Hamey, F. K., Plass, M., et al. (2019). PAGA: graph abstraction reconciles clustering with trajectory inference through a topology preserving map of single cells. Genome Biology, 20, 59. doi:10.1186/s13059-019-1663-x
- Haghverdi, L., Büttner, M., Wolf, F. A., Buettner, F., & Theis, F. J. (2016). Diffusion pseudotime robustly reconstructs lineage branching. Nature Methods, 13, 845–848. doi:10.1038/nmeth.3971
- Setty, M., Kiseliovas, V., Levine, J., et al. (2019). Characterization of cell fate probabilities in single-cell data with Palantir. Nature Biotechnology, 37, 451–460. doi:10.1038/s41587-019-0068-4
- Saelens, W., Cannoodt, R., Todorov, H., & Saeys, Y. (2019). A comparison of single-cell trajectory inference methods. Nature Biotechnology, 37, 547–554. doi:10.1038/s41587-019-0071-9
- Street, K., Risso, D., Fletcher, R. B., et al. (2018). Slingshot: cell lineage and pseudotime inference for single-cell transcriptomics. BMC Genomics, 19, 477. doi:10.1186/s12864-018-4772-0
- Cao, J., Spielmann, M., Qiu, X., et al. (2019). The single-cell transcriptional landscape of mammalian organogenesis. Nature, 566, 496–502. doi:10.1038/s41586-019-0969-x


コメント