Peak–gene correlation methods

This page describes the models of the optional peak–gene correlation module. Peak–gene correlation describes its prerequisites, configuration and outputs, and its settings and defaults are listed in the parameter browser.

Pseudobulks and support filters

The optional peak–gene correlation module runs separately in each assigned WNN annotation class of at least 200 nuclei. It requires donor identifiers and per-nucleus GEX and ATAC depth metadata. Classes without them are skipped, and the reason is recorded. Consensus ATAC peaks are paired with gene transcription start sites (TSSs) on the same chromosome within 250 kb of the peak center. Each pair is classified as self-promoter (−1,500 to +500 bp around the TSS), gene-body, proximal (within 10 kb) or distal. Within each class, nuclei of donors contributing at least 40 nuclei are split into mutually exclusive ATAC-state bins. The bins come from k-means clustering of scaled ATAC LSI dimensions 2–20, Harmony-corrected where configured. The number of bins is the median number of nuclei per donor divided by 20, rounded down and capped at 20. Counts are summed within each donor–state combination to create non-overlapping pseudobulks. Unlike ArchR’s overlapping nearest-neighbor aggregates, which reuse nuclei, disjoint donor–state pseudobulks keep samples independent and donors identifiable (Granja et al. 2021). Pseudobulks of fewer than 20 nuclei are dropped. Donors and states are then removed in repeated rounds until every donor contributes at least two states.

GEX and ATAC pseudobulk counts are separately scaled to counts per million, using the pseudobulk depth from the metadata, and log1p-transformed. Genes and peaks must be detected in at least 5% of pseudobulks. Each chromosome’s analysis requires at least 10 pseudobulks and 5 residual degrees of freedom. A measurement-support filter then removes peak–gene pairs whose gene and peak are not both supported. Like edgeR::filterByExpr(), it drops pairs too sparsely measured for reliable inference, which also cuts runtime and the multiple-testing burden (Chen et al. 2025). Its count thresholds are scaled by each pseudobulk’s depth relative to the class median, but never fall below 2. The gene and the peak must each reach their thresholds in at least the larger of a minimum number and a fraction of the pseudobulks. They must also do so in at least two pseudobulks of each of a minimum number of shared donors. The lenient preset requires RNA and ATAC counts of at least 5 and 3, the larger of 6 pseudobulks and 10% of them, and two shared donors. The default moderate preset raises the counts to 10 and 5. The strict preset also requires the larger of 10 pseudobulks and 20% of them, and three shared donors with three supporting pseudobulks each. Excluded pairs are never tested and do not enter the multiple-testing family.

Source and target graph

extra_targets/module_peak_gene_correlation/targets.R maps only opted-in aggregations and binds the primary-module inputs they consume. Parameters use the peak_gene_correlation manifest scope, targets end in .peak_gene_correlation.<aggregation>, and plot checkpoint tags use peak_gene_correlation, outside the numbered QC selections.

Source: extra_targets/module_peak_gene_correlation/, R/peak_gene_correlation_helpers.R, R/peak_gene_filter_helpers.R, R/peak_gene_hierarchical_helpers.R, R/peak_gene_finemapping_helpers.R, src/peak_gene_REML.cpp.

This view covers the TSS table, candidate peak–gene pairs, the WNN cell groups, donor–state pseudobulk construction, measurement-support filtering, the per-chromosome analysis branches and the diagnostic and top-link outputs.

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryTextColor': '#1f2937',
    'lineColor': '#4b5563',
    'clusterBkg': '#f8fafc',
    'clusterBorder': '#cbd5e1',
    'edgeLabelBackground': '#ffffff00',
    'fontFamily': 'Helvetica, Arial, sans-serif'
  },
  'flowchart': {
    'defaultRenderer': 'elk'
  },
  'themeCSS': '.cluster rect { fill: #f8fafc !important; stroke: #cbd5e1 !important; } .cluster-label text, .cluster-label span { font-weight: 700 !important; font-size: 16px !important; fill: #475569 !important; color: #475569 !important; }'
}}%%
%%{init: {'flowchart': {'defaultRenderer': 'elk'}}}%%
flowchart TB
  peak_gene_correlation_hierarchical_results_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_hierarchical_results_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> correlation_histogram_plot.peak_gene_correlation.immune_human_2x(["correlation_histogram_plot.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_diagnostics_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_diagnostics_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> diagnostics_plot.peak_gene_correlation.immune_human_2x(["diagnostics_plot.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_hierarchical_results_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_hierarchical_results_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> distance_correlation_plot.peak_gene_correlation.immune_human_2x(["distance_correlation_plot.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_filter_diagnostics_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_filter_diagnostics_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> filter_retention_plot.peak_gene_correlation.immune_human_2x(["filter_retention_plot.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_donor_state_aggregates_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_donor_state_aggregates_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_aggregate_groups_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_aggregate_groups_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_ATAC_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_ATAC_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_GEX_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_GEX_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_candidate_pairs_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_candidate_pairs_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_ATAC_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_ATAC_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_chromosome_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_chromosome_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_ATAC_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_ATAC_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_donor_state_aggregates_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_donor_state_aggregates_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_ATAC_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_ATAC_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_normalized_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_normalized_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_branch_diagnostics_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_branch_diagnostics_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_filter_records.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_filter_records.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_branch_diagnostics_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_branch_diagnostics_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_gene_TSS_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_gene_TSS_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_candidate_pairs_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_candidate_pairs_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_candidate_pairs_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_candidate_pairs_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_chromosome_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_chromosome_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_branch_diagnostics_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_branch_diagnostics_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_diagnostics_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_diagnostics_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_donor_state_diagnostics_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_donor_state_diagnostics_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_diagnostics_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_diagnostics_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_cell_group_diagnostics_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_cell_group_diagnostics_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_diagnostics_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_diagnostics_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_donor_state_records.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_donor_state_records.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_donor_state_aggregates_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_donor_state_aggregates_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_donor_state_records.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_donor_state_records.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_donor_state_diagnostics_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_donor_state_diagnostics_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_cell_groups_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_cell_groups_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_donor_state_records.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_donor_state_records.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_filter_records.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_filter_records.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_filter_diagnostics_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_filter_diagnostics_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_candidate_pairs_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_candidate_pairs_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_filter_records.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_filter_records.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_normalized_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_normalized_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_filter_records.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_filter_records.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_filter_records.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_filter_records.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_finemapped_links_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_finemapped_links_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_finemapped_links_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_finemapped_links_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_finemapping_reference.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_finemapping_reference.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_finemapped_links_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_finemapped_links_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_normalized_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_normalized_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_finemapped_links_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_finemapped_links_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_hierarchical_results_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_hierarchical_results_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_finemapped_links_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_finemapped_links_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_hierarchical_results_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_hierarchical_results_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_finemapping_reference.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_finemapping_reference.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_candidate_pairs_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_candidate_pairs_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_GEX_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_GEX_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_aggregate_groups_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_aggregate_groups_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_GEX_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_GEX_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_hierarchical_results_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_hierarchical_results_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_hierarchical_results_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_hierarchical_results_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_REML_native_source_file.peak_gene_correlation.immune_human_2x(["peak_gene_REML_native_source_file.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_hierarchical_results_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_hierarchical_results_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_filter_records.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_filter_records.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_hierarchical_results_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_hierarchical_results_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_normalized_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_normalized_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_hierarchical_results_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_hierarchical_results_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_ATAC_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_ATAC_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_latent_factor_grams.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_latent_factor_grams.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_donor_state_aggregates_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_donor_state_aggregates_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_latent_factor_grams.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_latent_factor_grams.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_donor_state_aggregates_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_donor_state_aggregates_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_latent_factors.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_latent_factors.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_latent_factor_grams.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_latent_factor_grams.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_latent_factors.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_latent_factors.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_hierarchical_results_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_hierarchical_results_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_links_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_links_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_normalized_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_normalized_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_latent_factors.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_latent_factors.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_normalized_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_normalized_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_top_gene_context_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_gene_context_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_top_gene_context_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_gene_context_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_top_links_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_links_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_top_gene_context_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_gene_context_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_hierarchical_results_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_hierarchical_results_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_top_gene_context_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_gene_context_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_top_links_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_links_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_top_link_aggregate_scatter_tibble.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_aggregate_scatter_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_top_link_aggregate_values_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_link_aggregate_values_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_top_link_aggregate_scatter_tibble.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_aggregate_scatter_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_top_link_aggregate_values_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_aggregate_values_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_top_link_aggregate_values_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_link_aggregate_values_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_normalized_aggregate_matrices.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_normalized_aggregate_matrices.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_top_link_aggregate_values_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_aggregate_values_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_top_links_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_links_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_top_link_aggregate_values_tibbles.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_aggregate_values_tibbles.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_top_link_plot_data.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_plot_data.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> peak_gene_correlation_top_link_focal_ATAC_coverage_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_link_focal_ATAC_coverage_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_top_links_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_links_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_top_link_plot_data.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_plot_data.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_top_gene_context_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_gene_context_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_top_link_plot_data.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_plot_data.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_hierarchical_results_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_hierarchical_results_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> peak_gene_correlation_top_links_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_links_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_donor_state_aggregates_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_donor_state_aggregates_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> significant_pairs_technical_features_tibble.WNN.peak_gene_correlation.immune_human_2x(["significant_pairs_technical_features_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_hierarchical_results_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_hierarchical_results_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> significant_pairs_technical_features_tibble.WNN.peak_gene_correlation.immune_human_2x(["significant_pairs_technical_features_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  significant_pairs_technical_features_tibble.WNN.peak_gene_correlation.immune_human_2x(["significant_pairs_technical_features_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> significant_pairs_vs_technical_features_plot.peak_gene_correlation.immune_human_2x(["significant_pairs_vs_technical_features_plot.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_hierarchical_results_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_hierarchical_results_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> support_counts_plot.peak_gene_correlation.immune_human_2x(["support_counts_plot.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none
  peak_gene_correlation_top_link_focal_ATAC_coverage_tibble.WNN.peak_gene_correlation.immune_human_2x(["peak_gene_correlation_top_link_focal_ATAC_coverage_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]):::none --> top_link_aggregate_scatter_plots.peak_gene_correlation.immune_human_2x["top_link_aggregate_scatter_plots.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_top_link_plot_data.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_plot_data.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> top_link_aggregate_scatter_plots.peak_gene_correlation.immune_human_2x["top_link_aggregate_scatter_plots.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none
  peak_gene_correlation_top_link_aggregate_scatter_tibble.WNN.peak_gene_correlation.immune_human_2x["peak_gene_correlation_top_link_aggregate_scatter_tibble.WNN.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none --> top_link_aggregate_scatter_plots.peak_gene_correlation.immune_human_2x["top_link_aggregate_scatter_plots.&lt;module_name&gt;.&lt;aggregation_name&gt;"]:::none

Chen, Yunshun, Lizhong Chen, Aaron T. L. Lun, Pedro L. Baldoni, and Gordon K. Smyth. 2025. “edgeR V4: Powerful Differential Analysis of Sequencing Data with Expanded Functionality and Improved Support for Small Counts and Larger Datasets.” Nucleic Acids Research 53 (2): gkaf018. https://doi.org/10.1093/nar/gkaf018.
Granja, Jeffrey M., M. Ryan Corces, Sarah E. Pierce, et al. 2021. “ArchR Is a Scalable Software Package for Integrative Single-Cell Chromatin Accessibility Analysis.” Nature Genetics 53 (3): 403–11. https://doi.org/10.1038/s41588-021-00790-6.
Kenward, Michael G., and James H. Roger. 1997. “Small Sample Inference for Fixed Effects from Restricted Maximum Likelihood.” Biometrics 53 (3): 983–97. https://doi.org/10.2307/2533558.
Pliner, Hannah A., Jonathan S. Packer, José L. McFaline-Figueroa, et al. 2018. “Cicero Predicts Cis-Regulatory DNA Interactions from Single-Cell Chromatin Accessibility Data.” Molecular Cell 71 (5): 858–871.e8. https://doi.org/10.1016/j.molcel.2018.06.044.
Stuart, Tim, Avi Srivastava, Shaista Madad, Caleb A. Lareau, and Rahul Satija. 2021. “Single-Cell Chromatin State Analysis with Signac.” Nature Methods 18 (11): 1333–41. https://doi.org/10.1038/s41592-021-01282-5.
Wang, Gao, Abhishek Sarkar, Peter Carbonetto, and Matthew Stephens. 2020. “A Simple New Approach to Variable Selection in Regression, with Application to Genetic Fine Mapping.” Journal of the Royal Statistical Society: Series B (Statistical Methodology) 82 (5): 1273–300. https://doi.org/10.1111/rssb.12388.