シングルセル・マルチオミクス(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 の発想
CellOracle は、GRN を「入力→出力の関数」として使い、ある TF の発現を変えたときに下流の遺伝子がどう動くかをネットワーク上で伝播させて予測します。予測された発現変化を細胞埋め込み(UMAP)上のベクトル場にして、「細胞がどの状態へ動くか」を可視化します。ベース GRN は scATAC(Cicero の共アクセシビリティ;Pliner et al., 2018)や内蔵の base GRN から作れます。
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 に絞っておきます。
import_anndata_as_raw_count はその名のとおり生カウントを要求します(負の値があるとエラー)。正規化・スケーリング済みの行列は渡しません。CellOracle は 1000〜3000 遺伝子程度での利用を想定しているので、HVG に絞っておきます。
3. クラスタ特異的 GRN とシグナル伝播
次に、クラスタ(細胞型)ごとに GRN を推定し、係数行列(どの 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回の摂動が、直接の標的だけでなくネットワーク全体に波及する様子を近似します。
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 は、細胞を前駆状態へ押し戻す向きの矢印になります。
矢印は「その細胞が摂動後にどちらの状態へ動くか」を表します。発生の自然な方向(発生ベクトル場)と内積を取ると、その摂動が分化を促すのか妨げるのかが数値(perturbation score)で分かります。例えば分化を駆動する TF の KO は、細胞を前駆状態へ押し戻す向きの矢印になります。
5. 解釈の注意・SCENIC+ との関係
強力な一方で、あくまでシミュレーションであることを踏まえて解釈します。
⚠️ 解釈の注意
CellOracle の予測は観測された細胞状態の範囲内での外挿で、データに無い状態は予測できません。結果は仮説生成として扱い、重要な結論は実験(CRISPR 等)で検証します。ベース GRN の質(scATAC の有無・Cicero の設定)が結果を左右します。GRN 自体は 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 の質に依存。重要な結論は実験で検証。
関連記事
- 📖 SCENIC+ でエンハンサー駆動 GRN … GRN の作り方
- 📖 scATAC-seq の co-accessibility … Cicero(ベース GRN の元)
- 📖 scRNA-seq の GRN・転写因子活性 … RNA 単独の GRN
- 📖 scATAC-seq 解析の全体像 … アクセシビリティの基礎
参考文献
- 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


コメント