dynamo.vf.Potential

dynamo.vf.Potential(adata, basis='umap', x_lim=[0, 40], y_lim=[0, 40], DiffMat=None, method='Ao', **kwargs)[source]

Function to map out the pseudo-potential landscape.

Although it is appealing to define “potential” for biological systems as it is intuitive and familiar from other fields, it is well-known that the definition of a potential function in open biological systems is controversial (Ping Ao 2009). In the conservative system, the negative gradient of potential function is relevant to the velocity vector by ma = −Δψ (where m, a, are the mass and acceleration of the object, respectively). However, a biological system is massless, open and nonconservative, thus methods that directly learn potential function assuming a gradient system are not directly applicable. In 2004, Ao first proposed a framework that decomposes stochastic differential equations into either the gradient or the dissipative part and uses the gradient part to define a physical equivalent of potential in biological systems (P. Ao 2004). Later, various theoretical studies have been conducted towards this very goal (Xing 2010; Wang et al. 2011; J. X. Zhou et al. 2012; Qian 2013; P. Zhou and Li 2016). Bhattacharya and others also recently provided a numeric algorithm to approximate the potential landscape.

This function implements the Ao, Bhattacharya method and Ying method and will also support other methods shortly.

Parameters:
  • adata (AnnData) – AnnData object that contains embedding and velocity data.

  • basis (str) – the basis of vector field function.

  • x_lim (List) – lower or upper limit of x-axis.

  • y_lim (List) – lower or upper limit of y-axis.

  • DiffMat (Optional[Callable]) – The function which returns the diffusion matrix which can variable (for example, gene) dependent.

  • method (str) – Method to map the potential landscape.

  • kwargs – Additional parameters for the method.

Return type:

AnnData

Returns:

The AnnData object that is updated with the Pot dictionary in the uns attribute.