Seqinfo package dependencyNew features:
ATACqc() function to run fragtk qc and store the resultsFitMeanVar() and PearsonResidualVar() functions for highly variable feature selectionpca parameter to RunSVD() to compute PCA dimension reduction without storing standardized matrixEnrichedTerms() function to run fgsea() on differential testing results from each group of cell identitieslayer parameter to RunSVD() to select which layer to useBug fixes:
seqinfo to motif positions in AddMotifs() to prevent the extension
of motif regions beyond the ends of chromosomes
(#1983; @chenyenchung)Other changes:
NucleosomeSignal and TSSEnrichment functions in favor of the
new ATACqc functionTSSPlotGRangesToString and StringToGRangesRunSVD() from irlba::irlba() to RSpectra::svds()irlba.work parameter from RunSVD()sparseMatrixStats and RSpectra to package dependencies; removed irlbafgsea to suggested packagesSeqinfo to dependenciesRunChromVAR() and AddChromatinModule() due to the chromVAR package
being unavailable in Bioconductor 3.23chromVAR from suggested packagesBug fixes:
macs2 exists at the macs2.path in CallPeaks() (#1678)LinkPeaks() that incorrectly excluded additional chromosomes from background peak setOther changes:
seqinfo links from documentation as functions are moved from GenomeInfoDb to SeqinfowrswoR package is installedwrswoR to suggested packagesMatchRegionStats() to use likelihood-ratio weighting (query/background probability) to sample regions.
This produces more accurate matching distributions between query and background features.
This change will affect how background peaks are selected for the FindMotifs() and LinkPeaks() functions.New features:
group.order parameter to RegionPlot() and RegionHeatmap() functions to control order of plotted groups (#1745)Bug fixes:
RegionMatrix() position enrichment information is present in the object.RegionPlot() x-axis (@Cmfffff; #1899)Other changes:
FindMotifs() (#1788)FeatureMatrix() to return as many rows as input granges (@lldelisle; #1803)New features:
SortIdents() function to automatically order cell metadata according
to similarity (@JavenTyr)Other changes:
CoverageBrowser()ClosestFeature() when gene annotations are not present in the object (#1681)CreateChromatinAssay() when supplying a pre-computed Motif object (#1657)CoveragePlot() when combining cells and group.by parameters (#1724)FeatureMatrix() when requested features are on seqnames not
present in the fragment file (#1754)Bug fixes:
SetAssayData() for ChromatinAssay objects (#1538)TSSEnrichment() causing error on small example dataset (#1563)Footprint() when running on a small number of regions (#1614)CoveragePlot() and PlotFootprint() when setting both ident and split.by parameters (#1660)MatchRegionStats() when NA values are present in only some of the feature metadata rows (#1655)Other changes:
CoveragePlot() (#1459)corSparse(), remove qlcMatrix from suggested packages (#1570)GetLinkedPeaks() and GetLinkedGenes() (#1654)Bug fixes:
FilterCells() (#1509)Other changes:
Bug fixes:
AddMotifs() function (#1437)Other changes:
region_extension parameter to TSSEnrichment() function to enable changing the size of the region used to compute TSS enrichment scores (#1444; @twmcart)New functionality:
DensityScatter() functionscale.linewidth parameter to LinkPlot() (#1412)Bug fixes:
GetReadsInRegion() when no fragments present that overlap the region (@nrockweiler; #1348)BigwigTrack() (#1389)RegionMatrix() where regions on minus strand were not handled correctly (#1368)Other changes:
AddMotifs() function (#1361)Bug fixes:
CoveragePlot() when setting show.bulk=TRUE (#1294)Other changes:
tol parameter to RunSVD() to control the irlba::irlba() tol parametersplit.by parameters to CoveragePlot() and PlotFootprint() (#523)Bug fixes:
FeatureMatrix() where cell names would not be converted correctly when running
with cells=NULL (#1198)Other changes:
subset() method for Fragment-class objectsCoverageTrack to enable reproducible coverage plots (#1206)PeakPlot(), LinkPlot(), and
AnnotationPlot() (#919)Motif class definition to allow any CsparseMatrix in the data slotNew functionality:
method parameter to LinkPeaks() (@saketkc; #1030)annotation="transcript" in CoveragePlot())FindMotifs(), and new p.adjust column in output dataframep.adjust.method parameter to FindMotifs() to control multiple testing correction method usedBug fixes:
CallPeaks() when project name contained whitespace (#981)CoveragePlot() when tile=TRUEInsertionBias() that set the coordinates beyond the end of some chromosomes (#986)BigwigTrack() when supplying a single bigwig file (#1053)GeneActivity() when specifying biotypes (#1058)GeneActivity() when gene name is an empty string (#1055)FeatureMatrix() when using list of Fragment objects (#1056)RegionMatrix() when running on objects containing renamed cells (#1076)Footprint() when using a FASTA file (#1092)Footprint() when using list of genomic regions (#1098)FindMotifs() (#1109)Other changes:
CallPeaks() (#1062)Seurat, ggforce, ggrepel, ggseqlogo, lsa, qlcMatrix to suggested packagesGetGRangesFromEnsDb()New functionality:
RegionHeatmap() functionRegionPlot() functionRegionMatrix() functionMotifCounts() functionCoveragePlot() by providing a list of assay namesassay.scale, bigwig.scale, and split.assay parameters to CoveragePlot()ymax value in CoveragePlot()bigwig.scale and ymax parameters to BigwigTrack()peak.slot parameter to LinkPeaks() (#932)Bug fixes:
min.features parameter in CreateChromatinAssay() to retain cells with >= min.features (#902)min.cells parameter in LinkPeaks() (#932)Other changes:
Bug fixes:
FeatureMatrix() when cells information not present in Fragment object (#803)LinkPeaks() using Ensembl IDs (#858)GeneActivity() when gene names are NA (#865)FeatureMatrix() when only one region suppliedExpressionPlot() when using scaled data (#893)Other changes:
idf parameter to RunTFIDF() to use precomputed IDF vectorgene.id parameter to GeneActivity() to allow output genes named using gene ID (#837)sep parameter to ConnectionsToLinks() (#841)New functionality:
CoveragePlot(). The assay parameter can now be a list of assays to plot data from, with signal colored by assay of origin.Bug fixes:
FindMotifs() when using only one region as input (#732)ClosestFeature() when query contained regions on contigs not present in gene annotation (#758)TSSEnrichment() when using multiple fragment files (#783)CallPeaks() when multiple fragment files used as inputCallPeaks() to account for 0-based starts in called peaks- characters (#759)Other changes:
genome parameter in AddMotifs() and RunChromVAR() (#712)FoldChange() function to use normalized counts rather than raw counts (#795)GeneActivity() (#797)format parameter to CallPeaks() (#682)Bug fixes:
LinkPeaks() function when running on a single gene (#629)fragment.tempdir parameter to CallPeaks() to enable setting directory
that split fragment files are written to during peak calling (#579)FeatureMatrix() when setting sep parameter (#626)RenameCells() when cell information not present in Fragment object (#704)Other changes:
GeneActivity() (#625)FoldChange() method for ChromatinAssay() object that sets proper parameters for
chromatin data. This fixes the calculation of fold changes when running Seurat::FindMarkers() on
single-cell chromatin data.New functionality:
head() method for Fragment-class objects.Bug fixes:
ChromatinAssay merging (#596)Other changes:
New functionality:
BigwigTrack() function to plot data from bigWig filesbigwig and bigwig.type arguments to CoveragePlot() to
include bigWig files in CoveragePlot()region.highlight parameter to CoveragePlot()biotypes parameter to GeneActivity() and GetTSSPositions() functionsmax.width parameter to GeneActivity()min.distance parameter to LinkPeaks() (#561)Bug fixes:
standard.chromosomes parameter in GetGRangesFromEnsDb() (#513)group.by parameter in PlotFootprint() (#522)GeneActivity() to be
incorrect (#521)FindMotifs() (#549)CountsInRegion() (#563)Other changes:
TSSEnrichment() (#485)ChromatinAssay-specific functions
on non-ChromatinAssay assaysn in NucleosomeSignal()TSSEnrichment() when fast=TRUELinkPeaks() (#550)LinkPeaks() (#550)biovizBase and Biostrings to suggested packagesggbio dependencyAnnotationPlot()New functionality:
group.by parameter to PeakPlot() to allow coloring plotted genomic
ranges by metadata variables.peaks.group.by and ranges.group.by parameters to CoveragePlot() to
allow coloring plotted genomic ranges in CoveragePlot() to be colored by metadata
variables.Bug fixes:
assay parameter in CoveragePlot()CreateChromatinAssay() (#387)CreateChromatinAssay() when setting both min.cells and min.features arguments (#390)PlotFootprint() when only one cell in an identity class (#406)Other changes:
SeuratObject dependencyNew functionality:
CallPeaks() function to call peaks using MACS2. Peaks can be called
for different groups of cells separately by setting the group.by parameterLinkPeaks() function to link peaks to correlated genes.AddMotifs() function to add motif information to a Seurat object or ChromatinAssay.AggregateTiles() function to combine adjacent genome tilesranges parameter to CoveragePlot() to plot addition sets of genomic rangesshow.bulk parameter to CoveragePlot() to plot accessibility of all cells combinedFragment objects and modify the file path for existing
fragment objects (#206)Bug fixes:
AlleleFreq() (#196
and #260)FeatureMatrix() (#205, #291)CreateChromatinAssay() when setting min.features argument (#194)CreateChromatinAssay() when setting min.cells argument (#292)TSSEnrichment() when cell information not set for fragment files (#203)TSSEnrichment() when no fragments present in TSS region (#244)qvalue calculation from FindMotifs() (#223)SetAssayData() when setting the scale.data slotOther changes:
MatchRegionStats() function when matching distribution of multiple features (eg, GC content and overall accessibility)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:
http or ftp.Footprint() and PlotFootprint()
functions for TF footprinting analysis.granges(), findOverlaps(), seqinfo(), and
other Bioconductor generic functions directly on the ChromatinAssay or
Seurat object.CoveragePlot() function.CoverageBrowser() function.Other changes:
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.fast option in the TSSEnrichment() function. Setting this to TRUE
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.TilePlot() function and tile parameter for CoveragePlot() to plot
Tn5 integration events in a genomic region for individual cells.FeatureMatrix(), CoveragePlot(), and
TSSEnrichment()blacklist_hg38_unified
object.FRiP() function to use total fragment counts per cell stored
in object metadata.DepthCor function to compute the correlation between sequencing depth and
reduced dimension components.RunTFIDF.ClosestFeatures and CoveragePlot. Use GRanges instead.ucsc parameter from CoveragePlot.nchunk was greater than the number of features used.CoveragePlot that would prevent plotting multiple regions when
using GRanges.CoveragePlot that would prevent plotting when a different
assay was active.SubsetMatrix function to subset a matrix based on number of non-zero elements
in the rows or columns.seed.use parameter from RunSVD.UnifyPeaks function 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.scale.embeddings option to RunSVD to control whether embeddings are scaled
and centered.irlba.work parameter to RunSVD.SingleCoveragePlot from exported functionsRunSVDCoveragePlotCoveragePlotPeriodPlot to FragmentHistogramneighbors and reductions slots from motif classmotif.names slot to motif classCoveragePlotGRanges objectCoveragePlotFilterFragmentsGetCellsInRegionTSSEnrichment and TSSPlot functions for TSS enrichment scoringInsertionBias functionCoveragePlot for scaling tracksCoveragePlotCoveragePlot: now plots a Tn5 integration score per base, rather than the whole fragment.GetIntersectingFeatures function to find overlapping peaks between objectsMergeWithRegions function to perform region-aware Seurat object mergingRunChromVAR function to run chromVAR through SignacRegionStats function to add statistics about peak sequences to the feature metadataFindMotifs: now selects a set of background peaks matching the sequence characteristics of the inputIntersectMatrixChunkGRanges