CellOracle で in silico 摂動 ─ GRN で TF ノックアウトを試す

Multiomics
📚 この記事について
GRN 推論スポークの2本目です。SCENIC+ などで作った GRN(またはベース GRN)を使い、TF の摂動(KO / 過剰発現)が細胞状態をどう動かすかを、CellOracle で計算的にシミュレートします。専門用語はその都度説明します。
🔙 前の記事SCENIC+ でエンハンサー駆動 GRN(前の記事)
🔜 次の記事:「Dictys で動的な GRN
📌 前提:細胞型注釈・UMAP 付きの scRNA(生カウント)。ベース GRN(scATAC/Cicero 由来 or 内蔵)。CellOracle。

シングルセル・マルチオミクス(single-cell multiomics/scRNA-seq と scATAC-seq の統合解析)は、GRN を作ったあと、それを使って摂動の効果を試せます。この記事では、CellOracle で TF ノックアウトを in silico にシミュレートします。

1. in silico 摂動とは ─ GRN を「回す」


GRN が組み上がると、それを使って「もし この TF を止めたら?」を計算で試せます。これが in silico 摂動で、代表ツールが CellOracle です(Kamimoto et al., Nature, 2023)。実験なしに、野生型データだけから、TF の KO や過剰発現による細胞状態の動きを予測します。

図:CellOracle の流れ。ベース GRN(scATAC・Cicero)と scRNA からクラスタ特異的 GRN を推定し、TF を KO/過剰にして伝播させ、細胞状態のシフトを予測する。
図:CellOracle の流れ。ベース GRN(scATAC・Cicero)と scRNA からクラスタ特異的 GRN を推定し、TF を KO/過剰にして伝播させ、細胞状態のシフトを予測する。
💡 CellOracle の発想
CellOracle は、GRN を「入力→出力の関数」として使い、ある TF の発現を変えたときに下流の遺伝子がどう動くかをネットワーク上で伝播させて予測します。予測された発現変化を細胞埋め込み(UMAP)上のベクトル場にして、「細胞がどの状態へ動くか」を可視化します。ベース GRN は scATAC(Cicero の共アクセシビリティ;Pliner et al., 2018)や内蔵の base GRN から作れます。

2. Oracle にデータと GRN を入れる


まず、細胞型注釈と UMAP を持つ scRNA(生カウント)と、ベース GRN を Oracle に取り込みます。発現は PCA → KNN で平滑化します。

python
import celloracle as co

# 前処理済みの scRNA(生カウントを .X に)を Oracle に取り込む
oracle = co.Oracle()
oracle.import_anndata_as_raw_count(
    adata=adata,
    cluster_column_name="cell_type",
    embedding_name="X_umap",
)

# ベース GRN(scATAC/Cicero 由来の TF→遺伝子の候補)を渡す
oracle.import_TF_data(TF_info_matrix=base_GRN)

# 発現の平滑化(PCA → KNN imputation)
oracle.perform_PCA()
oracle.knn_imputation(n_pca_dims=50, k=25)
⚠️ 注意点:生カウントを渡す
import_anndata_as_raw_count はその名のとおり生カウントを要求します(負の値があるとエラー)。正規化・スケーリング済みの行列は渡しません。CellOracle は 1000〜3000 遺伝子程度での利用を想定しているので、HVG に絞っておきます。

3. クラスタ特異的 GRN とシグナル伝播


次に、クラスタ(細胞型)ごとに GRN を推定し、係数行列(どの TF が どの遺伝子を どれだけ動かすか)を得ます。この係数を使って、後で摂動を伝播させます。

図:シグナル伝播。KO した TF の変化が、直接の標的 → その先の下流、と反復的に伝わり、ネットワーク全体の効果として近似される。
図:シグナル伝播。KO した TF の変化が、直接の標的 → その先の下流、と反復的に伝わり、ネットワーク全体の効果として近似される。
python
# クラスタ特異的 GRN を推定して、係数行列を得る
links = oracle.get_links(cluster_name_for_GRN_unit="cell_type")
links.filter_links()

