Plot frequency of Tn5 insertion events for different groups of cells within given regions of the genome.

  features = NULL,
  assay = NULL,
  show.bulk = FALSE,
  expression.assay = "RNA",
  expression.slot = "data",
  annotation = TRUE,
  peaks = TRUE, = NULL,
  ranges = NULL, = NULL,
  ranges.title = "Ranges",
  region.highlight = NULL,
  links = TRUE,
  tile = FALSE,
  tile.size = 100,
  tile.cells = 100,
  bigwig = NULL,
  bigwig.type = "coverage",
  heights = NULL, = NULL,
  window = 100,
  extend.upstream = 0,
  extend.downstream = 0,
  scale.factor = NULL,
  ymax = NULL,
  cells = NULL,
  idents = NULL,
  sep = c("-", "-"),
  max.downsample = 3000,
  downsample.rate = 0.1,



A Seurat object


A set of genomic coordinates to show. Can be a GRanges object, a string encoding a genomic position, a gene name, or a vector of strings describing the genomic coordinates or gene names to plot. If a gene name is supplied, annotations must be present in the assay.


A vector of features present in another assay to plot alongside accessibility tracks (for example, gene names).


Name of the assay to plot


Include coverage track for all cells combined (pseudo-bulk). Note that this will plot the combined accessibility for all cells included in the plot (rather than all cells in the object).


Name of the assay containing expression data to plot alongside accessibility tracks. Only needed if supplying features argument.


Name of slot to pull expression data from. Only needed if supplying the features argument.


Display gene annotations


Display peaks

Grouping variable to color peaks by. Must be a variable present in the feature metadata. If NULL, do not color peaks by any variable.


Additional genomic ranges to plot

Grouping variable to color ranges by. Must be a variable present in the metadata stored in the ranges genomic ranges. If NULL, do not color by any variable.


Y-axis title for ranges track. Only relevant if ranges parameter is set.


Region to highlight on the plot. Should be a GRanges object containing the coordinates to highlight. By default, regions will be highlighted in grey. To change the color of the highlighting, include a metadata column in the GRanges object named "color" containing the color to use for each region.


Display links


Display per-cell fragment information in sliding windows.


Size of the sliding window for per-cell fragment tile plot


Number of cells to display fragment information for in tile plot.


List of bigWig file paths to plot data from. Files can be remotely hosted. The name of each element in the list will determine the y-axis label given to the track.


Type of track to use for bigWig files ("line", "heatmap", or "coverage"). Should either be a single value, or a list of values giving the type for each individual track in the provided list of bigwig files.


Relative heights for each track (accessibility, gene annotations, peaks, links).

Name of one or more metadata columns to group (color) the cells by. Default is the current cell identities


Smoothing window size


Number of bases to extend the region upstream.


Number of bases to extend the region downstream.


Scaling factor for track height. If NULL (default), use the median group scaling factor determined by total number of fragments sequences in each group.


Maximum value for Y axis. If NULL (default) set to the highest value among all the tracks.


Which cells to plot. Default all cells


Which identities to include in the plot. Default is all identities.


Separators to use for strings encoding genomic coordinates. First element is used to separate the chromosome from the coordinates, second element is used to separate the start from end coordinate.


Minimum number of positions kept when downsampling. Downsampling rate is adaptive to the window size, but this parameter will set the minimum possible number of positions to include so that plots do not become too sparse when the window size is small.


Fraction of positions to retain when downsampling. Retaining more positions can give a higher-resolution plot but can make the number of points large, resulting in larger file sizes when saving the plot and a longer period of time needed to draw the plot.


Additional arguments passed to wrap_plots


Returns a ggplot object


Thanks to Andrew Hill for providing an early version of this function.


# \donttest{ fpath <- system.file("extdata", "fragments.tsv.gz", package="Signac") fragments <- CreateFragmentObject( path = fpath, cells = colnames(atac_small), validate.fragments = FALSE )
#> Computing hash
Fragments(atac_small) <- fragments # Basic coverage plot CoveragePlot(object = atac_small, region = c("chr1-713500-714500"))
# Show additional ranges <- StringToGRanges("chr1-713750-714000") CoveragePlot(object = atac_small, region = c("chr1-713500-714500"), ranges =
# Highlight region CoveragePlot(object = atac_small, region = c("chr1-713500-714500"), region.highlight =
# Change highlight color$color <- "orange" CoveragePlot(object = atac_small, region = c("chr1-713500-714500"), region.highlight =
# Show expression data CoveragePlot(object = atac_small, region = c("chr1-713500-714500"), features = "ELK1")
# }