Skip to the page
Research notebook / A. Flores
folio 03·b
tmap 2.0

TMAP 2.0.

Interactive maps for datasets too large to understand as tables.

TMAP is a way to draw a map of anything that can be compared by similarity: molecules, proteins, images, cells. The point is simple: put similar objects near each other, keep the global structure readable, and make million-point datasets feel like landscapes rather than tables.

Manuscript in preparation, 2026

Plate I

Approved drugs · TMAP

An interactive map; drag to pan, scroll to zoom

Loading the interactive map…

open the map on its own page ↗

Plate I. MST over multi-domain embeddings: chemical, image, and protein space.

i.Why maps matter

Modern scientific datasets are often high-dimensional: a molecule, protein, or image can be represented by hundreds or thousands of numbers. Humans cannot look at that directly. TMAP turns similarity relationships into a tree-shaped 2D map, so clusters, outliers, bridges, and gaps become visible.

In chemistry, that means a medicinal chemist can see families of related compounds. In biology, it can show neighborhoods of protein structures. The same idea also works for image embeddings or single-cell data.

ii.What I rebuilt

The old TMAP worked, but it was a C++ monolith with an aging neighbor-search layer. TMAP 2.0 is a clean Python + Numba codebase with a scikit-learn style API and a pluggable index layer. You can use USearch HNSW for cosine, Euclidean, or binary Jaccard, fall back to a Numba MinHash + LSH-Forest if you need the old behavior, or feed in your own kNN graph from MMseqs2, Foldseek, or BLAST.

iii.What's new

Recall@20 went from 49% with the old LSH path to about 99% with USearch on a 1M-point benchmark at d=128. The Numba MinHash route is still there for parity and runs 2 to 3 times faster than the original C++. Memory use is lower across the board.

On the user-facing side, the map is easier to work with: filtering tools can select subsets of data, new points can be inserted into an existing map, and Jupyter integration is much cleaner.

iv.Where it's been used

Most of my own testing happened on chemistry, but TMAP 2.0 is happy with anything you can put in a vector. I've used it on 2.7M AlphaFold predicted structures, with a structure-aware viewer embedded in the map, on a single-cell Arabidopsis atlas, and on image-embedding collections. It's also being integrated into internal discovery pipelines at AbbVie and Roche.