Single-cell multiomics
In this tutorial, we will use the example Skin SHARE-seq dataset (Ma et al.) introduced in the data processing step earlier. All analysis steps remain exactly the same as those used in the scRNA-seq analysis. For simplicity, we will demonstrate how to use Hydra to predict cell types in the query scMultiome dataset.
Running feature selection
As described in the scRNA-seq analysis, the first step is to run feature selection. Since we are running fs from the same directory containing the Input_Processed directory, we can skip the base_dir argument.
hydra --setting fs
Thank you for using Hydra π, an interpretable deep generative tool for single-cell omics. Please refer to the full documentation available at https://sydneybiox.github.io/Hydra/ for detailed usage instructions. If you encounter any issues running the tool - Please open an issue on Github, and we will get back to you as soon as possible!! =============================== Device to be used: CUDA =============================== INFO - 2025-08-12 05:38:39,834 - Starting to run INFO - 2025-08-12 05:38:39,834 - Training model... INFO - 2025-08-12 05:38:56,926 - The Dataset is: scRNA+scATAC 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 40/40 [00:13<00:00, 2.95it/s] INFO - 2025-08-12 05:39:11,652 - Refining Model: 1 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 30/30 [00:05<00:00, 5.41it/s] INFO - 2025-08-12 05:39:18,494 - Refining Model: 2 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 48/48 [00:05<00:00, 8.97it/s] INFO - 2025-08-12 05:39:24,651 - Refining Model: 3 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 49/49 [00:06<00:00, 8.09it/s] INFO - 2025-08-12 05:39:31,526 - Refining Model: 4 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 48/48 [00:06<00:00, 7.75it/s] INFO - 2025-08-12 05:39:38,465 - Refining Model: 5 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 41/41 [00:04<00:00, 9.48it/s] INFO - 2025-08-12 05:39:43,544 - Refining Model: 6 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 46/46 [00:05<00:00, 8.89it/s] INFO - 2025-08-12 05:39:49,483 - Refining Model: 7 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 33/33 [00:04<00:00, 7.34it/s] INFO - 2025-08-12 05:39:54,774 - Refining Model: 8 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 37/37 [00:04<00:00, 8.76it/s] INFO - 2025-08-12 05:39:59,777 - Refining Model: 9 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 45/45 [00:04<00:00, 9.61it/s] INFO - 2025-08-12 05:40:05,233 - Refining Model: 10 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 50/50 [00:04<00:00, 10.58it/s] INFO - 2025-08-12 05:40:10,719 - Refining Model: 11 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 42/42 [00:04<00:00, 8.49it/s] INFO - 2025-08-12 05:40:16,439 - Refining Model: 12 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 37/37 [00:04<00:00, 8.71it/s] INFO - 2025-08-12 05:40:21,446 - Refining Model: 13 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 35/35 [00:04<00:00, 8.22it/s] INFO - 2025-08-12 05:40:26,477 - Refining Model: 14 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 33/33 [00:04<00:00, 7.98it/s] INFO - 2025-08-12 05:40:31,382 - Refining Model: 15 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 49/49 [00:05<00:00, 9.23it/s] INFO - 2025-08-12 05:40:37,455 - Refining Model: 16 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 37/37 [00:04<00:00, 8.76it/s] INFO - 2025-08-12 05:40:42,486 - Refining Model: 17 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 36/36 [00:04<00:00, 8.18it/s] INFO - 2025-08-12 05:40:47,631 - Refining Model: 18 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 44/44 [00:04<00:00, 9.05it/s] INFO - 2025-08-12 05:40:53,323 - Refining Model: 19 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 32/32 [00:03<00:00, 8.33it/s] INFO - 2025-08-12 05:40:57,953 - Refining Model: 20 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 50/50 [00:05<00:00, 9.19it/s] INFO - 2025-08-12 05:41:04,263 - Refining Model: 21 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 38/38 [00:04<00:00, 8.02it/s] INFO - 2025-08-12 05:41:09,805 - Refining Model: 22 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 41/41 [00:04<00:00, 9.22it/s] INFO - 2025-08-12 05:41:15,028 - Refining Model: 23 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 44/44 [00:04<00:00, 9.39it/s] INFO - 2025-08-12 05:41:20,492 - Refining Model: 24 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 43/43 [00:05<00:00, 8.58it/s] INFO - 2025-08-12 05:41:26,249 - Refining Model: 25 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 32/32 [00:04<00:00, 7.82it/s] INFO - 2025-08-12 05:41:31,118 - Running feature selection... 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 20/20 [01:33<00:00, 4.69s/it] INFO - 2025-08-12 05:43:18,247 - Completed successfully!
The results are stored in the Feature_Selection sub-directory located within the Results directory.
Results/
βββ Feature_Selection
βββ Hydra-25
βββ fs.ahighCD34+ bulge_Hydra.csv
βββ fs.alowCD34+ bulge_Hydra.csv
βββ fs.Basal_Hydra.csv
βββ fs.Dermal Fibrobalst_Hydra.csv
βββ fs.Dermal Papilla_Hydra.csv
βββ fs.Dermal Sheath_Hydra.csv
βββ fs.Endothelial_Hydra.csv
βββ fs.Granular_Hydra.csv
βββ fs.Hair Shaft-cuticle.cortex_Hydra.csv
βββ fs.Infundibulum_Hydra.csv
βββ fs.IRS_Hydra.csv
βββ fs.Isthmus_Hydra.csv
βββ fs.K6+ Bulge Companion Layer_Hydra.csv
βββ fs.Macrophage DC_Hydra.csv
βββ fs.Medulla_Hydra.csv
βββ fs.Melanocyte_Hydra.csv
βββ fs.ORS_Hydra.csv
βββ fs.Spinous_Hydra.csv
βββ fs.TAC-1_Hydra.csv
βββ fs.TAC-2_Hydra.csv
Automated cell type annotation
hydra --setting annotation
Thank you for using Hydra π, an interpretable deep generative tool for single-cell omics. Please refer to the full documentation available at https://sydneybiox.github.io/Hydra/ for detailed usage instructions. If you encounter any issues running the tool - Please open an issue on Github, and we will get back to you as soon as possible!! =============================== Device to be used: CUDA =============================== INFO - 2025-08-12 05:44:16,051 - Starting to run Device to be used: cuda INFO - 2025-08-12 05:44:18,360 - Training classifier: 1 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 13.90it/s] INFO - 2025-08-12 05:44:37,639 - Training classifier: 2 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 25.91it/s] INFO - 2025-08-12 05:44:38,162 - Training classifier: 3 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.12it/s] INFO - 2025-08-12 05:44:38,685 - Training classifier: 4 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.18it/s] INFO - 2025-08-12 05:44:39,206 - Training classifier: 5 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 24.45it/s] INFO - 2025-08-12 05:44:39,729 - Training classifier: 6 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.03it/s] INFO - 2025-08-12 05:44:40,234 - Training classifier: 7 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.10it/s] INFO - 2025-08-12 05:44:51,072 - Training classifier: 8 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 24.89it/s] INFO - 2025-08-12 05:44:51,584 - Training classifier: 9 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.42it/s] INFO - 2025-08-12 05:44:52,104 - Training classifier: 10 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 24.46it/s] INFO - 2025-08-12 05:44:52,620 - Training classifier: 11 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 24.38it/s] INFO - 2025-08-12 05:44:53,137 - Training classifier: 12 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.58it/s] INFO - 2025-08-12 05:45:04,071 - Training classifier: 13 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.78it/s] INFO - 2025-08-12 05:45:04,580 - Training classifier: 14 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 25.97it/s] INFO - 2025-08-12 05:45:15,420 - Training classifier: 15 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 25.88it/s] INFO - 2025-08-12 05:45:15,951 - Training classifier: 16 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.10it/s] INFO - 2025-08-12 05:45:16,476 - Training classifier: 17 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 24.83it/s] INFO - 2025-08-12 05:45:17,026 - Training classifier: 18 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 24.84it/s] INFO - 2025-08-12 05:45:17,566 - Training classifier: 19 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.09it/s] INFO - 2025-08-12 05:45:18,094 - Training classifier: 20 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.16it/s] INFO - 2025-08-12 05:45:18,624 - Training classifier: 21 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.25it/s] INFO - 2025-08-12 05:45:19,151 - Training classifier: 22 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 25.95it/s] INFO - 2025-08-12 05:45:19,684 - Training classifier: 23 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 25.72it/s] INFO - 2025-08-12 05:45:20,216 - Training classifier: 24 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 25.83it/s] INFO - 2025-08-12 05:45:20,756 - Training classifier: 25 100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 5/5 [00:00<00:00, 26.37it/s] INFO - 2025-08-12 05:45:21,286 - Annotating the query dataset... INFO - 2025-08-12 05:46:32,062 - Completed successfully!
The annotation results generated will be stored in the directory Results/Annotation.
Plotting cell type predictions
We will now use Hydra to plot predicted labels for the test dataset:
hydra --setting plot --predictions True --test scMultiome/Ma_Skin_scRNA_test.h5ad --modality rna --ctpredictions Results/Annotation/Hydra-25/cell_type_predicted_Hydra-25.csv
Thank you for using Hydra π, an interpretable deep generative tool for single-cell omics. Please refer to the full documentation available at https://sydneybiox.github.io/Hydra/ for detailed usage instructions. If you encounter any issues running the tool - Please open an issue on Github, and we will get back to you as soon as possible!!
===============================
Device to be used: CUDA
===============================
INFO - 2025-08-12 05:48:54,487 - Starting to run
INFO - 2025-08-12 05:48:54,488 - Generating plot for Hydra predicted cell types...
Warning: Data is of class matrix. Coercing to dgCMatrix.
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Centering and scaling data matrix
|======================================================================| 100%
PC_ 1
Positive: EBF1, SPARC, FBN1, LAMA2, COL6A3, ZEB2, COL3A1, FBXL7, COL5A2, FSTL1
PRRX1, COL4A1, MEG3, COL1A2, VIM, ZEB1, COL5A1, LDB2, PREX2, GRB10
COL1A1, COL15A1, ZFP521, COL4A2, NID1, PDE3A, IGFBP7, VCAN, THSD7A, PTPRM
Negative: CLCA3A2, CHL1, DSG1A, SERPINB2, ABCA12, IL20RA, SKINT6, SKINT5, SLC24A3, SOX6
PKIB, KRT77, IPMK, SPTLC3, EPGN, ANO9, FOSL1, RGS20, FCGBP, KRT10
ITGA6, KRT79, SKINT9, TPRG, LRP4, DMKN, KRT1, P3H2, ADGRL3, TNFAIP3
PC_ 2
Positive: LAMA2, RSPO2, COL6A3, VCAN, COL5A2, COL5A1, HHIP, PRRX1, COL3A1, FREM1
CORIN, SVEP1, RSPO4, DCC, COL1A2, TBX15, CDH11, TMEM132C, PRR16, NRG2
MEG3, NCAM1, FBN1, KCNQ3, ABCA8A, COL14A1, FBN2, FGF10, NAV3, LINGO2
Negative: PTPRB, CD36, PECAM1, ADGRF5, FLT1, MECOM, ADGRL4, CDH5, FABP4, CYYR1
SHANK3, DYSF, CD93, KDR, AQP1, RASGRF2, SCARB1, FLI1, PTPRM, ETS1
EMCN, SDPR, ESAM, NRP1, MEOX2, FGD5, CCDC85A, PREX2, RASGRP3, S1PR1
PC_ 3
Positive: MEG3, COL1A2, CCDC80, COL5A1, COL1A1, SPARC, GFPT2, ADGRD1, COL14A1, FBN1
IFI205, TNXB, NID1, COL3A1, CLEC3B, COL6A2, OPCML, ANXA1, ZEB1, ACKR3
TNFAIP6, EBF2, COL6A1, NOVA1, DPT, COL5A2, TMEFF2, DLC1, ESR1, BICC1
Negative: LEF1, ROBO1, CUX1, BNC2, NHS, GJA1, MKI67, TRPS1, TOP2A, HIST1H1B
NCL, CSGALNACT1, GLI2, NRP2, HIST1H1D, HIST1H1E, SLC30A1, GTF2IRD1, MYO5A, ROR2
KIF11, HIVEP3, VAV3, NEO1, HIST1H1C, KIF15, BRAF, JAG1, NOTCH1, CENPE
PC_ 4
Positive: RSPO2, CORIN, RSPO4, DCC, HHIP, KCNQ3, FREM1, NRG2, ENPP2, RSPO3
MASP1, TMEM132C, LINGO2, MIR155HG, NCAM1, SHISA9, SNAP91, PTPRZ1, INHBA, FGF10
PLSCR4, PRR16, CHODL, PAPPA, NDNF, CNTN1, LEPR, GRID1, WIF1, PAPPA2
Negative: MEG3, DCN, FN1, COL1A1, ADGRD1, GFPT2, CELF2, CCDC80, COL5A1, COL1A2
BNC2, COL14A1, IFI205, OPCML, MKI67, SOX5, CLEC3B, NOVA1, ACKR3, TMEFF2
TOP2A, HIST1H1B, GJA1, CUX1, DPT, PI16, EBF2, FNDC1, COL6A2, ADAMTSL1
PC_ 5
Positive: MKI67, ROBO1, TOP2A, VCAN, RSPO4, KIF11, RSPO2, KIF15, HIST1H1B, FREM1
WIF1, ANLN, HHIP, CENPE, LEF1, CENPF, MT2, KCNQ3, PTPRZ1, CORIN
COL23A1, TMEM132C, THSD7A, PLSCR4, PREX2, MASP1, CASC5, EBF1, HIST1H1A, FLI1
Negative: KRT79, NEBL, ADGRL3, PLXDC2, KRT17, SKINT3, ABCA12, ATP6V1C2, ANO9, DEFB6
CST6, SPINK5, TPRG, LDLRAD4, SLIT3, SBSN, CSNK2A2, AGPAT4, MCCC2, RGS20
KRT77, KLK7, ABI3BP, GAREM, EPHA4, KALRN, EPS8L1, DMKN, MYO5B, CHL1
Warning: The default method for RunUMAP has changed from calling Python UMAP via reticulate to the R-native UWOT using the cosine metric
To use Python UMAP via reticulate, set umap.method to 'umap-learn' and metric to 'correlation'
This message will be shown once per session
05:49:23 UMAP embedding parameters a = 0.9922 b = 1.112
05:49:23 Read 23597 rows and found 10 numeric columns
05:49:23 Using Annoy for neighbor search, n_neighbors = 30
05:49:23 Building Annoy index with metric = cosine, n_trees = 50
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
05:49:24 Writing NN index file to temp file /tmp/RtmpDpQLyc/file1788b42fa8a747
05:49:24 Searching Annoy index using 1 thread, search_k = 3000
05:49:33 Annoy recall = 100%
05:49:33 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
05:49:34 Initializing from normalized Laplacian + noise (using RSpectra)
05:49:34 Commencing optimization for 200 epochs, with 1017522 positive edges
05:49:34 Using rng type: pcg
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
05:49:43 Optimization finished
INFO - 2025-08-12 05:49:44,996 - Completed successfully!
UMAP visualization of Hydra predicted cell types for scRNA-seq Skin dataset (Ma et al):
hydra --setting plot --predictions True --test scMultiome/Ma_Skin_scATAC_test.h5ad --modality atac --ctpredictions Results/Annotation/Hydra-25/cell_type_predicted_Hydra-25.csv
Thank you for using Hydra π, an interpretable deep generative tool for single-cell omics. Please refer to the full documentation available at https://sydneybiox.github.io/Hydra/ for detailed usage instructions. If you encounter any issues running the tool - Please open an issue on Github, and we will get back to you as soon as possible!!
===============================
Device to be used: CUDA
===============================
INFO - 2025-08-12 05:50:04,545 - Starting to run
INFO - 2025-08-12 05:50:04,545 - Generating plot for Hydra predicted cell types...
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Warning: Data is of class matrix. Coercing to dgCMatrix.
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Centering and scaling data matrix
|======================================================================| 100%
PC_ 1
Positive: PLEKHG1, CELF2, KIF6, FANCC, STK32B, SHC4, CD82, FOXP1, GPR156, COL1A2
RGL1, LEF1, SGMS2, KAT7, MROH8, COL5A1, GM15802, USP46, GTF2IRD1, BASP1
ZFP521, GM40383, CDH6, SPSB4, HAPLN1, GM29345, ST7L, ADAMTS2, GM26820, PSMB7
Negative: GM34047, GM19585, SKINT4, FABP7, GM48236, BC064078, OLFR420, CLEC2G, PHYKPL, CLEC2F
PPP2R2D, GM47964, GM49776, 4930544I03RIK, OLFR1341, MALRD1, 2510002D24RIK, 4930511M06RIK, SIRT1, LGALS3
GM47465, GM35037, GM43123, USP38, SLC7A12, GM44148, DEFA-PS8, GM28500, GM35240, ASPHD2
PC_ 2
Positive: SHC4, COL1A2, BICC1, ARHGAP15, ZFP521, GM40438, GM40383, PAPPA2, THSD7A, MAPK9
ADAMTS2, PDE10A, COL5A1, TH, COL4A1, GM48616, RGL1, FNDC3B, ADCY2, GM45338
TBX15, HAGH, GM2415, DCLK1, CEP162, VIM, GM12153, SH2D1B1, KIF6, KIFAP3
Negative: KAT7, SGMS2, GTF2IRD1, GM34022, LEF1, GM49891, 9530036O11RIK, ROBO1, HBS1L, NFIL3
TTC9, 4930534D22RIK, FOXP1, GM35208, PLEKHG1, RAP1GAP2, AFP, STK32B, SNX32, TNFAIP8L3
GM26820, BNC2, RXYLT1, G630018N14RIK, SPSB4, GM8520, 4930553J12RIK, 4931406G06RIK, RNF180, TMEFF1
PC_ 3
Positive: SGMS2, KAT7, CD82, STK32B, LEF1, PLEKHG1, GM34022, CELF2, CDH6, 4930534D22RIK
COL1A2, NFIL3, GM29345, HBS1L, GM35208, BASP1, RNF180, RXYLT1, SPSB4, 9530036O11RIK
SLC25A36, KIF6, SHC4, MYL12B, FAR2OS2, BCAT1, 4930553J12RIK, METTL21A, GM40383, GPR156
Negative: 4930511M06RIK, GM34047, SKINT4, MCF2L, NFXL1, ANK, MALRD1, GM47465, GM48236, ABCG1
PDIA6, OLFR1341, GM49868, 1700018A04RIK, VTI1B, ANAPC2, CLEC2G, KLK1B4, FABP7, CLEC2F
OSGEP, GAL3ST3, 2510002D24RIK, GPATCH4, BC064078, RDH13, FXYD3, KRT18, GM47732, GM44442
PC_ 4
Positive: DPH5, SLC30A7, KCNMB4, GM48616, SEMA3C, GM28053, SCEL, SDR42E1, HSD17B13, PHOX2A
HAGH, SPAAR, TTC16, DNAJB8, GM13391, DHX35, GNG11, LTA4H, GM27246, SIAE
9330175M20RIK, TBC1D20, SLC25A45, TMPRSS6, COL4A1, GM15544, TOR2A, CEP95, KCNK15, GM15802
Negative: COL1A2, GM12153, BICC1, GM40438, GM40383, ADAMTS2, MYL12B, MAPK9, GM45338, PAPPA2
CEP162, COL5A1, TBX15, ARHGAP15, TH, NOVA1, ADCY2, GM45883, IQSEC3, STARD3NL
SHC4, CDO1, GM35554, RDH1, CELF2, LRRC58, SH2D1B1, DCLK1, CFAP299, PROKR1
PC_ 5
Positive: NCALD, NR3C2, ANK, 1700018A04RIK, GM47465, COMMD10, GM29040, DCLK1, ADCY1, PHF11C
GM36633, ACAD9, DDX4, GM47732, BNC2, SLC9C1, GM30954, C130026L21RIK, BTG3, TTC27
PAKAP, MALRD1, GM20744, CDK5, GM17771, SYCP1, GM42932, PLG, GM11680, SNX5
Negative: CFAP299, ADORA2B, SIRT1, CNOT10, GM19585, GM44058, GM49539, GM26008, OGT, 4930544I03RIK
TYSND1, BC064078, ROBO1, IRF1, PHYKPL, GM35037, PIGV, GM38207, HS3ST1, GM43123
TAF15, GM48662, TNFAIP8L3, FGD6, GM28500, ODR4, GM49776, GPR176, TRDC, OLFR420
Warning: The default method for RunUMAP has changed from calling Python UMAP via reticulate to the R-native UWOT using the cosine metric
To use Python UMAP via reticulate, set umap.method to 'umap-learn' and metric to 'correlation'
This message will be shown once per session
05:50:43 UMAP embedding parameters a = 0.9922 b = 1.112
05:50:43 Read 23597 rows and found 10 numeric columns
05:50:43 Using Annoy for neighbor search, n_neighbors = 30
05:50:43 Building Annoy index with metric = cosine, n_trees = 50
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
05:50:44 Writing NN index file to temp file /tmp/RtmpytiF6Z/file1791f8a3aec57
05:50:44 Searching Annoy index using 1 thread, search_k = 3000
05:50:53 Annoy recall = 100%
05:50:53 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
05:50:54 Initializing from normalized Laplacian + noise (using RSpectra)
05:50:55 Commencing optimization for 200 epochs, with 993682 positive edges
05:50:55 Using rng type: pcg
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
05:51:03 Optimization finished
INFO - 2025-08-12 05:51:04,433 - Completed successfully!
UMAP visualization of Hydra predicted cell types for the scATAC-seq skin dataset (Ma et al.).
Below, we include an external figure showing the agreement between Hydra predicted cell type labels and the authorsβ labels