to k = 100 (beyond which the edge weights are vanishing), and we used a = 1. Using a fixed maximal k also ensured that the algorithm remained linear in the number of cells. We call this a multiscale KNN, and stored both the KNN and the mutual KNN for use in further clustering and visualization (available as column graphs named KNN and MKNN in the Loom files).