CIRCE-logo Remi-Trimbour 2024

CIRCE: Cis-regulatory interactions between chromatin regions¶

Unit Tests Wheels codecov PyPI version Downloads

CIRCE is a Python package for inferring co-accessibility networks from single-cell ATAC-seq data, using skggm for the graphical lasso and scanpy for data processing.

You can check our paper here for more details! 😊
https://doi.org/10.1093/bioinformatics/btag092

While updating the preprocessing, the algorithm is based on the pipeline and hypotheses presented in the manuscript Cicero Predicts cis-Regulatory DNA Interactions from Single-Cell Chromatin Accessibility Data by Pliner et al. (2018). The original R package Cicero is available here.

Note

In case you encounter any trouble, check out the CIRCE GitHub repo.

Installation¶

The package can be installed using pip:

pip install circe-py

or directly from GitHub:

pip install "git+https://github.com/cantinilab/circe.git"

Minimal example¶

import anndata as ad
import circe as ci

# Load the data
atac = ad.read_h5ad('atac_data.h5ad')
atac = ci.add_region_infos(atac)

# Compute the co-accessibility network
ci.compute_atac_network(atac)

# Extract the network and find CCANs modules
circe_network = ci.extract_atac_links(atac)
ccans_module = ci.find_ccans(atac)

Visualisation¶

fig, ax = plt.subplots(1, figsize = (20, 6))
genes_df = ci.downloads.download_genes()

ci.draw.plot_connections_genes(
    connections=atac,  # Main parameters
    genes=genes_df,
    chromosome="chr1",
    start=50_000,
    end=300_000,
    gene_spacing=30_000,
    abs_threshold=0.0,
    y_lim_top=-0.01,   # Visual parameters
    track_spacing=0.01,
    track_width=0.01,
    ax=ax
)
https://github.com/cantinilab/circe/raw/main/Figures/circe_figure_genes_access.png

Benchmark & comparison to the Cicero R package¶

All tests run in the preprint can be found in the CIRCE benchmark repo..

Metacells computation might cause differences, but scores will be identical when applied to the same metacells (cf. comparison plots below). It should run significantly faster than Cicero (e.g., running time of 5 sec instead of 17 min for dataset 2). On the same metacells obtained from the Cicero code.

Real dataset 2 - subsample of 10x PBMC (2021)¶

  • Pearson correlation coefficient: 0.999958

  • Spearman correlation coefficient: 0.999911

https://github.com/cantinilab/circe/raw/main/Figures/correlation_real_dataset2.png

Performance on real dataset 2:

  • Runtime: ~100x faster

  • Memory usage: ~5x less

https://github.com/cantinilab/circe/raw/main/Figures/perf_real_dataset2.png

Coming¶

  • Gene activity

  • Complete integration in HuMMuS GRN inference pipeline

Citation¶

Trimbour R., Saez-Rodriguez J., Cantini L. (2026). CIRCE: a scalable Python package to predict cis-regulatory DNA interactions from single-cell chromatin accessibility data. Bioinformatics, 42(3), btag092. https://doi.org/10.1093/bioinformatics/btag092