15 ATAC Batch Assessment

15.1 By sample

DimPlot(combined, reduction = "umap.atac", group.by = "sample") +
  ggtitle("ATAC UMAP — by sample")

15.2 By donor

DimPlot(combined, reduction = "umap.atac", group.by = "donor_id") +
  ggtitle("ATAC UMAP — by donor")

15.3 By sample and donor

DimPlot(combined, reduction = "umap.atac", group.by = "sample_donor") +
  ggtitle("ATAC UMAP — by sample-donor")

15.4 By condition

DimPlot(combined, reduction = "umap.atac", group.by = "individual_condition") +
  ggtitle("ATAC UMAP — by condition")

15.5 Split by sample

DimPlot(combined, reduction = "umap.atac",
        split.by = "sample", group.by = "sample_donor") +
  ggtitle("ATAC UMAP — split by sample")

15.6 Summary

If the plots above show strong separation by sample or sample_donor in either modality, batch correction should be applied before building the WNN graph:

  • RNA: addressed in the Integration chapter via Seurat CCA (FindIntegrationAnchors / IntegrateData) using cell-type marker genes as anchors
  • ATAC: if donor/sample separation is evident in the LSI UMAP, Harmony correction on the LSI embedding should be applied: