pygot.tools.traj.velocity#
- pygot.tools.traj.velocity(adata, odefunc, embedding_key='X_pca', velocity_key=None, A=None, time_key=None, dr_mode='linear', inverse_transform=None, dt=0.001)[source]#
Velocity inference using trained model.
This function will infer velocity in latent space and gene space both. It can be sperate into latent_velocity and latent2gene_velocity
Example:#
For linear dimension reduction space:
#using pca space as example #if pca is done in scanpy framework, the inverse matrix A will be store in adata.varm['PCs'], that do not need to specifed matrix A pygot.tl.traj.velocity(adate, model, embedding_key='X_pca', velocity_key='velocity_pca') #Otherwise, need to specify dimension reduction matrix A pygot.tl.traj.velocity(adate, model, embedding_key='X_pca', velocity_key='velocity_pca', A=pca.components_.T)
For non-linear dimension reduction space:
#using vae latent space as example #first, train the vae model to transform space gs_vae = pygot.pp.GS_VAE() gs_vae.register_model(adata, latent_dim=10) adata.obsm['X_latent'] = gs_vae.fit_transform(adata) #After train velocity model using `fit_velocity_model` or `fit_velocity_model_without_time` pygot.tl.traj.velocity(adate, model, embedding_key='X_latent', velocity_key='velocity_latent', dr_mode='nonlinear', inverse_transform=gs_vae.inverse_transform )
Arguments:#
- adata:
AnnData
Annotated data matrix.
- odefunc: class:ODEwrapper or class:ODEwrapperNoTime
trained NeuralODE model by function fit_velocity_model
- embedding_key: str
Name of latent space, in adata.obsm
- velocity_key: str (default: None)
Name of latent velocity to save, in adata.obsm
- A: np.ndarray (default: None (using adata.varm[‘PCs’]))
Inverse matrix of linear dimension reduction
- time_key: str (default: None)
Name of time label, in adata.obs, use if the model input contains time label
- dr_mode: ‘linear’ or ‘nonlinear’ (default: ‘linear’)
Dimension reduction mode
- inverse_transform: function (default: None)
Inverse function for non-linear dimension reduction
- dt: float (default: 0.001)
Parameter of non-linear velocity transformation from latent space to gene space
- returns:
velocity (.layers) (:class`np.ndarray`) – gene velocity array, (n_cells, n_genes)
latent_velocity (.obsm) (:class`np.ndarray`) – latent velocity array, (n_cells, latent_dim), store in adata.obsm[velocity_key]
- adata: