Single-cell Hi-C model annotating chromatin loops, TAD-like domains, and A/B compartments from sparse contact maps with no dense imputation.
No providers recorded yet. Browse all providers
A single nucleus yields only a few hundred thousand Hi-C contacts spread across billions of possible bin pairs, so a single-cell contact map is almost entirely zeros. The standard response has been to fill it back in — impute the map to bulk-like density, then run a bulk loop or TAD caller over the reconstruction. That is expensive, and every annotation then rests on interactions the imputation invented rather than on contacts the experiment observed.
scCAFE — Calling Architectural FeaturEs — takes the sparse map as it is. Built by Fuzhou Wang, Ka-Chun Wong and colleagues at City University of Hong Kong and Jilin University, it treats each chromosome's cis-contact map as a graph whose nodes are 10 kb genomic bins and whose edges are observed contacts. A multi-task variational graph autoencoder classifies looping bin pairs against a reference loop list and reconstructs the contact map at the same time. The reconstruction objective is what makes the difference: it forces the encoder to represent global chromosome organization rather than only the loop decision boundary, so the per-bin embeddings carry structure the loop head never saw.
Those embeddings are then read as an ordered sequence along the linear genome and handed to algorithms the network never trained with — connectivity-constrained hierarchical clustering for TAD-like domains (TLDs), and a two-state hidden Markov model for A/B compartments. One trained network therefore annotates three scales of chromatin architecture, where loop callers such as Polaris address one and resolution-enhancement models such as ScHiCAtt address the sparsity itself. scCAFE extends the same group's earlier scHi-C loop caller scGSLoop, adding the reconstruction task and the higher-order heads to its graph-view/sequence-view design.
The encoder is a GraphSAGE network producing a Gaussian latent per bin, shared by two dense edge-level decoders — one for reconstruction, one for loop classification — trained with binary cross-entropy plus a KL term and proximity-aware negative sampling. TLD calling runs PCA over the embeddings and then agglomerative clustering restricted to adjacent bins, cutting the cost from O(n³) to O(n²). Compartment states come from an HMM fit on the embeddings of 100 chromosomes, with posterior signs set by GC content. Checkpoints are under 2 MB apiece and peak memory stays below 4 GB.
Evaluation followed a strict train-on-one-dataset, test-on-another protocol across mESC (GSE94489) and human prefrontal cortex (GSE130711) data. Per-cell F1, precision and recall beat scGSLoop in every cell type of both datasets under a Wilcoxon signed-rank test, and precision-recall curves for consensus loops sat above scGSLoop, SnapHiC, SIP, cooltools, Peakachu and Chromosight throughout. The model transferred to scNanoHi-C long-read data (GSE217189), and on woolly mammoth ancient-DNA Hi-C it was the only one of five tools tested that reliably classified loop interactions. Latent features separated the seven hPFC cell types at 0.99 accuracy and 0.93 macro-F1.
The immediate use is annotating chromatin architecture in single-cell Hi-C atlases of tissue, where per-cell loop, domain and compartment calls expose heterogeneity that pooled analysis averages away. Marker loop anchors support cell-type labelling where no paired transcriptome exists. Built for sparse, noisy input, the model also extends to low-depth bulk libraries and degraded ancient DNA.
scCAFE argues that dense imputation is not a prerequisite for single-cell 3D genome annotation, and that a representation learned for one task can carry the others without further supervision. The code is MIT-licensed and ships its four trained checkpoints; the paper's annotations are on Zenodo under CC BY 4.0. Two limits are worth stating plainly. There is one checkpoint per training dataset rather than a single broadly pretrained model, so users pick the closest fit rather than a general default. And only loop calling is learned — TLDs and compartments are algorithmic readouts of the embeddings, tying their quality to the objectives that shaped the latent space.
Much of this page is generated or calculated automatically. Flag anything that looks off and we will re-run it.