scRNA-seq解析:遺伝子制御ネットワーク・転写因子活性(GRN/TF activity)

scRNA-seq

 

📚 この記事について:「scRNA-seq解析 実践シリーズ」下流解析編。発現の背後でどの転写因子(TF)がどの遺伝子を制御し、どの細胞型でどの TF が活性化しているかを推定します。de novo 推定(pySCENIC)既知ネットワークでの活性推定(decoupler)の2系統を整理します。

🔙 前の記事細胞間相互作用 / 🔜 次の記事遺伝子プログラム・モジュール

前提細胞型アノテーション済みのデータ。Python の基本。機能エンリッチメント記事の「活性推定」を読んでいると理解が早いです。


この記事のゴール

遺伝子制御ネットワーク(gene regulatory network, GRN)と転写因子活性の推定を、2つのアプローチ――de novo ネットワーク推定既知ネットワークでの活性推定――として理解し、使い分けられること。


何を問うか

発現データは「結果」であり、その背後には転写因子(TF)による制御があります。GRN 解析は、TF とその標的遺伝子の関係(制御ネットワーク)を推定し、さらに細胞ごと・細胞型ごとの TF 活性を出して、「どの制御プログラムが効いているか」を読み取ります。


2つのアプローチ

GRN・TF活性の2アプローチ。① de novo 推定(pySCENIC)はデータからネットワーク(regulon)を推定し、その活性をスコア化する。データ特異的だが計算が重く確率的。② 既知ネットワークでの活性推定(decoupler + CollecTRI/DoRothEA)は、キュレーション済みの TF–標的ネットワークを使い活性だけを推定する。高速だが既知の関係に限られる。
GRN・TF活性の2アプローチ。① de novo 推定(pySCENIC)はデータからネットワーク(regulon)を推定し、その活性をスコア化する。データ特異的だが計算が重く確率的。② 既知ネットワークでの活性推定(decoupler + CollecTRI/DoRothEA)は、キュレーション済みの TF–標的ネットワークを使い活性だけを推定する。高速だが既知の関係に限られる。
  • ① de novo ネットワーク推定(pySCENIC)データから TF–標的ネットワーク(regulon)を推定し、その活性をスコア化。データ特異的だが計算が重く確率的。
  • ② 既知ネットワークでの活性推定(decoupler)キュレーション済みの TF–標的ネットワーク(CollecTRI/DoRothEA)を使い、活性だけを推定。高速だが既知の関係に限られる。

pySCENIC(de novo)の3ステップ

pySCENIC は SCENIC の高速 Python 実装で、次の3段階で動きます。

pySCENIC の3ステップ。① 共発現:GRNBoost2/GENIE3 で TF と相関する標的の候補(モジュール)を作る。② モチーフ枝刈り:cisTarget で TF 結合モチーフが濃縮される標的だけを残し、直接標的の集合=regulon にする。③ 活性スコア化:AUCell で各細胞の regulon 活性を数える。細胞型特異的な regulon は RSS で評価する。
pySCENIC の3ステップ。① 共発現:GRNBoost2/GENIE3 で TF と相関する標的の候補(モジュール)を作る。② モチーフ枝刈り:cisTarget で TF 結合モチーフが濃縮される標的だけを残し、直接標的の集合=regulon にする。③ 活性スコア化:AUCell で各細胞の regulon 活性を数える。細胞型特異的な regulon は RSS で評価する。
  • ① 共発現:GRNBoost2/GENIE3 で、TF と発現が相関する標的の候補(モジュール)を作る。
  • ② モチーフ枝刈り:cisTarget で TF 結合モチーフが濃縮される標的だけを残し、直接標的の集合=regulon にする(間接的な相関を除く)。
  • ③ 活性スコア化:AUCell で各細胞の regulon 活性を数える。細胞型特異的な regulon は RSS(regulon specificity score)で評価。
python# pySCENIC は3ステップ(ランキングDB・モチーフ注釈ファイルが別途必要)
from arboreto.algo import grnboost2
from pyscenic.utils import modules_from_adjacencies
from pyscenic.prune import prune2df, df2regulons
from pyscenic.aucell import aucell

# 1) 共発現:TF–標的の候補(adjacencies)→ モジュール
adj = grnboost2(expr_mtx, tf_names=tf_names)
modules = list(modules_from_adjacencies(adj, expr_mtx))

# 2) モチーフ枝刈り:cisTarget で直接標的に絞る → regulons
df = prune2df(ranking_dbs, modules, motif_annotations)
regulons = df2regulons(df)

# 3) 活性スコア化:AUCell で各細胞の regulon 活性
auc_mtx = aucell(expr_mtx, regulons, num_workers=4)   # 細胞 × regulon の活性行列

