This release includes major updates to the Signac package, including new functionality, performance improvements, and new data structures.
The entire package has been updated to use the new
ChromatinAssay class for the storage of single-cell chromatin data. This is an extension of the standard Seurat
Assay that adds additional slots needed for the analysis of chromatin data, including genomic ranges, genome information, fragment file information, motifs, gene annotations, and genomic links.
In addition, we have defined a new
Fragment class to store information relating to a fragment file. This makes use of the fragment files within Signac more robust, as checks are now performed to verify that the expected cells are present in the fragment file, and that the fragment file or index are not modified on disk.
Key new functionality:
PlotFootprint()functions for TF footprinting analysis.
seqinfo(), and other Bioconductor generic functions directly on the
NucleosomeSignal(): we have greatly improved the scalability of
NucleosomeSignal(), and fixed a bug present in previous versions. The score computed by
NucleosomeSignal()in 1.0.0 will be different to that computed by previous versions of Signac.
CountFragments()function: a fast, memory-efficient function implemented in C++ that counts the total number of fragments for each cell barcode present in a fragment file.
fastoption in the
TSSEnrichment()function. Setting this to
TRUEwill compute the TSS enrichment score per cell without storing the entire cell by TSS position matrix. This can significantly reduce memory requirements for large datasets, but does not allow subsequent plotting of the TSS signal for different groups of cells.
CoveragePlot()to plot Tn5 integration events in a genomic region for individual cells.
FRiP()function to use total fragment counts per cell stored in object metadata.
DepthCorfunction to compute the correlation between sequencing depth and reduced dimension components.
CoveragePlot. Use GRanges instead.
nchunkwas greater than the number of features used.
CoveragePlotthat would prevent plotting multiple regions when using
CoveragePlotthat would prevent plotting when a different assay was active.
SubsetMatrixfunction to subset a matrix based on number of non-zero elements in the rows or columns.
UnifyPeaksfunction to create a merged set of peaks from multiple samples.
RunSVD: previously, scaling was applied to each cell rather than each component. Now, mean centering and SD scaling are applied to the cell embeddings within a component.
RunSVDto control whether embeddings are scaled and centered.
SingleCoveragePlotfrom exported functions
TSSPlotfunctions for TSS enrichment scoring
CoveragePlotfor scaling tracks
CoveragePlot: now plots a Tn5 integration score per base, rather than the whole fragment.
GetIntersectingFeaturesfunction to find overlapping peaks between objects
MergeWithRegionsfunction to perform region-aware Seurat object merging
RunChromVARfunction to run chromVAR through Signac
RegionStatsfunction to add statistics about peak sequences to the feature metadata
FindMotifs: now selects a set of background peaks matching the sequence characteristics of the input