Version 1.0.0
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:
- Store multiple fragment files: you can now store as many fragment
files as needed in a single object, and all functions that use the fragment file
will pull data from each of the files. Cell barcodes in the fragment files do
not need to match the cell barcodes in the object. - Use remote fragment files: you can now use all the same functionality with
fragment files hosted on remote servers accessible throughhttp
orftp
. - Transcription factor footprinting: New
Footprint()
andPlotFootprint()
functions for TF footprinting analysis. - Bioconductor methods: call
granges()
,findOverlaps()
,seqinfo()
, and
other Bioconductor generic functions directly on theChromatinAssay
or
Seurat
object. - New multi-modal visualization methods: Jointly visualize RNA expression
and chromatin accessibility using theCoveragePlot()
function. - New interactive visualizations: Interactively browse the genome using the
CoverageBrowser()
function. - Mitochondrial lineage tracing: New functions to identify informative
mitochondrial alleles, find clonotypes, and predict cell lineage relationships
using mitochondrial mutations.
Other changes:
- Updates to
NucleosomeSignal()
: we have greatly improved the scalability of
NucleosomeSignal()
, and fixed a bug present in previous versions. The score
computed byNucleosomeSignal()
in 1.0.0 will be different to that computed by
previous versions of Signac. - New
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. - New
fast
option in theTSSEnrichment()
function. Setting this toTRUE
will 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. - New
TilePlot()
function andtile
parameter forCoveragePlot()
to plot
Tn5 integration events in a genomic region for individual cells. - Performance improvements for
FeatureMatrix()
,CoveragePlot()
, and
TSSEnrichment()
- Added the manually curated hg38 genomic blacklist regions curated by Anshul
Kundaje and Anna Shcherbina. These are available as theblacklist_hg38_unified
object. - Updated the
FRiP()
function to use total fragment counts per cell stored
in object metadata.