Skip to content

Version 1.0.0

Compare
Choose a tag to compare
@timoast timoast released this 16 Aug 20:27
· 993 commits to master since this release
c53f270

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 or ftp.
  • Transcription factor footprinting: New Footprint() and PlotFootprint()
    functions for TF footprinting analysis.
  • Bioconductor methods: call granges(), findOverlaps(), seqinfo(), and
    other Bioconductor generic functions directly on the ChromatinAssay or
    Seurat 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 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.
  • 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 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.
  • New TilePlot() function and tile parameter for CoveragePlot() 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 the blacklist_hg38_unified
    object.
  • Updated the FRiP() function to use total fragment counts per cell stored
    in object metadata.