# dynamo.pd.perturbation

In silico perturbation of single-cells and prediction of cell fate after perturbation.

To simulate genetic perturbation and its downstream effects, we take advantage of the analytical Jacobian from our vector field function. In particular, we first calculate the perturbation velocity vector:

$\delta Y = J \dot \delta X$

where the J is the analytical Jacobian, delta X is the perturbation vector (that is,

if overexpress gene i to expression 10 but downexpress gene j to -10 but keep others not changed, we have delta X = [0, 0, 0, delta x_i = 10, 0, 0, .., x_j = -10, 0, 0, 0]). Because Jacobian encodes the instantaneous changes of velocity of any genes after increasing any other gene, J dot delta X will produce the perturbation effect vector after propagating the genetic perturbation (delta_X) through the gene regulatory network. We then use X_pca and delta_Y as a pair (just like M_s and velocity_S) to project the perturbation vector to low dimensional space. The delta_Y can be also used to identify the strongest responders of the genetic perturbation.

Parameters:
Returns:

Returns an updated AnnData with perturbation effect matrix, projected perturbation vectors

, and a cell transition matrix based on the perturbation vectors.

Return type: