$npx -y skills add GPTomics/bioSkills --skill co-accessibilityInfer cis-regulatory connections (peak-to-peak co-accessibility) from scATAC-seq using Cicero, ArchR getCoAccessibility, or SCENIC+. Use when linking enhancer accessibility to promoter accessibility, identifying enhancer-gene pairs from chromatin alone (without paired RNA), runni
| 1 | ## Version Compatibility |
| 2 | |
| 3 | Reference examples tested with: Cicero 1.20+, monocle3 1.3+, ArchR 1.0.2+, SCENIC+ 1.0+, pycisTopic 1.0+, Signac 1.13+, GenomicRanges 1.54+, GenomicInteractions 1.36+, BSgenome.Hsapiens.UCSC.hg38 1.4+. |
| 4 | |
| 5 | Verify before use: |
| 6 | - R: `packageVersion('<pkg>')` then `?function_name` to verify parameters |
| 7 | - Python: `pip show <package>` then `help(module.function)` to check signatures |
| 8 | |
| 9 | If code throws unexpected errors, introspect the installed package and adapt rather than retrying. |
| 10 | |
| 11 | # Co-accessibility (cis-Regulatory Linkage) |
| 12 | |
| 13 | **"Which enhancers connect to which promoters in my scATAC data?"** -> Use cell-to-cell variability in joint accessibility of nearby peaks to infer cis-regulatory connections without explicit RNA expression. Output is a peak-pair graph with co-accessibility scores; thresholding produces enhancer-gene candidate pairs. |
| 14 | |
| 15 | - R: `cicero::run_cicero(input_cds, genomic_coords)` -> peak-pair connection scores |
| 16 | - R: `ArchR::addCoAccessibility(proj)` -> ArchR-internal Cicero wrapper |
| 17 | - Python: `pycisTopic` + `SCENIC+` for network-level inference combining ATAC + RNA + motifs |
| 18 | |
| 19 | Co-accessibility is NOT 3D contact; it's a statistical association based on cell-to-cell co-variation. Strong co-accessibility correlates with Hi-C/Micro-C contacts (~30-50% concordance) but is not equivalent. |
| 20 | |
| 21 | ## What Co-accessibility Captures vs What It Doesn't |
| 22 | |
| 23 | | Captures | Misses | |
| 24 | |----------|--------| |
| 25 | | Peak pairs that vary together across cell states | 3D physical contacts that don't vary in accessibility | |
| 26 | | Cis-regulatory grammar within a cell type | Trans-chromosomal interactions | |
| 27 | | Active enhancer-promoter pairs | Constitutive structural contacts | |
| 28 | | Lineage-specific regulation | Developmental contacts that opened before scATAC sample | |
| 29 | | Distance-decay biology of enhancer-promoter | Hub enhancers that contact many distal targets | |
| 30 | |
| 31 | For physical contact, use Hi-C, Micro-C, or PCHi-C. Co-accessibility is the chromatin-only proxy. |
| 32 | |
| 33 | ## Algorithmic Taxonomy |
| 34 | |
| 35 | | Tool | Method | Input | Output | Strength | Fails when | |
| 36 | |------|--------|-------|--------|----------|------------| |
| 37 | | Cicero (Pliner 2018) | Graphical lasso on aggregated cell metacells | scATAC peak-cell matrix + cell trajectory | Peak-pair connection score (0-1) | Original, well-validated; integrates with Monocle3 | Slow on >50K cells; sensitive to alpha tuning | |
| 38 | | ArchR getCoAccessibility | Cicero-based; uses ArchR's metacell aggregation | ArchR project | Same as Cicero | Built-in to ArchR pipeline; faster on large datasets | Tied to ArchR; same biology as Cicero | |
| 39 | | SCENIC+ (Bravo 2023) | Multi-step: co-accessibility + motif scoring + RNA correlation | Multiome (ATAC + RNA) or paired | TF-driven enhancer-gene networks | Most comprehensive; multi-modal | Multiome data required; computationally heavy | |
| 40 | | LinkPeaks (Signac) | Pearson correlation of accessibility with paired gene expression | Multiome | Peak-gene linkage score | Direct enhancer-gene from RNA correlation | Multiome-only; not pure ATAC | |
| 41 | | GeneHancer / FANTOM5 / EpiMap | Bulk-derived enhancer-gene reference | None (database lookup) | Pre-computed enhancer-gene pairs | Comprehensive; published references | Cell-type-agnostic; may not match the biology of interest | |
| 42 | |
| 43 | Methodology evolves; verify against Pliner 2018 (Cicero), Bravo 2023 (SCENIC+), Nasser 2021 (ABC model alternative for enhancer-gene), and current Hi-C concordance benchmarks. |
| 44 | |
| 45 | ## How Cicero Works (Conceptually) |
| 46 | |
| 47 | Cell-to-cell variability is too sparse for direct correlation. Cicero solves this via metacells: |
| 48 | |
| 49 | 1. Reduce dimensionality (UMAP from input). |
| 50 | 2. Build k-NN graph of cells. |
| 51 | 3. Aggregate k cells into metacells (default k = 50). |
| 52 | 4. Compute correlation in accessibility across metacells, restricted to peak pairs within `genomic_distance_max` (default 500 kb cis). |
| 53 | 5. Apply graphical lasso with regularization `alpha` to sparsify the correlation matrix. |
| 54 | 6. Output: per-pair connection score; positive = co-variation, negative = anti-co-variation. |
| 55 | |
| 56 | Connection thresholds typically 0.05-0.5; > 0.25 is high-confidence. |
| 57 | |
| 58 | ## Per-Tool Failure Modes |
| 59 | |
| 60 | ### Cicero -- alpha tuning shifts results |
| 61 | |
| 62 | **Trigger:** Default alpha (sometimes computed automatically from data); custom alpha < 0.5 or > 5. |
| 63 | |
| 64 | **Mechanism:** Alpha controls graphical lasso regularization. Too low: dense graph with many spurious connections; too high: sparse with biology missing. |
| 65 | |
| 66 | **Symptom:** Connection count varies 10-100x across alpha sweeps. |
| 67 | |
| 68 | **Fix:** Use Cicero's `estimat |