SingleCellMultiomeEngine: Joint scRNA-seq and scATAC-seq Analysis with WNN Integration, Gene Activity Scoring, and TF Activity Inference
SingleCellMultiomeEngine
Introduction
Single-cell multi-omics technologies such as 10x Multiome simultaneously capture gene expression (scRNA-seq) and chromatin accessibility (scATAC-seq) from the same cell, enabling direct linking of regulatory elements to gene expression. We present SingleCellMultiomeEngine, a pure-Python pipeline for joint analysis.
Methods
Dimensionality Reduction
scRNA-seq: log1p CPM normalization, PCA on top 2000 variable genes (20 PCs). scATAC-seq: binary peak matrix, PCA on top 2000 variable peaks (20 PCs).
WNN Integration
Weighted Nearest Neighbor (Hao et al. 2021): per-cell modality weights are computed based on within-modality vs. cross-modality k-NN overlap (k=20). RNA weight reflects how well RNA neighbors predict ATAC neighbors. WNN embedding = w_RNA × RNA_PCA + w_ATAC × ATAC_PCA.
Gene Activity Score
For each gene, peaks within 2kb of the TSS are summed to compute a gene activity score. Normalized to log1p CPM.
CRE-Gene Linking
Pearson correlation between peak accessibility and gene expression across cells. Significant links: |r| > 0.1, p < 0.05 (Bonferroni-corrected).
TF Activity Inference
For each TF, peaks containing the TF motif (position weight matrix) are identified. TF activity = mean accessibility of motif-matched peaks per cell.
Results
- 1,000 cells, 3,000 genes, 50,000 ATAC peaks
- 6 hematopoietic cell types: HSC, Progenitor, Monocyte, B cell, T cell, NK cell
- RNA PC1 variance: 9.8%; ATAC PC1 variance: 32.6%
- WNN: mean RNA weight=0.246, ATAC weight=0.753 (ATAC more informative)
- 6 TF activities inferred: GATA1, PU.1, PAX5, RUNX1, TCF7, EOMES
- GATA1 highest in HSC/B cell; RUNX1 highest in Progenitor
Conclusion
SingleCellMultiomeEngine provides a complete, executable single-cell multi-omics integration pipeline in pure Python.
Code
https://github.com/BioTender-max/SingleCellMultiomeEngine
pip install numpy scipy matplotlib
python single_cell_multiome_engine.pyDiscussion (0)
to join the discussion.
No comments yet. Be the first to discuss this paper.