6  Main pipeline

The root _targets.R creates GEM-well, derived QC-group, and aggregation mapping rows, then maps target fragments from extra_targets/. Use the diagrams to find the relevant stage, then inspect the corresponding source file for the complete command and resource declaration.

Stage Primary source
GEM well preprocessing extra_targets/per_GEM_well_targets.R
Cross-GEM-well QC summaries extra_targets/per_dataset_targets.R
Aggregation setup and shared QC extra_targets/general_aggregation_targets.R
GEX extra_targets/GEX_merge_and_dim_reduc_targets.R, extra_targets/GEX_graph_and_cluster_targets.R
ATAC extra_targets/ATAC_targets.R
WNN extra_targets/WNN_targets.R
Compatibility export extra_targets/Seurat_Signac_export_targets.R
Subgroups extra_targets/subgroups.R

6.1 Parallel pre-processing

This view covers per GEM well processing and QC, including optional ambient RNA correction, donor demultiplexing, doublet detection, barcode filtering, and handoffs into aggregation-level GEX and ATAC objects.

%%{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
  cellranger_barcodes_tsv.healthy_PBMC_human(["cellranger_barcodes_tsv.<GEM_well_ID>"]):::none --> amulet_metrics_tibble.healthy_PBMC_human(["amulet_metrics_tibble.<GEM_well_ID>"]):::none
  cellranger_barcodes_tsv.healthy_PBMC_human(["cellranger_barcodes_tsv.<GEM_well_ID>"]):::none --> cellsnp_dir.healthy_PBMC_human(["cellsnp_dir.<GEM_well_ID>"]):::none
  full_metadata_tibble.healthy_PBMC_human(["full_metadata_tibble.<GEM_well_ID>"]):::none --> excluded_cellranger_only_barcodes_by_type_list.healthy_PBMC_human(["excluded_cellranger_only_barcodes_by_type_list.<GEM_well_ID>"]):::none
  vireo_donor_ids_tibble.healthy_PBMC_human(["vireo_donor_ids_tibble.<GEM_well_ID>"]):::none --> full_metadata_tibble.healthy_PBMC_human(["full_metadata_tibble.<GEM_well_ID>"]):::none
  amulet_metrics_tibble.healthy_PBMC_human(["amulet_metrics_tibble.<GEM_well_ID>"]):::none --> full_metadata_tibble.healthy_PBMC_human(["full_metadata_tibble.<GEM_well_ID>"]):::none
  ATAC_qc_metrics_tibble.healthy_PBMC_human(["ATAC_qc_metrics_tibble.<GEM_well_ID>"]):::none --> full_metadata_tibble.healthy_PBMC_human(["full_metadata_tibble.<GEM_well_ID>"]):::none
  cellbender_h5_file.healthy_PBMC_human(["cellbender_h5_file.<GEM_well_ID>"]):::none --> GEX_counts_BPcells_matrix_dir.healthy_PBMC_human(["GEX_counts_BPcells_matrix_dir.<GEM_well_ID>"]):::none
  cellsnp_dir.healthy_PBMC_human(["cellsnp_dir.<GEM_well_ID>"]):::none --> vireo_donor_ids_tibble.healthy_PBMC_human(["vireo_donor_ids_tibble.<GEM_well_ID>"]):::none
  cellranger_barcodes_tsv.healthy_PBMC_human(["cellranger_barcodes_tsv.<GEM_well_ID>"]):::none --> vireo_donor_ids_tibble.healthy_PBMC_human(["vireo_donor_ids_tibble.<GEM_well_ID>"]):::none
  fragments_w_prefix_bpcells_dir.healthy_PBMC_human(["fragments_w_prefix_bpcells_dir.<GEM_well_ID>"]):::none --> amulet_metrics_tibble.healthy_PBMC_human(["amulet_metrics_tibble.<GEM_well_ID>"]):::none
  fragments_w_prefix_bpcells_dir.healthy_PBMC_human(["fragments_w_prefix_bpcells_dir.<GEM_well_ID>"]):::none --> ATAC_qc_metrics_tibble.healthy_PBMC_human(["ATAC_qc_metrics_tibble.<GEM_well_ID>"]):::none
  fragments_w_prefix_bpcells_dir.healthy_PBMC_human(["fragments_w_prefix_bpcells_dir.<GEM_well_ID>"]):::none --> combined_BPCells_fragment_obj.ATAC.immune_human_2x(["combined_BPCells_fragment_obj.ATAC.<aggregation_name>"]):::none
  GEX_counts_BPcells_matrix_dir.healthy_PBMC_human(["GEX_counts_BPcells_matrix_dir.<GEM_well_ID>"]):::none --> full_metadata_tibble.healthy_PBMC_human(["full_metadata_tibble.<GEM_well_ID>"]):::none
  GEX_counts_BPcells_matrix_dir.healthy_PBMC_human(["GEX_counts_BPcells_matrix_dir.<GEM_well_ID>"]):::none --> aggregated_GEX_BPCells_matrix_dir.GEX.immune_human_2x(["aggregated_GEX_BPCells_matrix_dir.GEX.<aggregation_name>"]):::none
  donor_id_metadata_tibble.immune_human_2x(["donor_id_metadata_tibble.<aggregation_name>"]):::none

6.2 GEX processing

This view covers merged RNA processing, clustering, marker detection, cell type annotation, and GEX review 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
  PCA_BPCells.GEX.immune_human_2x(["PCA_BPCells.GEX.<aggregation_name>"]):::none --> harmony_embeddings_matrix.GEX.immune_human_2x(["harmony_embeddings_matrix.GEX.<aggregation_name>"]):::none
  PCA_BPCells.GEX.immune_human_2x(["PCA_BPCells.GEX.<aggregation_name>"]):::none --> metadata_tibble.GEX.immune_human_2x(["metadata_tibble.GEX.<aggregation_name>"]):::none
  scDblFinder_results_df.GEX.immune_human_2x(["scDblFinder_results_df.GEX.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none
  harmony_embeddings_matrix.GEX.immune_human_2x(["harmony_embeddings_matrix.GEX.<aggregation_name>"]):::none --> PCA_clusters.GEX.immune_human_2x(["PCA_clusters.GEX.<aggregation_name>"]):::none
  PCA_BPCells.GEX.immune_human_2x(["PCA_BPCells.GEX.<aggregation_name>"]):::none --> UMAP_embeddings_tibble.GEX_non_harmony.immune_human_2x(["UMAP_embeddings_tibble.GEX_non_harmony.<aggregation_name>"]):::none
  harmony_embeddings_matrix.GEX.immune_human_2x(["harmony_embeddings_matrix.GEX.<aggregation_name>"]):::none --> UMAP_embeddings_tibble.GEX.immune_human_2x(["UMAP_embeddings_tibble.GEX.<aggregation_name>"]):::none
  aggregated_GEX_BPCells_matrix_dir.GEX.immune_human_2x(["aggregated_GEX_BPCells_matrix_dir.GEX.<aggregation_name>"]):::none --> PCA_BPCells.GEX.immune_human_2x(["PCA_BPCells.GEX.<aggregation_name>"]):::none
  aggregated_GEX_BPCells_matrix_dir.GEX.immune_human_2x(["aggregated_GEX_BPCells_matrix_dir.GEX.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none
  aggregated_GEX_BPCells_matrix_dir.GEX.immune_human_2x(["aggregated_GEX_BPCells_matrix_dir.GEX.<aggregation_name>"]):::none --> scDblFinder_results_df.GEX.immune_human_2x(["scDblFinder_results_df.GEX.<aggregation_name>"]):::none
  donor_id_metadata_tibble.immune_human_2x(["donor_id_metadata_tibble.<aggregation_name>"]):::none --> harmony_embeddings_matrix.GEX.immune_human_2x(["harmony_embeddings_matrix.GEX.<aggregation_name>"]):::none
  donor_id_metadata_tibble.immune_human_2x(["donor_id_metadata_tibble.<aggregation_name>"]):::none --> PCA_BPCells.GEX.immune_human_2x(["PCA_BPCells.GEX.<aggregation_name>"]):::none
  metadata_tibble.GEX.immune_human_2x(["metadata_tibble.GEX.<aggregation_name>"]):::none --> harmony_embeddings_matrix.GEX.immune_human_2x(["harmony_embeddings_matrix.GEX.<aggregation_name>"]):::none
  UCell_GEX_marker_genes_list.immune_human_2x(["UCell_GEX_marker_genes_list.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none
  metadata_tibble.GEX.immune_human_2x(["metadata_tibble.GEX.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none
  PCA_clusters.GEX.immune_human_2x(["PCA_clusters.GEX.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none
  UMAP_embeddings_tibble.GEX.immune_human_2x(["UMAP_embeddings_tibble.GEX.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none
  UMAP_embeddings_tibble.GEX_non_harmony.immune_human_2x(["UMAP_embeddings_tibble.GEX_non_harmony.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none
  UCell_GEX_marker_genes_list.immune_human_2x(["UCell_GEX_marker_genes_list.<aggregation_name>"]):::none --> scDblFinder_results_df.GEX.immune_human_2x(["scDblFinder_results_df.GEX.<aggregation_name>"]):::none
  metadata_tibble.GEX.immune_human_2x(["metadata_tibble.GEX.<aggregation_name>"]):::none --> scDblFinder_results_df.GEX.immune_human_2x(["scDblFinder_results_df.GEX.<aggregation_name>"]):::none
  PCA_clusters.GEX.immune_human_2x(["PCA_clusters.GEX.<aggregation_name>"]):::none --> scDblFinder_results_df.GEX.immune_human_2x(["scDblFinder_results_df.GEX.<aggregation_name>"]):::none
  UMAP_embeddings_tibble.GEX.immune_human_2x(["UMAP_embeddings_tibble.GEX.<aggregation_name>"]):::none --> scDblFinder_results_df.GEX.immune_human_2x(["scDblFinder_results_df.GEX.<aggregation_name>"]):::none
  UMAP_embeddings_tibble.GEX_non_harmony.immune_human_2x(["UMAP_embeddings_tibble.GEX_non_harmony.<aggregation_name>"]):::none --> scDblFinder_results_df.GEX.immune_human_2x(["scDblFinder_results_df.GEX.<aggregation_name>"]):::none

6.3 ATAC processing

This view covers ATAC QC, peak calling, consensus peak construction, chromatin accessibility processing, chromVAR scoring, coverage tracks, and peak-gene links.

%%{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
  UCell_GEX_marker_genes_list.immune_human_2x(["UCell_GEX_marker_genes_list.<aggregation_name>"]):::none --> ATAC_coverage_marker_genes.immune_human_2x(["ATAC_coverage_marker_genes.<aggregation_name>"]):::none
  JASPAR_motif_family_members_tibble(["JASPAR_motif_family_members_tibble"]):::none --> ATAC_marker_motif_families_list.immune_human_2x(["ATAC_marker_motif_families_list.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none --> chromVAR_obj.ATAC.immune_human_2x(["chromVAR_obj.ATAC.<aggregation_name>"]):::none
  consensus_peak_GRanges.ATAC.immune_human_2x(["consensus_peak_GRanges.ATAC.<aggregation_name>"]):::none --> chromVAR_obj.ATAC.immune_human_2x(["chromVAR_obj.ATAC.<aggregation_name>"]):::none
  chromVAR_obj.ATAC.immune_human_2x(["chromVAR_obj.ATAC.<aggregation_name>"]):::none --> chromVAR_TF_motif_family_matrix.ATAC.immune_human_2x(["chromVAR_TF_motif_family_matrix.ATAC.<aggregation_name>"]):::none
  peak_TF_motif_family_matrix.ATAC.immune_human_2x(["peak_TF_motif_family_matrix.ATAC.<aggregation_name>"]):::none --> chromVAR_TF_motif_family_matrix.ATAC.immune_human_2x(["chromVAR_TF_motif_family_matrix.ATAC.<aggregation_name>"]):::none
  consensus_peak_GRanges.ATAC.immune_human_2x(["consensus_peak_GRanges.ATAC.<aggregation_name>"]):::none --> consensus_peak_BPCells_matrix_dir.ATAC.immune_human_2x(["consensus_peak_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none
  combined_BPCells_fragment_obj.ATAC.immune_human_2x(["combined_BPCells_fragment_obj.ATAC.<aggregation_name>"]):::none --> consensus_peak_BPCells_matrix_dir.ATAC.immune_human_2x(["consensus_peak_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none --> consensus_peak_BPCells_matrix_dir.ATAC.immune_human_2x(["consensus_peak_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none
  within_clusters_collapsed_peaks_per_cluster_GRanges.ATAC.immune_human_2x["within_clusters_collapsed_peaks_per_cluster_GRanges.ATAC.<aggregation_name>"]:::none --> consensus_peak_GRanges.ATAC.immune_human_2x(["consensus_peak_GRanges.ATAC.<aggregation_name>"]):::none
  LSI_BPCells.ATAC.immune_human_2x(["LSI_BPCells.ATAC.<aggregation_name>"]):::none --> harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none
  JASPAR2026_vertebrate_familial_root_motifs_tf(["JASPAR2026_vertebrate_familial_root_motifs_tf"]):::none --> JASPAR_familial_root_motif_matrix_list(["JASPAR_familial_root_motif_matrix_list"]):::none
  JASPAR_familial_root_motif_matrix_list(["JASPAR_familial_root_motif_matrix_list"]):::none --> JASPAR_motif_family_members_tibble(["JASPAR_motif_family_members_tibble"]):::none
  JASPAR2026_vertebrate_motif_families_tsv(["JASPAR2026_vertebrate_motif_families_tsv"]):::none --> JASPAR_motif_family_members_tibble(["JASPAR_motif_family_members_tibble"]):::none
  harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none --> LSI_clusters.ATAC.immune_human_2x(["LSI_clusters.ATAC.<aggregation_name>"]):::none
  scDblFinder_results_df.ATAC.immune_human_2x(["scDblFinder_results_df.ATAC.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  consensus_peak_GRanges.ATAC.immune_human_2x(["consensus_peak_GRanges.ATAC.<aggregation_name>"]):::none --> peak_TF_motif_family_matrix.ATAC.immune_human_2x(["peak_TF_motif_family_matrix.ATAC.<aggregation_name>"]):::none
  JASPAR_familial_root_motif_matrix_list(["JASPAR_familial_root_motif_matrix_list"]):::none --> peak_TF_motif_family_matrix.ATAC.immune_human_2x(["peak_TF_motif_family_matrix.ATAC.<aggregation_name>"]):::none
  combined_BPCells_fragment_obj.ATAC.immune_human_2x(["combined_BPCells_fragment_obj.ATAC.<aggregation_name>"]):::none --> peaks_per_cluster_narrowPeaks.peaks.ATAC.immune_human_2x["peaks_per_cluster_narrowPeaks.peaks.ATAC.<aggregation_name>"]:::none
  harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none --> UMAP_embeddings_tibble.ATAC.immune_human_2x(["UMAP_embeddings_tibble.ATAC.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none --> peaks_per_cluster_narrowPeaks.peaks.ATAC.immune_human_2x["peaks_per_cluster_narrowPeaks.peaks.ATAC.<aggregation_name>"]:::none
  chromVAR_obj.ATAC.immune_human_2x(["chromVAR_obj.ATAC.<aggregation_name>"]):::none --> motif_family_accessibility_BPCells_matrix_dir.ATAC.immune_human_2x(["motif_family_accessibility_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none
  consensus_peak_BPCells_matrix_dir.ATAC.immune_human_2x(["consensus_peak_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none --> chromVAR_obj.ATAC.immune_human_2x(["chromVAR_obj.ATAC.<aggregation_name>"]):::none
  consensus_peak_BPCells_matrix_dir.ATAC.immune_human_2x(["consensus_peak_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none --> peak_TF_motif_family_matrix.ATAC.immune_human_2x(["peak_TF_motif_family_matrix.ATAC.<aggregation_name>"]):::none
  consensus_peak_BPCells_matrix_dir.ATAC.immune_human_2x(["consensus_peak_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none --> LSI_BPCells.ATAC.immune_human_2x(["LSI_BPCells.ATAC.<aggregation_name>"]):::none
  consensus_peak_BPCells_matrix_dir.ATAC.immune_human_2x(["consensus_peak_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none --> harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none
  consensus_peak_BPCells_matrix_dir.ATAC.immune_human_2x(["consensus_peak_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none --> scDblFinder_results_df.ATAC.immune_human_2x(["scDblFinder_results_df.ATAC.<aggregation_name>"]):::none
  consensus_peak_BPCells_matrix_dir.ATAC.immune_human_2x(["consensus_peak_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  LSI_BPCells.ATAC.immune_human_2x(["LSI_BPCells.ATAC.<aggregation_name>"]):::none --> scDblFinder_results_df.ATAC.immune_human_2x(["scDblFinder_results_df.ATAC.<aggregation_name>"]):::none
  consensus_peak_GRanges.ATAC.immune_human_2x(["consensus_peak_GRanges.ATAC.<aggregation_name>"]):::none --> harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none
  combined_BPCells_fragment_obj.ATAC.immune_human_2x(["combined_BPCells_fragment_obj.ATAC.<aggregation_name>"]):::none --> harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none --> harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none
  consensus_peak_GRanges.ATAC.immune_human_2x(["consensus_peak_GRanges.ATAC.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  combined_BPCells_fragment_obj.ATAC.immune_human_2x(["combined_BPCells_fragment_obj.ATAC.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  consensus_peak_GRanges.ATAC.immune_human_2x(["consensus_peak_GRanges.ATAC.<aggregation_name>"]):::none --> scDblFinder_results_df.ATAC.immune_human_2x(["scDblFinder_results_df.ATAC.<aggregation_name>"]):::none
  combined_BPCells_fragment_obj.ATAC.immune_human_2x(["combined_BPCells_fragment_obj.ATAC.<aggregation_name>"]):::none --> scDblFinder_results_df.ATAC.immune_human_2x(["scDblFinder_results_df.ATAC.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none --> scDblFinder_results_df.ATAC.immune_human_2x(["scDblFinder_results_df.ATAC.<aggregation_name>"]):::none
  UCell_GEX_marker_genes_list.immune_human_2x(["UCell_GEX_marker_genes_list.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  UMAP_embeddings_tibble.ATAC.immune_human_2x(["UMAP_embeddings_tibble.ATAC.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  LSI_clusters.ATAC.immune_human_2x(["LSI_clusters.ATAC.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  UCell_GEX_marker_genes_list.immune_human_2x(["UCell_GEX_marker_genes_list.<aggregation_name>"]):::none --> scDblFinder_results_df.ATAC.immune_human_2x(["scDblFinder_results_df.ATAC.<aggregation_name>"]):::none
  UMAP_embeddings_tibble.ATAC.immune_human_2x(["UMAP_embeddings_tibble.ATAC.<aggregation_name>"]):::none --> scDblFinder_results_df.ATAC.immune_human_2x(["scDblFinder_results_df.ATAC.<aggregation_name>"]):::none
  LSI_clusters.ATAC.immune_human_2x(["LSI_clusters.ATAC.<aggregation_name>"]):::none --> scDblFinder_results_df.ATAC.immune_human_2x(["scDblFinder_results_df.ATAC.<aggregation_name>"]):::none
  UCell_GEX_marker_genes_list.immune_human_2x(["UCell_GEX_marker_genes_list.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none
  consensus_peak_GRanges.ATAC.immune_human_2x(["consensus_peak_GRanges.ATAC.<aggregation_name>"]):::none --> LSI_BPCells.ATAC.immune_human_2x(["LSI_BPCells.ATAC.<aggregation_name>"]):::none
  combined_BPCells_fragment_obj.ATAC.immune_human_2x(["combined_BPCells_fragment_obj.ATAC.<aggregation_name>"]):::none --> LSI_BPCells.ATAC.immune_human_2x(["LSI_BPCells.ATAC.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none --> LSI_BPCells.ATAC.immune_human_2x(["LSI_BPCells.ATAC.<aggregation_name>"]):::none
  chromVAR_TF_motif_family_matrix.ATAC.immune_human_2x(["chromVAR_TF_motif_family_matrix.ATAC.<aggregation_name>"]):::none --> motif_family_accessibility_BPCells_matrix_dir.ATAC.immune_human_2x(["motif_family_accessibility_BPCells_matrix_dir.ATAC.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.GEX.immune_human_2x(["metadata_w_cell_types_tibble.GEX.<aggregation_name>"]):::none --> within_clusters_collapsed_peaks_per_cluster_GRanges.ATAC.immune_human_2x["within_clusters_collapsed_peaks_per_cluster_GRanges.ATAC.<aggregation_name>"]:::none
  peaks_per_cluster_narrowPeaks.peaks.ATAC.immune_human_2x["peaks_per_cluster_narrowPeaks.peaks.ATAC.<aggregation_name>"]:::none --> within_clusters_collapsed_peaks_per_cluster_GRanges.ATAC.immune_human_2x["within_clusters_collapsed_peaks_per_cluster_GRanges.ATAC.<aggregation_name>"]:::none

6.4 WNN integration

This view covers GEX and ATAC embedding handoffs, WNN integration, modality weights, cluster comparison, and integrated metadata outputs.

The native implementation, its differences from Seurat, and the maintained similarity thresholds are recorded in Algorithmic implementations, deviations and validation.

%%{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
  harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none --> embedding_matrices.WNN.immune_human_2x(["embedding_matrices.WNN.<aggregation_name>"]):::none
  harmony_embeddings_matrix.GEX.immune_human_2x(["harmony_embeddings_matrix.GEX.<aggregation_name>"]):::none --> embedding_matrices.WNN.immune_human_2x(["embedding_matrices.WNN.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none --> embedding_matrices.WNN.immune_human_2x(["embedding_matrices.WNN.<aggregation_name>"]):::none
  UCell_GEX_marker_genes_list.immune_human_2x(["UCell_GEX_marker_genes_list.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.WNN.immune_human_2x(["metadata_w_cell_types_tibble.WNN.<aggregation_name>"]):::none
  WNN_results.immune_human_2x(["WNN_results.<aggregation_name>"]):::none --> UMAP_embeddings_tibble.WNN.immune_human_2x(["UMAP_embeddings_tibble.WNN.<aggregation_name>"]):::none
  embedding_matrices.WNN.immune_human_2x(["embedding_matrices.WNN.<aggregation_name>"]):::none --> WNN_results.immune_human_2x(["WNN_results.<aggregation_name>"]):::none
  clusters_tibble.WNN.immune_human_2x(["clusters_tibble.WNN.<aggregation_name>"]):::none --> WNN_results.immune_human_2x(["WNN_results.<aggregation_name>"]):::none
  UCell_GEX_marker_genes_list.immune_human_2x(["UCell_GEX_marker_genes_list.<aggregation_name>"]):::none --> harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none
  harmony_embeddings_matrix.GEX.immune_human_2x(["harmony_embeddings_matrix.GEX.<aggregation_name>"]):::none --> harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none
  UCell_GEX_marker_genes_list.immune_human_2x(["UCell_GEX_marker_genes_list.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  harmony_embeddings_matrix.GEX.immune_human_2x(["harmony_embeddings_matrix.GEX.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  embedding_matrices.WNN.immune_human_2x(["embedding_matrices.WNN.<aggregation_name>"]):::none --> clusters_tibble.WNN.immune_human_2x(["clusters_tibble.WNN.<aggregation_name>"]):::none
  harmony_embeddings_matrix.ATAC.immune_human_2x(["harmony_embeddings_matrix.ATAC.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none
  metadata_w_cell_types_tibble.ATAC.immune_human_2x(["metadata_w_cell_types_tibble.ATAC.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.WNN.immune_human_2x(["metadata_w_cell_types_tibble.WNN.<aggregation_name>"]):::none
  UMAP_embeddings_tibble.WNN.immune_human_2x(["UMAP_embeddings_tibble.WNN.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.WNN.immune_human_2x(["metadata_w_cell_types_tibble.WNN.<aggregation_name>"]):::none
  clusters_tibble.WNN.immune_human_2x(["clusters_tibble.WNN.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.WNN.immune_human_2x(["metadata_w_cell_types_tibble.WNN.<aggregation_name>"]):::none
  WNN_results.immune_human_2x(["WNN_results.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.WNN.immune_human_2x(["metadata_w_cell_types_tibble.WNN.<aggregation_name>"]):::none
  harmony_embeddings_matrix.GEX.immune_human_2x(["harmony_embeddings_matrix.GEX.<aggregation_name>"]):::none --> metadata_w_cell_types_tibble.WNN.immune_human_2x(["metadata_w_cell_types_tibble.WNN.<aggregation_name>"]):::none

6.5 Subgroup reprocessing

This view covers optional subgroup-native GEX, ATAC, and WNN reprocessing for sufficiently large parent groups.

%%{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
  WNN_results.subgroups.immune_human_2x["WNN_results.subgroups.<aggregation_name>"]:::none --> clusters_tibble.WNN.subgroups.immune_human_2x["clusters_tibble.WNN.subgroups.<aggregation_name>"]:::none
  harmony_embeddings_matrix.GEX.subgroups.immune_human_2x["harmony_embeddings_matrix.GEX.subgroups.<aggregation_name>"]:::none --> embedding_matrices.subgroups.immune_human_2x["embedding_matrices.subgroups.<aggregation_name>"]:::none
  metadata_tibble.subgroups.immune_human_2x["metadata_tibble.subgroups.<aggregation_name>"]:::none --> embedding_matrices.subgroups.immune_human_2x["embedding_matrices.subgroups.<aggregation_name>"]:::none
  harmony_embeddings_matrix.ATAC.subgroups.immune_human_2x["harmony_embeddings_matrix.ATAC.subgroups.<aggregation_name>"]:::none --> embedding_matrices.subgroups.immune_human_2x["embedding_matrices.subgroups.<aggregation_name>"]:::none
  LSI_BPCells.ATAC.subgroups.immune_human_2x["LSI_BPCells.ATAC.subgroups.<aggregation_name>"]:::none --> harmony_embeddings_matrix.ATAC.subgroups.immune_human_2x["harmony_embeddings_matrix.ATAC.subgroups.<aggregation_name>"]:::none
  metadata_tibble.subgroups.immune_human_2x["metadata_tibble.subgroups.<aggregation_name>"]:::none --> harmony_embeddings_matrix.ATAC.subgroups.immune_human_2x["harmony_embeddings_matrix.ATAC.subgroups.<aggregation_name>"]:::none
  metadata_tibble.subgroups.immune_human_2x["metadata_tibble.subgroups.<aggregation_name>"]:::none --> harmony_embeddings_matrix.GEX.subgroups.immune_human_2x["harmony_embeddings_matrix.GEX.subgroups.<aggregation_name>"]:::none
  PCA_BPCells.GEX.subgroups.immune_human_2x["PCA_BPCells.GEX.subgroups.<aggregation_name>"]:::none --> harmony_embeddings_matrix.GEX.subgroups.immune_human_2x["harmony_embeddings_matrix.GEX.subgroups.<aggregation_name>"]:::none
  metadata_tibble.subgroups.immune_human_2x["metadata_tibble.subgroups.<aggregation_name>"]:::none --> LSI_BPCells.ATAC.subgroups.immune_human_2x["LSI_BPCells.ATAC.subgroups.<aggregation_name>"]:::none
  harmony_embeddings_matrix.ATAC.subgroups.immune_human_2x["harmony_embeddings_matrix.ATAC.subgroups.<aggregation_name>"]:::none --> LSI_clusters.ATAC.subgroups.immune_human_2x["LSI_clusters.ATAC.subgroups.<aggregation_name>"]:::none
  metadata_w_clusters_tibble_filtered.subgroups.immune_human_2x["metadata_w_clusters_tibble_filtered.subgroups.<aggregation_name>"]:::none --> marker_tibbles.subgroups.immune_human_2x["marker_tibbles.subgroups.<aggregation_name>"]:::none
  subgroups_to_process_vec.immune_human_2x(["subgroups_to_process_vec.<aggregation_name>"]):::none --> metadata_tibble.subgroups.immune_human_2x["metadata_tibble.subgroups.<aggregation_name>"]:::none
  metadata_w_clusters_tibble.subgroups.immune_human_2x["metadata_w_clusters_tibble.subgroups.<aggregation_name>"]:::none --> metadata_w_clusters_tibble_filtered.subgroups.immune_human_2x["metadata_w_clusters_tibble_filtered.subgroups.<aggregation_name>"]:::none
  LSI_clusters.ATAC.subgroups.immune_human_2x["LSI_clusters.ATAC.subgroups.<aggregation_name>"]:::none --> metadata_w_clusters_tibble.subgroups.immune_human_2x["metadata_w_clusters_tibble.subgroups.<aggregation_name>"]:::none
  metadata_tibble.subgroups.immune_human_2x["metadata_tibble.subgroups.<aggregation_name>"]:::none --> metadata_w_clusters_tibble.subgroups.immune_human_2x["metadata_w_clusters_tibble.subgroups.<aggregation_name>"]:::none
  PCA_clusters.GEX.subgroups.immune_human_2x["PCA_clusters.GEX.subgroups.<aggregation_name>"]:::none --> metadata_w_clusters_tibble.subgroups.immune_human_2x["metadata_w_clusters_tibble.subgroups.<aggregation_name>"]:::none
  UMAP_embeddings_tibble.ATAC.subgroups.immune_human_2x["UMAP_embeddings_tibble.ATAC.subgroups.<aggregation_name>"]:::none --> metadata_w_clusters_tibble.subgroups.immune_human_2x["metadata_w_clusters_tibble.subgroups.<aggregation_name>"]:::none
  UMAP_embeddings_tibble.WNN.subgroups.immune_human_2x["UMAP_embeddings_tibble.WNN.subgroups.<aggregation_name>"]:::none --> metadata_w_clusters_tibble.subgroups.immune_human_2x["metadata_w_clusters_tibble.subgroups.<aggregation_name>"]:::none
  UMAP_embeddings_tibble.GEX.subgroups.immune_human_2x["UMAP_embeddings_tibble.GEX.subgroups.<aggregation_name>"]:::none --> metadata_w_clusters_tibble.subgroups.immune_human_2x["metadata_w_clusters_tibble.subgroups.<aggregation_name>"]:::none
  WNN_results.subgroups.immune_human_2x["WNN_results.subgroups.<aggregation_name>"]:::none --> metadata_w_clusters_tibble.subgroups.immune_human_2x["metadata_w_clusters_tibble.subgroups.<aggregation_name>"]:::none
  clusters_tibble.WNN.subgroups.immune_human_2x["clusters_tibble.WNN.subgroups.<aggregation_name>"]:::none --> metadata_w_clusters_tibble.subgroups.immune_human_2x["metadata_w_clusters_tibble.subgroups.<aggregation_name>"]:::none
  metadata_tibble.subgroups.immune_human_2x["metadata_tibble.subgroups.<aggregation_name>"]:::none --> PCA_BPCells.GEX.subgroups.immune_human_2x["PCA_BPCells.GEX.subgroups.<aggregation_name>"]:::none
  harmony_embeddings_matrix.GEX.subgroups.immune_human_2x["harmony_embeddings_matrix.GEX.subgroups.<aggregation_name>"]:::none --> PCA_clusters.GEX.subgroups.immune_human_2x["PCA_clusters.GEX.subgroups.<aggregation_name>"]:::none
  harmony_embeddings_matrix.ATAC.subgroups.immune_human_2x["harmony_embeddings_matrix.ATAC.subgroups.<aggregation_name>"]:::none --> UMAP_embeddings_tibble.ATAC.subgroups.immune_human_2x["UMAP_embeddings_tibble.ATAC.subgroups.<aggregation_name>"]:::none
  harmony_embeddings_matrix.GEX.subgroups.immune_human_2x["harmony_embeddings_matrix.GEX.subgroups.<aggregation_name>"]:::none --> UMAP_embeddings_tibble.GEX.subgroups.immune_human_2x["UMAP_embeddings_tibble.GEX.subgroups.<aggregation_name>"]:::none
  WNN_results.subgroups.immune_human_2x["WNN_results.subgroups.<aggregation_name>"]:::none --> UMAP_embeddings_tibble.WNN.subgroups.immune_human_2x["UMAP_embeddings_tibble.WNN.subgroups.<aggregation_name>"]:::none
  embedding_matrices.subgroups.immune_human_2x["embedding_matrices.subgroups.<aggregation_name>"]:::none --> WNN_results.subgroups.immune_human_2x["WNN_results.subgroups.<aggregation_name>"]:::none

Subgroup reprocessing is configuration-dependent and should not be treated as part of the minimum main-pipeline path.