🔧 環境メモpip install pyscenic。pySCENIC はランキングデータベース(feather)とモチーフ注釈が必要で、生物種を合わせます(マウス用の DB を使う)。計算が重く、CLI(pyscenic grn / ctx / aucell)や Nextflow で回すのが一般的です。確率的なので、複数回実行して安定な regulon を採用すると頑健です。


既知ネットワークでの活性推定(decoupler)

ネットワークを推定せず、既知の TF–標的で活性だけを高速に出す方法です(機能エンリッチメント記事と同じ枠組み)。

pythonimport decoupler as dc

# 既知の TF–標的ネットワーク(CollecTRI)で TF 活性を推定(高速)
net = dc.get_collectri(organism="mouse")
dc.run_ulm(mat=adata, net=net)
adata.obsm["ulm_estimate"]      # 細胞ごとの TF 活性

💡 使い分けデータ特異的な regulon を発見したい・既知に縛られたくないなら pySCENIC手早く TF 活性を見たい・既知の制御で十分なら decoupler。両者は補完的で、併用も有効です。


CellOracle(in silico 摂動)

GRN を使って、ある TF をノックアウトしたら細胞のアイデンティティがどう動くかをシミュレートできるのが CellOracle です。GRN 推定(モチーフ事前知識を利用)+in silico 摂動で、TF の役割を仮説検証します。

⚠️ シミュレーションは証拠ではない
CellOracle の in silico 摂動はモデル上の予測です。実験的検証(実際の KO・過剰発現)の仮説として使い、結論にはしないでください。


ツール早見表

ツール 言語 入力 役割
pySCENIC Python scRNA-seq de novo regulon 推定 + 活性(本記事の中心
decoupler + CollecTRI Python scRNA-seq 既知ネットワークで TF 活性(高速)
CellOracle Python scRNA-seq(+モチーフ) GRN + in silico 摂動
SCENIC+ Python マルチオーム(RNA+ATAC) エンハンサー駆動 GRN(eGRN)

落とし穴

⚠️ つまずきやすい点
相関 ≠ 直接制御:共発現は因果を意味しない。pySCENIC はモチーフ枝刈りで緩和するが、それでも推定。
pySCENIC は重く確率的:複数回実行して安定な regulon を採用。DB は生物種を合わせる
既知ネットワークの限界(decoupler):未知の制御は拾えない。よく研究された TF に偏る。
活性 ≠ 発現:TF 活性は標的群の挙動から推定する量で、TF 自身の発現量とは別。
in silico 摂動は仮説:CellOracle の予測は実験で検証する。
前段の品質依存:QC・統合・アノテーションが崩れると GRN も崩れる。


まとめ

  • GRN・TF活性は2アプローチ① de novo 推定(pySCENIC)=データから regulon を推定し AUCell で活性化、② 既知ネットワークで活性推定(decoupler + CollecTRI)=高速だが既知に限る。
  • pySCENIC は共発現→モチーフ枝刈り→AUCell の3段階。重く確率的なので複数回実行で安定化。
  • CellOracle は GRN + in silico 摂動で TF の役割を仮説検証(実験で裏取り)。
  • 相関≠直接制御活性≠発現生物種一致に注意。

次の記事:遺伝子プログラム・モジュール — クラスタに依らず、細胞が使う「プログラム(identity/activity)」や遺伝子モジュールを取り出す方法に進みます。


関連記事

関連する手法・前後

位置づけ


参考文献

  • Aibar, S., González-Blas, C. B., Moerman, T., et al. (2017). SCENIC: single-cell regulatory network inference and clustering. Nature Methods, 14, 1083–1086. doi:10.1038/nmeth.4463
  • Van de Sande, B., Flerin, C., Davie, K., et al. (2020). A scalable SCENIC workflow for single-cell gene regulatory network analysis. Nature Protocols, 15, 2247–2276. doi:10.1038/s41596-020-0336-2
  • Moerman, T., Aibar Santos, S., Bravo González-Blas, C., et al. (2019). GRNBoost2 and Arboreto: efficient and scalable inference of gene regulatory networks. Bioinformatics, 35, 2159–2161. doi:10.1093/bioinformatics/bty916
  • 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, 1355–1367. doi:10.1038/s41592-023-01938-4
  • Kamimoto, K., Stringa, B., Hoffmann, C. M., et al. (2023). Dissecting cell identity via network inference and in silico gene perturbation. Nature, 614, 742–751. doi:10.1038/s41586-022-05688-9
  • 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, vbac016. doi:10.1093/bioadv/vbac016
  • Müller-Dott, S., Tsirvouli, E., Vázquez, M., et al. (2023). Expanding the coverage of regulons from high-confidence prior knowledge for accurate estimation of transcription factor activities. Nucleic Acids Research, 51, 10934–10949. doi:10.1093/nar/gkad841

 

コメント

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