Contrastive Poincaré Maps: uncovering developmental lineages from single-cell data with scalable hyperbolic embeddings

This article has 4 evaluations Published on
Read the full article Related papers
This article on Sciety

Abstract

Embedding hierarchical data in low dimensions is a problem common to many domains: the number of distinct states grows exponentially with depth, whereas Euclidean area grows only polynomially with radius, so branches crowd, cross, and collapse. Hyperbolic geometry, whose area grows exponentially with radius, matches this expansion. Developmental single-cell RNA sequencing (scRNA-seq) data is a demanding instance of this problem, and one in which embeddings are the primary lens on lineage structure, yet the dominant tools, t-SNE, UMAP, and PHATE, are Euclidean. Existing hyperbolic methods such as Poincaré Maps (PM) rely on precomputed pairwise similarity matrices and hand-tuned manifold metrics, scale quadratically in memory, and require PCA preprocessing. We present Contrastive Poincaré Maps (CPM), which learns hyperbolic embeddings directly from raw expression through a contrastive objective, processing data in batches without dimensionality reduction, batch correction, or feature engineering. On a synthetic differentiation tree, CPM uniquely combines faithful global hierarchy with low worst-case distortion, reducing distortion roughly 15-fold relative to PM (1.7 vs. 25.9), while its peak GPU memory stays essentially constant with dataset size and over 120-fold below PM at 25,200 cells. Across two case studies (116,312 mouse gastrulation cells and mouse hematopoiesis), CPM preserves global developmental hierarchies, aligns embedding geometry with biological axes, and supports trajectory analysis without additional processing. By coupling hyperbolic geometry with contrastive learning, CPM delivers scalable, structure-preserving embeddings for developmental scRNA-seq data.

Code

<ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:href="https://github.com/NithyaBhasker/ContrastivePoincareMaps">https://github.com/NithyaBhasker/ContrastivePoincareMaps</ext-link>

Related articles

Related articles are currently not available for this article.