TopOMetry is a high-level python library to explore data topology. It allows learning topological metrics, dimensionality reduced basis and graphs from data, as well to visualize them with different layout optimization algorithms. The main objective is to achieve approximations of the Laplace-Beltrami Operator, a natural way to describe data geometry and its high-dimensional topology.
TopOMetry is designed to handle large-scale data matrices containing extreme topological diversity, such as those generated from single-cell omics, and can be used to perform topology-preserving visualizations.
TopoMetry main class is the TopoGraph
object. In a TopoGraph
, topological metrics are recovered with diffusion
harmonics or Continuous-k-Nearest-Neighbors, and used to obtain topological basis (multiscale Diffusion Maps and/or
diffuse or continuous versions of Laplacian Eigenmaps).
On top of these basis, new graphs can be learned using k-nearest-neighbors
graphs or additional topological operators. The learned metrics, basis and graphs are stored as different attributes of the
TopoGraph
object.
Finally, different visualizations of the learned topology can be optimized with pyMDE
by solving a
Minimum-Distortion Embedding problem. TopOMetry also implements an adapted, non-uniform
version of the seminal Uniform Manifold Approximation and Projection (UMAP)
for graph layout optimization (we call it MAP for short).
Alternatively, you can use TopOMetry to add topological information to your favorite workflow by using its dimensionality reduced basis to compute k-nearest-neighbors instead of PCA.