Learn R Programming

Signac

Overview

Signac is a comprehensive R package for the analysis of single-cell chromatin data. Signac includes functions for quality control, normalization, dimension reduction, clustering, differential activity, and more.

Documentation and tutorials can be found at https://stuartlab.org/signac/

Installation

To install the latest release of Signac from CRAN:

setRepositories(ind=1:3) # needed to automatically install Bioconductor dependencies
install.packages("Signac")

To release the latest develop version from GitHub:

if (!requireNamespace("remotes", quietly = TRUE))
    install.packages("remotes")
remotes::install_github("stuart-lab/signac", ref = "develop")

Release notes

For a changelog please see the NEWS file, also available on the Signac website.

Contributing

We welcome contributions to the Signac package. Please see the contribution guide for more information.

Getting help

If you encounter a bug or have a feature request, please open an issue.

If you would like to discuss questions related to single-cell analysis, you can open a discussion.

Citing Signac

If you use the Signac package in your work please cite Stuart et al. 2021

@ARTICLE{signac,
  title     = "Single-cell chromatin state analysis with Signac",
  author    = "Stuart, Tim and Srivastava, Avi and Madad, Shaista and Lareau,
               Caleb A and Satija, Rahul",
  journal   = "Nat. Methods",
  publisher = "Nature Publishing Group",
  pages     = "1--9",
  month     =  nov,
  year      =  2021,
  url       = "https://www.nature.com/articles/s41592-021-01282-5",
  language  = "en"
}

Related packages

Copy Link

Version

Install

install.packages('Signac')

Monthly Downloads

18,493

Version

1.16.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Tim Stuart

Last Published

October 10th, 2025

Functions in Signac (1.16.0)

DensityScatter

Scatterplot colored by point density
CreateChromatinAssay

Create ChromatinAssay object
CoverageBrowser

Genome browser
DepthCor

Plot sequencing depth correlation
CoveragePlot

Plot Tn5 insertion frequency over a region
ConvertMotifID

Convert between motif name and motif ID
CreateMotifMatrix

Create motif matrix
CreateMotifObject

Create motif object
Extend

Extend
FRiP

Calculate fraction of reads in peaks per cell
Fragment-class

The Fragment class
GenomeBinMatrix

Genome bin matrix
GetCellsInRegion

Get cells in a region
FindTopFeatures

Find most frequently observed features
Footprint

Transcription factor footprinting analysis
FilterCells

Filter cells from fragment file
FractionCountsInRegion

Fraction of counts in a genomic region
FeatureMatrix

Feature Matrix
CreateFragmentObject

Create a Fragment object
DownsampleFeatures

Downsample Features
GetLinkedPeaks

Get peaks linked to genes
Fragments

Get the Fragment objects
GetLinkedGenes

Get genes linked to peaks
FragmentHistogram

Plot fragment length histogram
ExpressionPlot

Plot gene expression
CountFragments

Count fragments
CountsInRegion

Counts in region
Jaccard

Calculate the Jaccard index between two matrices
GRangesToString

GRanges to String
IntersectMatrix

Intersect genomic coordinates with matrix rows
GetGRangesFromEnsDb

Extract genomic ranges from EnsDb object
GeneActivity

Create gene activity matrix
IdentifyVariants

Identify mitochondrial variants
LookupGeneCoords

Get gene coordinates
RegionPlot

Region plot
Links

Get or set links information
RegionMatrix

Region enrichment analysis
FindMotifs

FindMotifs
FindClonotypes

Find clonotypes
MotifCounts

Count fragments surrounding motif sites
MotifPlot

Plot DNA sequence motif
GetFootprintData

Get footprinting data
GetMotifData

Retrieve a motif matrix
GetFragmentData

Get Fragment object data
Motifs

Get or set a motif information
GetTSSPositions

Find transcriptional start sites
InsertionBias

Compute Tn5 insertion bias
ReadMGATK

Read MGATK output
RegionHeatmap

Region heatmap
PeakPlot

Plot peaks in a genomic region
GetIntersectingFeatures

Find intersecting regions between two objects
LinkPeaks

Link peaks to genes
LinkPlot

Plot linked genomic elements
TSSPlot

Plot signal enrichment around TSSs
RunSVD

Run singular value decomposition
MatchRegionStats

Match DNA sequence characteristics
Motif-class

The Motif class
RunTFIDF

Compute the term-frequency inverse-document-frequency
blacklist_ce10

Genomic blacklist regions for C. elegans ce10 (0-based)
SetMotifData

Set motif data
Signac-package

Signac: Analysis of Single-Cell Chromatin Data
PlotFootprint

Plot motif footprinting results
blacklist_mm10

Genomic blacklist regions for Mouse mm10 (0-based)
atac_small

A small example scATAC-seq dataset
TSSEnrichment

Compute TSS enrichment score per cell
VariantPlot

Plot strand concordance vs. VMR
as.ChromatinAssay

Convert objects to a ChromatinAssay
granges-methods

Access genomic ranges for ChromatinAssay objects
head.Fragment

Return the first rows of a fragment file
corSparse

Sparse matrix correlation
TilePlot

Plot integration sites per cell
blacklist_ce11

Genomic blacklist regions for C. elegans ce11 (0-based)
SplitFragments

Split fragment file by cell identities
SortIdents

Sorts cell metadata variable by similarity using hierarchical clustering
UnifyPeaks

Unify genomic ranges
blacklist_dm3

Genomic blacklist regions for Drosophila dm3 (0-based)
seqinfo-methods

Access and modify sequence information for ChromatinAssay objects
reexports

Objects exported from other packages
coverage,ChromatinAssay-method

Coverage of a ChromatinAssay object
findOverlaps-methods

Find overlapping ranges for ChromatinAssay objects
subset.Fragment

Subset a Fragment object
ValidateHash

Validate hashes for Fragment object
ValidateFragments

Validate Fragment object
blacklist_dm6

Genomic blacklist regions for Drosophila dm6 (0-based)
NucleosomeSignal

NucleosomeSignal
subset.Motif

Subset a Motif object
inter-range-methods

Inter-range transformations for ChromatinAssay objects
blacklist_hg19

Genomic blacklist regions for Human hg19 (0-based)
RegionStats

Compute base composition information for genomic ranges
nearest-methods

Find the nearest range neighbors for ChromatinAssay objects
RunChromVAR

Run chromVAR
UpdatePath

Update the file path for a Fragment object
StringToGRanges

String to GRanges
SubsetMatrix

Subset matrix rows and columns
theme_browser

Genome browser theme
blacklist_hg38_unified

Unified genomic blacklist regions for Human GRCh38
ValidateCells

Validate cells present in fragment file
blacklist_hg38

Genomic blacklist regions for Human GRCh38
AggregateTiles

Quantify aggregated genome tiles
AddMotifs

Add DNA sequence motif information
AccessiblePeaks

Accessible peaks
AlleleFreq

Compute allele frequencies per cell
Annotation

Annotation
AddChromatinModule

Add chromatin module
AnnotationPlot

Plot gene annotations
BigwigTrack

Plot data from BigWig files
AverageCounts

Average Counts
BinarizeCounts

Binarize counts
Cells<-

Set and get cell barcode information for a Fragment object
ChromatinAssay-class

The ChromatinAssay class
Cells.Fragment

Set and get cell barcode information for a Fragment object
CallPeaks

Call peaks
ClosestFeature

Closest Feature
CellsPerGroup

Cells per group
ConnectionsToLinks

Cicero connections to links
ClusterClonotypes

Find relationships between clonotypes
CombineTracks

Combine genome region plots