spateo.tdr.morphometrics.morphofield.sparsevfc¶
Functions¶
|
Obtain the optimal mapping relationship and developmental direction between cells for samples between continuous developmental stages. |
|
Calculating and predicting the vector field during development by the Kernel method (sparseVFC). |
|
Calculating and predicting the vector field during development by the Kernel method (sparseVFC). |
Module Contents¶
- spateo.tdr.morphometrics.morphofield.sparsevfc.cell_directions(adataA: anndata.AnnData, adataB: anndata.AnnData, layer: str = 'X', genes: list | numpy.ndarray | None = None, spatial_key: str = 'align_spatial', key_added: str = 'mapping', alpha: float = 0.001, numItermax: int = 200, numItermaxEmd: int = 100000, dtype: str = 'float32', device: str = 'cpu', keep_all: bool = False, inplace: bool = True, **kwargs) Tuple[anndata.AnnData | None, numpy.ndarray][source]¶
Obtain the optimal mapping relationship and developmental direction between cells for samples between continuous developmental stages.
- Parameters:
- adataA
AnnData object of sample A from continuous developmental stages.
- adataB
AnnData object of sample B from continuous developmental stages.
- layer
If
'X', uses.Xto calculate dissimilarity between spots, otherwise uses the representation given by.layers[layer].- genes
Genes used for calculation. If None, use all common genes for calculation.
- spatial_key
The key in
.obsmthat corresponds to the spatial coordinate of each cell.- .uns. The key that will be used for the vector field key in
- key_added
The key that will be used in
.obsm.X_{key_added}-TheX_{key_added}that will be used for the coordinates of the cell that maps optimally in the next stage.V_{key_added}-TheV_{key_added}that will be used for the cell developmental directions.
- alpha
Alignment tuning parameter. Note: 0 <= alpha <= 1.
When
alpha = 0only the gene expression data is taken into account, while whenalpha =1only the spatial coordinates are taken into account.- numItermax
Max number of iterations for cg during FGW-OT.
- numItermaxEmd
Max number of iterations for emd during FGW-OT.
- dtype
The floating-point number type. Only
float32andfloat64.- device
Equipment used to run the program. You can also set the specified GPU for running.
E.g.: '0'- keep_all
Whether to retain all the optimal relationships obtained only based on the pi matrix, If
keep_allis False, the optimal relationships obtained based on the pi matrix and the nearest coordinates.- inplace
Whether to copy adata or modify it inplace.
- **kwargs
Additional parameters that will be passed to
pairwise_alignfunction.
- Returns:
An
AnnDataobject of sample A is updated/copied with theX_{key_added}andV_{key_added}in the.obsmattribute. A pi metrix.
- spateo.tdr.morphometrics.morphofield.sparsevfc._morphofield_sparsevfc(X: numpy.ndarray, V: numpy.ndarray, NX: numpy.ndarray | None = None, grid_num: List[int] | None = None, M: int = 100, lambda_: float = 0.02, lstsq_method: str = 'scipy', min_vel_corr: float = 0.8, restart_num: int = 10, restart_seed: List[int] | Tuple[int] | numpy.ndarray = (0, 100, 200, 300, 400), **kwargs) dict[source]¶
Calculating and predicting the vector field during development by the Kernel method (sparseVFC).
- Parameters:
- X
The spatial coordinates of each cell.
- V
The developmental direction of each cell.
- NX
The spatial coordinates of new data point (grid). If
NXis None, generate grid based ongrid_num.- grid_num
The number of grids in each dimension for generating the grid velocity. Default is
[50, 50, 50].- M
The number of basis functions to approximate the vector field.
- lambda
Represents the trade-off between the goodness of data fit and regularization. Larger Lambda_ put more weights on regularization.
- lstsq_method
The name of the linear least square solver, can be either
'scipy'or'douin'.- min_vel_corr
The minimal threshold for the cosine correlation between input velocities and learned velocities to consider as a successful vector field reconstruction procedure. If the cosine correlation is less than this threshold and
restart_num> 1,restart_numtrials will be attempted with different seeds to reconstruct the vector field function. This can avoid some reconstructions to be trapped in some local optimal.- restart_num
The number of retrials for vector field reconstructions.
- restart_seed
A list of seeds for each retrial. Must be the same length as
restart_numor None.- **kwargs
Additional parameters that will be passed to
SparseVFCfunction.
- Returns:
- X: Current state.
valid_ind: The indices of cells that have finite velocity values. X_ctrl: Sample control points of current state. ctrl_idx: Indices for the sampled control points. Y: Velocity estimates in delta t. beta: Parameter of the Gaussian Kernel for the kernel matrix (Gram matrix). V: Prediction of velocity of X. C: Finite set of the coefficients for the P: Posterior probability Matrix of inliers. VFCIndex: Indexes of inliers found by sparseVFC. sigma2: Energy change rate. grid: Grid of current state. grid_V: Prediction of velocity of the grid. iteration: Number of the last iteration. tecr_vec: Vector of relative energy changes rate comparing to previous step. E_traj: Vector of energy at each iteration. method: The method of learning vector field. Here method == ‘sparsevfc’.
Here the most important results are X, V, grid and grid_V.
X: Cell coordinates of the current state. V: Developmental direction of the X. grid: Grid coordinates of current state. grid_V: Prediction of developmental direction of the grid.
- Return type:
A dictionary which contains
- spateo.tdr.morphometrics.morphofield.sparsevfc.morphofield_sparsevfc(adata: anndata.AnnData, spatial_key: str = 'align_spatial', V_key: str = 'V_mapping', key_added: str = 'VecFld_morpho', NX: numpy.ndarray | None = None, grid_num: List[int] | None = None, M: int = 100, lambda_: float = 0.02, lstsq_method: str = 'scipy', min_vel_corr: float = 0.8, restart_num: int = 10, restart_seed: List[int] | Tuple[int] | numpy.ndarray = (0, 100, 200, 300, 400), inplace: bool = True, **kwargs) anndata.AnnData | None[source]¶
Calculating and predicting the vector field during development by the Kernel method (sparseVFC).
- Parameters:
- adata
AnnData object that contains the cell coordinates of the two states after alignment.
- spatial_key
The key from the
.obsmthat corresponds to the spatial coordinates of each cell.- V_key
The key from the
.obsmthat corresponds to the developmental direction of each cell.- key_added
The key that will be used for the vector field key in
.uns.- NX
The spatial coordinates of new data point. If NX is None, generate new points based on grid_num.
- grid_num
The number of grids in each dimension for generating the grid velocity. Default is
[50, 50, 50].- M
The number of basis functions to approximate the vector field.
- lambda
Represents the trade-off between the goodness of data fit and regularization. Larger Lambda_ put more weights on regularization.
- lstsq_method
The name of the linear least square solver, can be either
'scipy'or'douin'.- min_vel_corr
The minimal threshold for the cosine correlation between input velocities and learned velocities to consider as a successful vector field reconstruction procedure. If the cosine correlation is less than this threshold and
restart_num> 1,restart_numtrials will be attempted with different seeds to reconstruct the vector field function. This can avoid some reconstructions to be trapped in some local optimal.- restart_num
The number of retrials for vector field reconstructions.
- restart_seed
A list of seeds for each retrial. Must be the same length as
restart_numor None.- inplace
Whether to copy adata or modify it inplace.
- **kwargs
Additional parameters that will be passed to
SparseVFCfunction.
- Returns:
An
AnnDataobject is updated/copied with thekey_addeddictionary in the.unsattribute.The
key_addeddictionary which contains:X: Current state. valid_ind: The indices of cells that have finite velocity values. X_ctrl: Sample control points of current state. ctrl_idx: Indices for the sampled control points. Y: Velocity estimates in delta t. beta: Parameter of the Gaussian Kernel for the kernel matrix (Gram matrix). V: Prediction of velocity of X. C: Finite set of the coefficients for the P: Posterior probability Matrix of inliers. VFCIndex: Indexes of inliers found by sparseVFC. sigma2: Energy change rate. grid: Grid of current state. grid_V: Prediction of velocity of the grid. iteration: Number of the last iteration. tecr_vec: Vector of relative energy changes rate comparing to previous step. E_traj: Vector of energy at each iteration. method: The method of learning vector field. Here method == ‘sparsevfc’.
Here the most important results are X, V, grid and grid_V.
X: Cell coordinates of the current state. V: Developmental direction of the X. grid: Grid coordinates of current state. grid_V: Prediction of developmental direction of the grid.