Observed since 20 Oct, 18:09 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
ACE-OF-Clust: Alignment, Comparison, and Evaluation of Omics Features in Clustering
ace-of-clust)ACE-OF-Clust (Alignment, Comparison, and Evaluation of Omics Features in Clustering) is a Python package built on top of clumppling that streamlines clustering-alignment workflows and supports downstream comparisons, summaries, and feature-level analyses for single-cell omics clustering results.
ace-of-clustace_of_clustCheck out this documentation site for the tutorials and API reference for the package.
Liu, X., et al. (2026). Systematic clustering alignment and feature characterization for single-cell omics using ACE-OF-Clust. https://doi.org/10.64898/2026.03.09.710668
pip install ace-of-clust
Optional (better label adjustment in some plots):
pip install "ace-of-clust[adjusttext]"
clumppling / compModels via wrappersfrom pathlib import Path
import ace_of_clust as aoc
# Example: run clumppling on an existing results directory / config
cls_dir = Path("input/clustering_res")
align_dir = Path("output/clumppling_run")
aoc.run_clumppling_via_main(
input_dir=cls_dir,
output_dir=align_dir,
fmt="generalQ")
# Example: prepare and run compModels (paths/args will depend on your pipeline)
models = ['model1', 'model2']
suffixes = ["rep", "rep"]
model_dirs = [Path("output/clumppling_run_model_1") Path("output/clumppling_run_model_2")]
model_comp_dir = Path("output/clumppling_models")
qfilelists, qnamelists, mode_stats_files = aoc.prepare_comp_models_inputs(
models=models,
model_dirs=model_dirs,
comp_dir=model_comp_dir,
suffixes=suffixes,
)
model_comp_output_dir = Path("output/aligned_models")
aoc.run_comp_models(
models=models,
comp_dir=model_comp_dir,
output_dir=model_comp_output_dir)
import pandas as pd
import ace_of_clust as aoc
# load results
comp_res = aoc.load_compmodels_results(
res_dir=model_comp_output_dir,
input_dir=model_comp_dir,
)
# extract mode-pair mappings
pair_mappings = aoc.extract_all_mode_pair_mappings(
mode_names=comp_res.full_mode_names,
all_modes_alignment=comp_res.all_modes_alignment,
alignment_acrossK=comp_res.alignment_across_all,
)
# visualize cluster memberships (hard clustering)
fig, ax = aoc.plot_compmodels_membership_grid(
comp_res,
coords, # coordinates for scatter plot
colors=colors, # colors used for clusters
val_threshold=0.5, # only plot points with membership values above this threshold
suptitle="Cluster Memberships",
)
Note: Step-by-step tutorials are available on the documentation site. Please refer to the site for general usage instructions.
This repository keeps example scripts and notebooks separate from the installable library code. Its main purpose is to reproduce the figures from our manuscript. To reproduce the examples:
pip install ace-of-clust)examples/, etc.)Toy example
toy_example.ipynb — end-to-end walkthrough on simulated data, available on the documentation site.PBMC3K scRNA-seq (hard clustering)
pbmc3k_scRNAseq_clumppling.py — run Clumppling alignment on PBMC3K clustering resultspbmc3k_scRNAseq_compModels.py — run cross-model comparison on PBMC3K resultspbmc3k_scRNAseq_hc_aligned.ipynb — visualize and analyze aligned hard-clustering resultspbmc3k_scRNAseq_gs.ipynb — gene signature / feature-level analysis of PBMC3K resultsHBC spatial transcriptomics (mixed-membership clustering)
hbc_st_clumppling.py — run Clumppling alignment on HBC spatial transcriptomics clustering resultshbc_st_analyses.ipynb — visualize and analyze aligned mixed-membership resultshbc_st_gs.ipynb — gene signature / feature-level analysis of HBC resultsPBMC 10K multiome (cross-modal)
pbmc10k_multiomic_mmc_aligned.ipynb — cross-modal clustering analysis on PBMC 10K multiome dataUpstream clustering scripts
run_scanpy_clustering.py — generate scRNA-seq clustering results with Scanpyrun_seurat_clustering.R — generate scRNA-seq clustering results with Seuratrun_fasttopics_clustering.R — generate mixed-membership clustering results with FastTopicsIf you encounter any issues using the tool, have suggestions for additional functions to include in the package, or have general feedback on our method, please contact the author at xiran_liu1 at brown dot edu.
pypistats · 50 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-19 – 2026-10-19 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-18 – 2026-10-18 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-17 – 2026-10-17 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-16 – 2026-10-16 | 6 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-15 – 2026-10-15 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-14 – 2026-10-14 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-13 – 2026-10-13 | 4 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-12 – 2026-10-12 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-11 – 2026-10-11 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-10 – 2026-10-10 | 16 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-09 – 2026-10-09 | 11 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-08 – 2026-10-08 | 3 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-07 – 2026-10-07 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-06 – 2026-10-06 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-10-01 – 2026-10-01 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-30 – 2026-09-30 | 14 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-29 – 2026-09-29 | 2 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-28 – 2026-09-28 | 13 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-27 – 2026-09-27 | 3 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-26 – 2026-09-26 | 4 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-25 – 2026-09-25 | 5 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-24 – 2026-09-24 | 12 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-23 – 2026-09-23 | 2 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-22 – 2026-09-22 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-18 – 2026-09-18 | 17 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-12 – 2026-09-12 | 3 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-10 – 2026-09-10 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-09 – 2026-09-09 | 2 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-06 – 2026-09-06 | 6 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-03 – 2026-09-03 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-09-01 – 2026-09-01 | 5 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-31 – 2026-08-31 | 2 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-29 – 2026-08-29 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-28 – 2026-08-28 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-24 – 2026-08-24 | 15 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-23 – 2026-08-23 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-20 – 2026-08-20 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-19 – 2026-08-19 | 2 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-18 – 2026-08-18 | 54 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-17 – 2026-08-17 | 8 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-14 – 2026-08-14 | 4 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-09 – 2026-08-09 | 6 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-07 – 2026-08-07 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-04 – 2026-08-04 | 9 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-03 – 2026-08-03 | 12 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-02 – 2026-08-02 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-08-01 – 2026-08-01 | 1 | 2026-10-20T22:59:55.7880834Z |
| 2026-07-27 – 2026-07-27 | 2 | 2026-10-20T22:59:55.7880834Z |
| 2026-07-25 – 2026-07-25 | 2 | 2026-10-20T22:59:55.7880834Z |
| 2026-07-23 – 2026-07-23 | 3 | 2026-10-20T22:59:55.7880834Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.2 | 8 May 2026 | 6 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 18:09 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:2658c49333af283972ac42582ac6c8c1048f951efb6548b21c23cbdb1114b2cc