# シミュレーション用に GRN を当てはめる
oracle.get_cluster_specific_TFdict_from_Links(links_object=links)
oracle.fit_GRN_for_simulation(alpha=10, use_cluster_specific_TFdict=True)
💡 シグナル伝播とは
CellOracle は GRN の係数行列を使い、ある TF の変化を、標的 → その先 → さらに先、と反復的に伝播させて、間接的・全体的な下流効果まで見積もります(行列の反復積)。1回の摂動が、直接の標的だけでなくネットワーク全体に波及する様子を近似します。

4. TF を KO して細胞状態シフトを見る


準備ができたら、TF を KO(発現を 0 に)して伝播させ、予測されたシフトを埋め込み上のベクトル場にします。

python
# in silico KO:TF の発現を 0 にして伝播させる
oracle.simulate_shift(perturb_condition={"Gata1": 0.0}, n_propagation=3)

# 予測されたシフトを埋め込み上のベクトル場にする
oracle.estimate_transition_prob(n_neighbors=200, knn_random=True)
oracle.calculate_embedding_shift(sigma_corr=0.05)
図:摂動ベクトル場。矢印は摂動後に各細胞が動く向きを示す。発生の自然な方向と比べることで、その摂動が分化を促すのか妨げるのかを判定できる。
図:摂動ベクトル場。矢印は摂動後に各細胞が動く向きを示す。発生の自然な方向と比べることで、その摂動が分化を促すのか妨げるのかを判定できる。
💡 ベクトル場の読み方
矢印は「その細胞が摂動後にどちらの状態へ動くか」を表します。発生の自然な方向(発生ベクトル場)と内積を取ると、その摂動が分化を促すのか妨げるのかが数値(perturbation score)で分かります。例えば分化を駆動する TF の KO は、細胞を前駆状態へ押し戻す向きの矢印になります。

5. 解釈の注意・SCENIC+ との関係


強力な一方で、あくまでシミュレーションであることを踏まえて解釈します。

⚠️ 解釈の注意
CellOracle の予測は観測された細胞状態の範囲内での外挿で、データに無い状態は予測できません。結果は仮説生成として扱い、重要な結論は実験(CRISPR 等)で検証します。ベース GRN の質(scATAC の有無・Cicero の設定)が結果を左右します。GRN 自体は SCENIC+(前の記事)など他手法でも作れます。

GRN と摂動まで来ると、マルチオミクス統合の主な果実が出そろいます。次は、時間・アトラス規模へ広げる GRN 手法(Dictys・LINGER)へ進みます。

まとめ


  • CellOracle は、GRN を関数として使い、TF の KO/過剰の効果を野生型データだけで in silico にシミュレートする。
  • 手順:生カウント scRNA と ベース GRN を Oracle に取り込む → クラスタ特異的 GRN を推定 → 摂動を伝播 → ベクトル場。
  • KO は perturb_condition={“TF”: 0.0}。シグナル伝播(反復行列積)で全体の下流効果を近似。
  • 予測シフトを UMAP 上のベクトル場にし、発生方向との内積(perturbation score)で分化を促す/妨げるかを判定。
  • あくまでシミュレーション(観測範囲内・仮説生成)。ベース GRN の質に依存。重要な結論は実験で検証。

関連記事


参考文献


  • Kamimoto, K., Stringa, B., Hoffmann, C. M., et al. (2023). Dissecting cell identity via network inference and in silico gene perturbation. Nature, 614(7949), 742–751. doi:10.1038/s41586-022-05688-9
  • Pliner, H. A., Packer, J. S., McFaline-Figueroa, J. L., et al. (2018). Cicero Predicts cis-Regulatory DNA Interactions from Single-Cell Chromatin Accessibility Data. Molecular Cell, 71(5), 858–871. doi:10.1016/j.molcel.2018.06.044
  • Bravo González-Blas, C., De Winter, S., Hulselmans, G., et al. (2023). SCENIC+: single-cell multiomic inference of enhancers and gene regulatory networks. Nature Methods, 20(9), 1355–1367. doi:10.1038/s41592-023-01938-4
  • Ashuach, T., Gabitto, M. I., Koodli, R. V., et al. (2023). MultiVI: deep generative model for the integration of multimodal data. Nature Methods, 20(8), 1222–1231. doi:10.1038/s41592-023-01909-9

コメント

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