Bug fixes:
- Fixed
LinkPeaks()
function when running on a single gene (#629) - Added
fragment.tempdir
parameter toCallPeaks()
to enable setting directory that split fragment files are written to during peak calling (#579) - Fixed error in
FeatureMatrix()
when settingsep
parameter (#626) - Fixed peak calling error when group names contain special characters
- Fixed issue with
RenameCells()
when cell information not present in Fragment object (#704)
Other changes:
- Improved error checking for
GeneActivity()
(#625) - Added
FoldChange()
method forChromatinAssay()
object that sets proper parameters for chromatin data. This fixes the calculation of fold changes when runningSeurat::FindMarkers()
on single-cell chromatin data.
New functionality:
- Added
head()
method forFragment
-class objects.
Bug fixes:
- Fixed bug in
ChromatinAssay
merging (#596)
Other changes:
- Added support for fragment files containing headers (cellranger-atac v2; #609)
New functionality:
- Added
BigwigTrack()
function to plot data from bigWig files - Added
bigwig
andbigwig.type
arguments toCoveragePlot()
to include bigWig files inCoveragePlot()
- Added
region.highlight
parameter toCoveragePlot()
- Added
biotypes
parameter toGeneActivity()
andGetTSSPositions()
functions - Added
max.width
parameter toGeneActivity()
- Added
min.distance
parameter toLinkPeaks()
(#561)
Bug fixes:
- Fixed fragment file reading when only one fragment found in requested region (#474)
- Fixed
standard.chromosomes
parameter inGetGRangesFromEnsDb()
(#513) - Fixed
group.by
parameter inPlotFootprint()
(#522) - Fixed bug that would cause some gene coordinates used by
GeneActivity()
to be incorrect (#521) - Fixed error message in
FindMotifs()
(#549) - Fixed bug in
CountsInRegion()
(#563)
Other changes:
- Improved speed of ChromatinAssay merging
- Improved error message for
TSSEnrichment()
(#485) - Improved error messages when trying to run
ChromatinAssay
-specific functions on non-ChromatinAssay
assays - Performance improvements
- Changed default value for
n
inNucleosomeSignal()
- Enabled parallization in
TSSEnrichment()
whenfast=TRUE
- Added early error checking in
LinkPeaks()
(#550) - Change to sparse matrix correlation in
LinkPeaks()
(#550) - Moved
biovizBase
andBiostrings
to suggested packages - Removed
ggbio
dependency - Re-implemented
AnnotationPlot()
New functionality:
- Added
group.by
parameter toPeakPlot()
to allow coloring plotted genomic ranges by metadata variables. - Added
peaks.group.by
andranges.group.by
parameters toCoveragePlot()
to allow coloring plotted genomic ranges inCoveragePlot()
to be colored by metadata variables.
Bug fixes:
- Update meta feature information (overall peak accessibility) when subsetting objects to avoid counts becoming inaccurate (#332)
- Prevent dropping features when creating a merged ChromatinAssay (#340)
- Fix compilation error when using g++ version <5 (#326)
- Retain motif positions during subset (#364)
- Fix
assay
parameter inCoveragePlot()
- Fix error when merging ChromatinAssay object (#355)
- Add more informative error message when all features or cells removed by parameter choices in
CreateChromatinAssay()
(#387) - Fix bug in
CreateChromatinAssay()
when setting bothmin.cells
andmin.features
arguments (#390) - Improved support for remote fragment files
- Fixed bug in
PlotFootprint()
when only one cell in an identity class (#406)
Other changes:
- Added citation information to the package
- Added
SeuratObject
dependency
New functionality:
- Added
CallPeaks()
function to call peaks using MACS2. Peaks can be called for different groups of cells separately by setting thegroup.by
parameter - Added
LinkPeaks()
function to link peaks to correlated genes. - Added
AddMotifs()
function to add motif information to a Seurat object or ChromatinAssay. - Added
AggregateTiles()
function to combine adjacent genome tiles - Added
ranges
parameter toCoveragePlot()
to plot addition sets of genomic ranges - Added
show.bulk
parameter toCoveragePlot()
to plot accessibility of all cells combined - Added ability to remove
Fragment
objects and modify the file path for existing fragment objects (#206)
Bug fixes:
- Fixed bugs in
AlleleFreq()
(#196 and #260) - Fixed bug in
FeatureMatrix()
(#205, #291) - Fixed bug in
CreateChromatinAssay()
when settingmin.features
argument (#194) - Fixed bug in
CreateChromatinAssay()
when settingmin.cells
argument (#292) - Fixed bug in
TSSEnrichment()
when cell information not set for fragment files (#203) - Fixed bug in
TSSEnrichment()
when no fragments present in TSS region (#244) - Removed
qvalue
calculation fromFindMotifs()
(#223) - Fixed bug in
SetAssayData()
when setting thescale.data
slot
Other changes:
- Improved feature matching in
MatchRegionStats()
function when matching distribution of multiple features (eg, GC content and overall accessibility) - Changed parameter names in
MatchRegionStats()
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 through
http
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
orSeurat
object. - New multi-modal visualization methods: Jointly visualize RNA expression
and chromatin accessibility using the
CoveragePlot()
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 ofNucleosomeSignal()
, 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()
, andTSSEnrichment()
- Added the manually curated hg38 genomic blacklist regions curated by Anshul
Kundaje and Anna Shcherbina. These are available as the
blacklist_hg38_unified
object. - Updated the
FRiP()
function to use total fragment counts per cell stored in object metadata.
- New
DepthCor
function to compute the correlation between sequencing depth and reduced dimension components. - Performance improvements for
RunTFIDF
. - Removed option to use EnsDb object in
ClosestFeatures
andCoveragePlot
. Use GRanges instead. - Removed
ucsc
parameter fromCoveragePlot
. - Fixed bug in FeatureMatrix that would cause fragments to be counted multiple
times if
nchunk
was greater than the number of features used. - Fixed bug in
CoveragePlot
that would prevent plotting multiple regions when usingGRanges
. - Fixed bug in
CoveragePlot
that would prevent plotting when a different assay was active. - Removed dependencies: GenomicFeatures
- Moved dependencies to suggests: Biostrings, BSgenome
- Removed from suggests: BSgenome.Hsapiens.UCSC.hg19, EnsDb.Hsapiens.v75, JASPAR2018
- First CRAN release.
- New
SubsetMatrix
function to subset a matrix based on number of non-zero elements in the rows or columns. - Removed
seed.use
parameter fromRunSVD
.
- New
UnifyPeaks
function to create a merged set of peaks from multiple samples.
- Bug fix for
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. - Added
scale.embeddings
option toRunSVD
to control whether embeddings are scaled and centered. - Added
irlba.work
parameter toRunSVD
. - Update to allow comment characters in fragment file cell names
- Removed
SingleCoveragePlot
from exported functions - Added executable examples for all functions
- Store raw SVD output in DimReduc misc slot in
RunSVD
- Fixed strand orientation for gene plot in
CoveragePlot
- Fix missing x-axis when plotting peaks but not genes in
CoveragePlot
- Removed dependency on TFBSTools, motifmatchr, AnnotationDbi, ggbio, AnnotationFilter
- Renamed
PeriodPlot
toFragmentHistogram
- Removed motif dimension reduction functions
- Removed motif clustering functions
- Removed
neighbors
andreductions
slots frommotif
class - Added
motif.names
slot tomotif
class - Added ability to plot peak ranges in
CoveragePlot
- Added ability to plot gene annotations from
GRanges
object - Changed gene plot style in
CoveragePlot
- Allow passing additional arguments to
FilterFragments
- Add inst/extdata
- Change DESCRIPTION file so that Bioconductor dependencies are automatically installed
- Bug fix for
GetCellsInRegion
- Improve documentation
- New
TSSEnrichment
andTSSPlot
functions for TSS enrichment scoring - New
InsertionBias
function - New options in
CoveragePlot
for scaling tracks - Major speed improvements for
CoveragePlot
- Improved documentation (added examples)
- Updates to
CoveragePlot
: now plots a Tn5 integration score per base, rather than the whole fragment.
- New
GetIntersectingFeatures
function to find overlapping peaks between objects - New
MergeWithRegions
function to perform region-aware Seurat object merging
- New
RunChromVAR
function to run chromVAR through Signac - New
RegionStats
function to add statistics about peak sequences to the feature metadata - Improvements to
FindMotifs
: now selects a set of background peaks matching the sequence characteristics of the input
- Added
IntersectMatrix
- Added unit tests
- Bug fixes for
ChunkGRanges
- This is the first release of Signac!