pygot.tools.traj.latent2gene_velocity#
- pygot.tools.traj.latent2gene_velocity(adata, velocity_key, embedding_key, A=None, dr_mode='linear', inverse_transform=None, dt=0.001)[source]#
Transform latent velocity into gene velocity
Due to linearity and orthogonality, the gene velocity can be recover by directly multiply inverse dimension reduction matrix,
\[v(x) ≈ Av(z), \quad z = A^Tx\]For non-linear transformation,
\[v(x) ≈ \frac{g^{-1}(z + v(z) * dt) - g^{-1}(z)}{dt}, \quad z=g(x)\]Arguments:#
- adata:
AnnData
Annotated data matrix.
- embedding_key: str
Name of latent space, in adata.obsm
- velocity_key: str (default: None)
Name of latent velocity, in adata.obsm
- A: np.ndarray (default: None (using adata.varm[‘PCs’]))
Inverse matrix of linear dimension reduction
- dr_mode: ‘linear’ or ‘nonlinear’ (default: ‘linear’)
Dimension reduction mode
- inverse_transform: function (default: None)
Inverse function for non-linear dimension reduction (e.g. \(g^{-1}\))
- dt: float (default: 0.001)
Parameter of non-linear velocity transformation from latent space to gene space
- returns:
velocity (.layers) – gene velocity array, (n_cells, n_genes)
- rtype:
:class`np.ndarray`
- adata: