作成日:2024年4月23日
目的:CellOracleのアルゴリズムと実装について理解する。
制御遺伝子の摂動に伴うcell identityのシュミレーション
1. データの前処理
2. ネットワーク内のシグナル伝播
3. 遷移確率の推定
4. cell identityの遷移シュミレーションの解析
この4つのプロセスからシュミレーションを行う。
データの前処理:
Velocyto.pyを修正したファイルで前処理を行った。
ネットワーク内でのシグナル伝播:
TFの摂動がcell identityに及ぼす影響を推定するために行う。CellOracleは入力のTF発現のシフトがどのように
標的遺伝子発現のシフトにつながるかをシミュレートし、偏微分∂x/∂jを用いる。線形モデルの場合∂x/∂jは定数となる。また、遺伝子jが遺伝子iによって直接制御されている場合には、前のステップでbi,jは計算済みとなる。
\[
\frac{\partial {x}_{j}}{\partial {x}_{i}}={b}_{i,j}.
\]
以下は制御遺伝子のシフトに対する標的遺伝子の制御を求める計算である。
\[
{\Delta x}_{j}=\frac{\partial {x}_{j}}{\partial {x}_{i}}{\Delta x}_{i}={b}_{i,j}{\Delta x}_{i}.
\]
以下は間接的な接続を持つネットワークエッジ接続における線形モデルの合成関数で、それに応じて微分可能である。そのため、間接的に接続されたノード間でも、連鎖法則を用いて標的遺伝子の偏微分を計算することができる。
\[
\frac{\partial {x}_{j}}{\partial {x}_{i}}=\mathop{\prod }\limits_{k=0}^{n}\frac{\partial {x}_{k+1}}{\partial {x}_{k}}=\mathop{\prod }\limits_{k=0}^{n}{b}_{k,k+1},
\]
具体的には遺伝子0から遺伝子1そして遺伝子2のネットワークエッジについて考えるとき、
\[
\frac{\partial {x}_{2}}{\partial {x}_{0}}=\frac{\partial {x}_{1}}{\partial {x}_{0}}\times \frac{\partial {x}_{2}}{\partial {x}_{1}}={b}_{0,1}\times {b}_{1,2}
\]
\[
{\Delta x}_{2}=\frac{\partial {x}_{2}}{\partial {x}_{0}}{\Delta x}_{0}={b}_{0,1}{b}_{1,2}{\Delta x}_{0}
\]
標的遺伝子の小さなシフトはGRNモデルの係数bi,jと入力TFシフトの2つの要素のみの乗算で定式化できる。
ポイント:scRNA-seqデータ内の観測不可能な因子を含む可能性のあるモデルの誤差や切片をモデル化いないように、絶対発現値ではなく遺伝子発現方程式の勾配に焦点を与えている。
Code Availability:https://github.com/morris-lab/CellOracle