Minor changes:
plotReadsPerCell
: Updated internal code to avoid unwanted type change duringleftJoin
step.
Major changes:
- Bumping version, due to significant changes in bcbioBase and Acid Genomics dependency packages.
- Enforcing strict camel case in all function names.
Major changes:
- Now requiring R 4.3 / Bioconductor 3.17.
- Removed usage of BiocParallel, including
BPPARAM
from primarybcbioSingleCell
generator function.
Minor changes:
plotReadsPerCell
: Updated internal ggplot2 to use.data
pronoun instead of!!
/sym
rlang syntactic sugar approach.
Minor changes:
- Tightened up package dependencies, requiring Bioconductor 3.16.
- Migrated
requireNamespaes
in imports from AcidBase to goalie.
Minor changes:
- Updated calls to
import
andexport
, switching fromfile
/dir
to simplycon
. This helps avoid breaking changes with pending pipette package update. - Updated Docker image URL.
Minor changes:
- Updated lintr checks and testthat unit tests.
Major changes:
- Starting a new release series based on R 4.2 / Bioconductor 3.15.
bcbioSingleCell
S4 class check now allows eithersessionInfo
(from utils package) orsession_info
(from sessioninfo package) to be slotted insessionInfo
metadata.
Minor changes:
- Now requiring R 4.2 / Bioconductor 3.15.
- Minor compatibility fixes for Bioconductor 3.15.
Major changes:
- Split out basejump imports into component packages.
Minor changes:
- Removed unused
formalsList
from NAMESPACE, which is removed in upcoming basejump package update. - Removed
barcodeRanksPerSample
from NAMESPACE.
Minor changes:
- Updated basejump dependencies and removed unnecessary stringr import.
Minor changes:
- Maintenance release, providing support for basejump v0.14 release series.
Minor changes:
- Maintenance release, updating dependency version requirements.
Minor changes:
- Maintenance release, updating minimum R dependency to 4.0.
Minor changes:
- Bug fix for integer handling in
.importReads
following switch tovroom::vroom
fromdata.table::fread
.
Minor changes:
updateObject
: Bug fix release for breaking changes introduced bycolData<-
assignment onSingleCellExperiment
/SummarizedExperiment
expectingcheck = FALSE
support for downstreamupdateObject
call. Added...
passthrough that prevents this error in method support forbcbioSingleCell
class. This should now be fully compliant with R 4.0 / Bioconductor 3.11 release.updateObject
: Addedverbose
argument support, defaulting now toFALSE
.
Minor changes:
bcbioSingleCell
: Removed now defunctspikeNames
argument. Refer tomakeSummarizedExperiment
,makeSingleCellExperiment
documentation and release notes in basejump package for details.
Minor changes:
- Tightened up dependencies in DESCRIPTION in preparation for bioconda release update, which breaks with basejump 0.12.0 conda dependency otherwise.
Minor changes:
- Changed license from MIT to GPL-3, matching other bcbio and Acid Genomics R packages.
Minor changes:
- Updated messages to use cli package approach. The same approach is now used in the bcbioRNASeq package as well.
- Updated basejump dependencies to support rename from bioverbs to AcidGenerics.
Minor changes:
- Updated S4 validity checks and unit tests to support Bioconductor 3.10.
Internally, we have to adjust checks against
DataFrame
class to also look forDFrame
class, which has changed in latest S4Vectors update. See related update in bcbioRNASeq package. - Full backward compatiblity with Bioconductor 3.9 is currently maintained.
- Updated basejump dependency versions.
Minor changes:
- Switched QC template to use
bcb_file
as main file input, similar to bcbioRNASeq QC template. - Updated lintr config.
Minor changes:
bcbioSingleCell
: Internal generator now callsimportSampleData
usingpipeline = "bcbio"
argument, so we don't run into breaking changes when handling user metadata in a future basejump update.- Updated basejump dependency versions.
Minor changes:
- NAMESPACE and basejump dependency updates.
Major changes:
bcbioSingleCell
: Simplifed internalcolData
handling, callingcalculateMetrics
after creatingSingleCellExperiment
withmakeSingleCellExperiment
. This improves consistency with Chromium package and enables better preparation ofrowRanges
containing spike-ins and transgenes.
Minor changes:
- Moved
metricsCols
global to basejump, so we can share with Chromium. - Improved generator consistency with other basejump and bcbio R packages.
Minor changes:
plotReadsPerCell
: Reworked internal code to useDataFrame
primarily instead oftbl_df
, so we can remove dplyr dependency.- Updated basejump and bcbioBase dependency versions.
- Removed some additional unused dependencies, to lighten the package.
This update is intended to simplify the package and reduce the amount of
plotting code that is defined to bcbioSingleCell
class specifically, instead
of SingleCellExperiment
.
Major changes:
- Offloaded plotting functions to AcidPlots, so we can use some of this code in a shared manner with objects imported from 10X Genomics Chromium.
Minor changes:
- Improved documentation consistency by using shared roxygen from AcidRoxygen package.
- Updated basejump and bcbio R package dependencies.
Major changes:
- Updated R dependency to 3.6. This now requires Bioconductor 3.9+.
updateObject
: Simplified method support, droppingrowRanges
argument. No longer attempting to coerce assays back to a simple list, which doesn't work well on Bioconductor 3.10 Devel currently.
Minor changes:
- Updated basejump dependencies.
- Improved code coverage over 90%.
Minor changes:
- Improved internal S4 function naming consistency.
- Updated basejump dependencies.
Minor changes:
- Updated basejump dependencies.
- Improved Travis CI docker configuration.
Minor changes:
- Updated
barcodeRanksPerSample
andplotBarcodeRanks
to support DropletUtils update in Bioconductor 3.9. - Improved Travis and AppVeyor CI configuration.
- S4 generic reexport documentation fixes.
Minor changes:
- Now importing ggplot2 code from AcidPlots package.
plotCellCounts
: Improved default appearance, removing black border.- Updated basejump and bcbio R package dependencies.
Minor changes:
- Deprecated
prepareSingleCellTemplate
, in favor ofprepareTemplate
. - Switched Travis CI configuration to use
singlecell
Docker image.
Major changes:
- Restricted S4 methods back to
bcbioSingleCell
fromSingleCellExperiment
where applicable. Generally, this applies to the supported QC plotting functions. Previously, the methods were defined againstSingleCellExperiment
to also supportCellRanger
S4 class, which has since been moved to the Chromium package.
Minor changes:
- Improved code coverage by adding additional unit tests.
- Updated internal reexport method for S4 generics, making
reexports.Rd
file no longer necessary. - Renamed R Markdown QC template from
quality_control
toquality-control
, using kebab case instead of snake case.
Major changes:
updateObject
is now fully backward compatible for all objects created by the package, including versions prior to v0.1.- Tightened up S4 validity class checks for
bcbioSingleCell
. Similar tobcbioRNASeq
class checks, now requiring these elements inmetadata
:bcbioCommandsLog
,bcbioLog
,dataVersions
,gffFile
,lanes
,programVersions
,projectDir
,runDate
,wd
, andyaml
. Previously, these weren't required because we were sharing internal validity code checks with theCellRanger
S4 class.CellRanger
has since been moved to the new Chromium package, so it's now appropriate to tighten up bcbioSingleCell. - Extract method
[
onbcbioSingleCell
class objects no longer alters the version of the object. It only setssubset = TRUE
, similar to bcbioRNASeq.
Minor changes:
- Bug fix release for formal rename in
emptyRanges
frommcolsNames
tomcolnames
. This has been changed in basejump 0.10.3.
Minor changes:
- Migrated development code to Acid Genomics.
- Updated basejump dependency to v0.10 release series.
Minor changes:
- Updated basejump and bcbioBase dependencies.
- Updated documentation.
- Added complete release information in NEWS.
Minor changes:
bcbioSingleCell
generator: improved internal handling ofmapCellsToSamples
call. This reworked join step checks the sampleID mapping more carefully.- Removed
plotGene
from deprecations. This function has been renamed toplotCounts
instead in the basejump package.
Minor changes:
- Updated basejump and bcbioBase dependencies, to pass build checks.
- Split out imports into a separate R file.
This release reworks the internal assert checks substantially.
Major changes:
- First release that has fully migrated to using goalie package instead of assertive package internally for checks.
- Reworked
bcbioSingleCell
S4 validity checks. - Reworked
bcbioSingleCell
generator function to use cleaner assert checks. - Migrated to inheriting S4 generics from bioverbs, where applicable.
Minor changes:
- Reworked documentation to use sentence case instead of title case.
Major changes:
metrics
: Removed code and consolidatedSingleCellExperiment
method support in basejump package.
Minor changes:
- Documentation improvements.
plotQC
: Improved validity checks.
Minor changes:
- Updated basejump and bcbioBase dependencies, to tighten up build checks.
- Documentation and CI configuration fixes.
Major changes:
- Migrating
CellRanger
S4 class to separate Chromium R package. - Migrated additional S4 generics to basejump package (bioverbs).
- Exporting
calculateMetrics
as a user-accessible function. - Extract (
[
) now returnsbcbioSingleCell
object again. filterCells
: Reworking to returnSingleCellExperiment
instead ofbcbioSingleCell
object.- Improved plotting functions to inherit params from basejump.
Minor changes:
- Removed
barcodePattern
global variable.
Major changes:
- Updated NAMESPACE to inherit from basejump instead of any of the basejump subpackages, which are subject to rework during this release series.
- Renamed example data from
cellranger_small
tocellranger
, andindrops_small
to simplyindrops
.
Minor changes:
- Transitioning to goalie for assert checks in place of assertive package.
- Miscellaneous documentation improvements.
- Updated working examples for plotting functions, using
indrops
example data. - Reworked
bcbioSingleCell
show
(print
) method.
Fork of hbc/bcbioSingleCell
code base, for additional development and
improvements prior to Bioconductor submission. The v0.2 release series is
being maintained on the hbc
organization page for stability.
The v0.3 release series serves to offload some of the code base to the basejump package, freeing bcbioSingleCell up to be lighterweight and easier to maintain long-term.
Note that v0.2 release series will remain pinned to basejump v0.7 series.
CellRanger code will be split out into a separate Chromium R package in a future
update, so some of these SingleCellExperiment
-specific methods need to be
consolidated into the basejump package.
Major changes:
aggregateReplicates
,cell2sample
,combine
,plotZerosVsDepth
,sampleData
,selectSamples
,subsetPerSample
,topBarcodes
: Offloaded to basejump asSingleCellExperiment
S4 methods.- Removed generics offloaded to basejump.
barcodeRanksPerSample
: Reworked internal code, using improvedcountsPerSample
andranks
calculations.- Updated extract method to work on
SingleCellExperiment
, so it can also be inherited forCellRanger
S4 class. - Reorganized
metricsPerSample
code approach.
Minor changes:
- Consolidated S4 validity check code into
AllClasses.R
file. - Updated Travis and AppVeyor CI configuration.
- Split out some internal code into
barcodes-internal.R
. This includes.nCount
and.rawMetrics
. - Improved documentation for
bcbioSingleCell
generator function. - Reorganized internal CellRanger processing functions.
- Improved documentation for
CellRanger
generator function. - Reworked plotting function code to integrate with basejump package.
- Split out plotting code methods into internal functions
(e.g.
plotMitoVsCoding.SingleCellExperiment
).
Major changes:
- Moved clustering and marker templates to pointillism package, since
all clustering code has been moved there. The quality control template using
the
filterCells
function is still provided here.
Minor changes:
prepareSingleCellTemplate
: Improved internal code to use updatedprepareTemplate
, which has been migrated to basejump package.- Added back the
cellranger_small
example dataset.
This is a significant maintenance release designed to simplify the package for
long-term stability. Here we are removing code support for Seurat and
visualization of cell clustering. This functionality has been moved to the new
pointillism package. We have streamlined bcbioSingleCell to simply
import bcbio single-cell data using the bcbioSingleCell
constructor or
Cell Ranger data with the readCellRanger
function. The package continues
to provide quality control visualization (see plotQC
) and low-quality cell
removal with the filterCells
function.
Major changes:
- Moved clustering and
seurat
object support to pointillism:cellCountsPerCluster
,cellTypesPerCluster
,clusterCellCountsPerSample
,fetchData
functions,plotFeature
functions,plotGene
functions,plotMarker
functions,plotPCA
,plotTSNE
,plotUMAP
. - Now requiring bcbioBase v0.4+ and basejump v0.7+.
Defunct functions:
- Removed from exports (for simplicifcation):
plotClusters
,plotFeatures
,quantileHeatmap
,readMarkers
,readMarkersFile
.
Minor changes:
- No longer exporting
mapCellsToSamples
. This is now only called internally. - Updated documentation to use roxygen2 v6.1.
Major changes:
- Now recommending BiocManager instead of BiocInstaller to install.
filterCells
now supportszinbwave = TRUE
for automatic zero-inflation weights calculation, using the zinbwave package.- Now requiring in
bcbioSingleCell
object validity checks that allsampleData
columns are defined incolData
, and that the factor levels also match. If you run into an error because of this change, post an issue on GitHub and we'll sort it out. The validity check method now also checks to make sure that allmetricsCols
are defined incolData
. aggregateReplicates
now keeps track of interesting groups metadata better and returns aSingleCellExperiment
containing this information.seurat
toSingleCellExperiment
now keeps track ofrowRanges
, if they have been stashed inside theseurat
object.- Minimal
bcbioSingleCell
(indrops_small
) andSingleCellExperiment
(cellranger_small
) objects now contain dimensionality reduction information calculated with Seurat. See the scripts indata-raw/
for how this was performed. metrics
:SingleCellExperiment
method now just returnscolData
withinterestingGroups
column defined internally withuniteInterestingGroups
. Previously we updated thesampleData
to long format here dynamically, but this is no longer needed now thatcolData
always must contain sample data in long format.sampleData<-
assignment method now dynamically updates the sample metadata incolData
to match.- Simplified
SingleCellExperiment
method extension forseurat
objects. - Added support for global ggplot2 discrete color palettes using
bcbio.discrete.color
andbcbio.discrete.fill
withoptions
.
Minor changes:
- Marker functions are no longer exported as generics, since they only currently apply to Seurat and may be deprecated in the future.
- Improved documentation, specifying the accepted classes for each argument. This matches the conventions now used in bcbioBase and bcbioRNASeq.
- Now using roxygen2 v6.1 for documentation.
metrics
matrix
method now usesrowRanges
instead ofrowData
.mapCellsToSamples
is no longer exported and has been switched to an internal function.- Improved
filterCells
return to include the counts per sample, which makes visual inspection and confirmation withplotCellCounts
easier. - Added assert checks to plotting functions to stop if
interestingGroups = NULL
. Adding support for NULL handling may be a good idea in a future release but isn't a priority at the moment. - Improved factor level handling in
plotCellCounts
andplotZerosVsDepth
to avoid warnings ifcolData
andsampleData
levels don't match exactly. This can happen if the sample order is different insampleData
than incolData
.
Major changes:
readCellRanger
now supports HDF5 data (.h5 files) or MatrixMarket Exchange Format explicitly, using theformat
argument. The function also now supports user-requested import of raw whitelisted cellular barcodes, using thefiltered
argument. By default, filtered counts from Cell Ranger are imported.- Removed support for zingeR in
diffExp
. We will consider adding this functionality back in a future update, once the package is available on Bioconductor. For now, we're recommending usage of zinbwave. filterCells
now supportsnCells
argument for hard cutoffs, applied after other QC filtering cutoffs usingnUMI
.- Internal data has been renamed to snake_case format, for improved consistency.
Note that
cell_cycle_markers
is used in place ofcellCycleMarkers
, andcell_type_markers
in place ofcellTypeMarkers
. There's no easy way to link these files as aliases, so this is a necessary breaking change.
Minor changes:
- Improved R Markdown template defaults for quality control and clustering.
- Now importing functions related to differential expression into the package NAMESPACE, including DESeq2, edgeR, and zinbwave.
- Parallelization is no longer used to load samples, improving handling in an HPC cluster environment. We will consider using BiocParallel in a future update.
- Now requiring ggplot2 v3.0. Switched to using
aes
instead ofaes_string
internally, using new tidyeval syntax. - Removed additional single-cell toolkit packages in Suggests, including scater and scran. This helps speed up build checks on Travis CI.
- Reexported functions have been moved to the bcbioBase package.
- Improved internal consistency between the
bcbioSingleCell
andreadCellRanger
data import functions.
Additional notes:
- Package still works with Bioconductor 3.6 / R 3.4, but we will be migrating to Bioconductor 3.7 / R 3.5 when conda r-base is updated to 3.5.1.
New functions:
cellCountsPerCluster
andclusterCellCountsPerSample
.
R Markdown templates:
- Now recommending 1000 UMIs by default, and a maximum of 10% mitochondrial transcripts.
- Seurat clustering now calculates multiple resolutions, suggesting 0.4, 0.8, and 1.2 by default. Dimensional reduction plots have been updated to support looping of these multiple resolutions.
Minor changes:
as(object, "SingleCellExperiment")
coercion now slots stashed metadata intoSingleCellExperiment
, if defined.- Simplified the internal code for
sampleData
.seurat
objects now share the same code asSingleCellExperiment
, and returnNULL
if the sample data is not defined. Themetrics
function continues to slot empty metadata insampleID
,sampleName
, andinterestingGroups
if not defined. SingleCellExperiment
is used as default method overseurat
where applicable:fetchData
family,plotDimensionalReduction
family,plotMarker
family,plotFeature
family,plotGene
family, andplotCellTypesPerCluster
. The internal code hasn't changed, it just is defined primarily forSingleCellExperiment
.dimRed
argument has been renamed toreduction
, where applicable.topBarcodes
can now return either adata.frame
orlist
, containing the top barcodes grouped by sample.
Minor changes:
- Updated internal code to use
text
as primary argument inmarkdownHeader
calls. - Updated example datasets and unit tests to match.
- Working on using pbmc4k as example dataset for vignette.
Major changes:
- Multiplexed Cell Ranger barcodes are now reformatted to be more readable
and compatible with the
mapCellsToSamples
utility function. This change helps simplify the internal code forcell2sample
. For example in the pbmc4k dataset, the barcode IDs are sanitized fromTTTGGTTTCGCTAGCG-1
to "pbmc4k_1_TTTGGTTTCGCTAGCG
". The "1
" here denotes 1 sample in the matrix, which is how Cell Ranger denotes multiplexed samples in a single counts matrix. Note that the "-
" character is illegal in names, so we consistently sanitize barcodes to contain "_
" instead. Seehelp("make.names")
for more information on syntactically valid names in R. readCellRanger
no longer requires reference data defined byrefdataDir
, although this is still recommended.
Minor changes:
- Resaved example datasets.
- Switched the example
cellranger_small
andseurat_small
datasets to the publicly available pbmc4k dataset from 10X Genomics. Here we've subset the top 500 cells and genes by abundance. We'll use either the pbmc4k or pbmc8k dataset for the vignette in a future update. bcbioSingleCell
andreadCellRanger
functions now consistently default to not requiringsampleMetadataFile
, which is nowNULL
by default. ForbcbioSingleCell
, if a custom sample metadata file is not provided, the function reads from the bcbio YAML metadata. ForreadCellRanger
, the function usesminimalSampleData
internally to return minimal metadata, containingsampleName
anddescription
columns.- Broke out internal
.sampleDirs
function tobcbioSingleCell
andreadCellRanger
functions. - Improved
plotMarker
documentation examples to use mitochondrial genes. - Using
seurat_small
in place ofSeurat::pbmc_small
in working examples.
Internal code changes:
- Now consistently using dplyr for piped
data.frame
as much as possible, where applicable. Code is being updated to use tidyeval.
Minor changes:
- t-SNE and UMAP plot improvements.
Major changes:
- No longer using automatic camel case sanitization for
metrics
orfetchData
return column names. - Improved R Markdown clustering and marker templates to optionally support UMAP and dark mode in the YAML parameters.
Minor changes:
- Using original Seurat mapping names for data: tSNE_1, tSNE_2, PC1, PC2, UMAP1, UMAP2.
- Ensure transcript-level counts always have
stripTranscriptVersions
command applied, to remove the Ensembl transcript versions if present. - No longer using labels (e.g. A, B, C, D) on
ggplot
grid return. - Note that "phase" has been renamed to "Phase" in the R Markdown clustering for cell-cycle regression PCA.
New functions:
- UMAP is now supported. This functionality is provided in:
plotUMAP
,plotMarkerUMAP
, andplotFeatureUMAP
. Corresponding fetch functions,fetchUMAPData
andfetchUMAPExpressionData
, have also been added. plotGene
: Addedseurat
method support. If advanced customization of the plot is needed, useplotDot
orplotViolin
instead, or refer to the Seurat documentation for alternates.
Major changes:
- Dimensional reduction and marker plots no longer use dark mode by default. The default color palette support for marker plots has been improved to consistently use viridis.
diffExp
: improved internal code to work directly onSingleCellExperiment
, removing the need to passdesign
andgroup
parameters internally. Also added unit testing against zinbwave, zingeR, and edgeR support. DESeq2 is supported but runs slowly.- Reworked
plotFeature
andplotMarker
family of functions. Improved the color palette support whendark = FALSE
, now using a flipped viridis plasma color palette. aggregateReplicates
function has been reworked to return aSingleCellExperiment
object instead ofbcbioSingleCell
. The v0.2.4 update of bcbioRNASeq behaves similarly with this generic.
Minor changes:
- Reworked the internal handling of some
seurat
SingleCellExperiment
method support, usingas(x, "SingleCellExperiment")
internally, which uses the newSeurat::Convert
function. - Made some previously deprecated functions now defunct:
plotClusters
,plotTSNEExpressionData
,loadSingleCellRun
,darkTheme
,pcCutoff
,quantileHeatmap
,plotKnownMarkers
,readMarkers
,readMarkersFile
. - Made
plotFeatures
,plotMarker
, andplotMarkers
functions defunct. plotPCElbow
now returns a plot grid.sanitizeMarkers
: improved internal code for supported bcbio stashed metadata, includingrowRanges
.
Minor changes:
plotCellTypesPerCluster
is usingdark = TRUE
by default again.- Fixed
cell2sample
handling for multiplexed Cell Ranger data loaded up withreadCellRanger
. Need to use stashedcell2sample
factor saved inmetadata
, rather than attempting to calculate on the fly withmapCellsToSamples
. - Updated Travis CI build checks to include bioc-release on macOS.
Major changes:
- No longer attempting to sanitize the rownames for
seurat
objects in coercion method. This helps maintain the gene symbol appearance in plotting functions for genes with hyphens in the names.
Minor changes:
- Using
BiocParallel::SerialParam
internally for zinbwave indiffExp
. - Simplified
cell2sample
internal code to always usemapCellsToSamples
instead of attempting to use a stashedvector
insidemetadata
forSingleCellExperiment
method. - Removed internal
.applyFilterCutoffs
, which is no longer necessary since this functionality is supported in the S4 subset method. - Simplified assert checks inside
fetchGene
functions. plotCellTypesPerCluster
: revert back todark = TRUE
by default.- Consolidated
plotMarker
andplotFeature
functions in the documentation. sanitizeMarkers
: Improved gene identifier matching.topMarkers
now defaults tocoding = FALSE
by default, since not all datasets will contain biotype information.
Minor changes:
- Initial
updateObject
method support forbcbioSingleCell
class. - Relaxed
validObject
validity check to not require sample-level metadata incolData
yet.
New functions:
- Added support for Uniform Manifold Approximation and Projection (UMAP) with
the
plotUMAP
andfetchUMAPData
functions. These work similarly to the otherplotDimensionalReduction
andfetchData
functions.
Major changes:
- Now adding sample-level metadata into
colData
slot, for better downstream compatibility with other packages that work withSingleCellExperiment
container class. Unique per-sample rows are still saved internally in thesampleData
slot. - Now recommending ECDF as the default geom for quality control plots, where applicable.
filterCells
now supportsminUMIs = c("knee", "inflection")
for automatic filtering based on the cellular barcode ranks. Internally this is handled byDropletUtils::barcodeRanks
.
Minor changes:
- Attempting to re-enable
libgsl-dev
installation for zinbwave on Travis CI. - Suggesting BiocParallel for zinbwave call in
diffExp
. - Now importing Seurat functions into NAMESPACE.
- Consolidated
fetchData
functions in the documentation. - Consolidated
plotDimensionalReduction
functions in the documentation. - Updated
aggregateReplicates
internal code. This function again only supports aggregation ofbcbioSingleCell
objects that have been filtered using thefilterCells
function. - Now using
Seurat::Convert
internally to coerceseurat
class object toSingleCellExperiment
, usingas(seurat, "SingleCellExperiment")
. This utility function was added to Seurat v2.3.1.
Internal changes:
- Tweaked
metrics
SingleCellExperiment
method code to always mergecolData
andsampleData
. - Updated
readCellRanger
internal code to matchbcbioSingleCell
constructor, specifically handling sample-level metadata incolData
.
Minor changes:
- Updated default QC R Markdown template.
- Added trendline option to QC scatter plot functions.
- Simplified internal handling of interestingGroups in
plotQC
. - Using
readYAMLSampleData
internally instead of defunctsampleYAMLMetadata
. - Added
sampleNames
method support for seurat. - Now importing rmarkdown, sessioninfo, tidyverse for R Markdown reports, rather than suggesting. Similar update applied to bcbioRNASeq.
- Suggesting scater and scran.
Major changes:
- Overhauled inflection and knee point labeling support in
plotUMIsPerCell
. Now uses thepoint
argument and always labels per sample. Currently requires thegeom = "ecdf"
argument for labeling. - Updated default quality control template.
- Added
plotBarcodeRanks
.
Minor changes:
- Added barcode rank support for
seurat
class objects. - QC plots now have titles by default, matching the conventions used in bcbioRNASeq.
- Fixed y-axis scale for histogram geom in QC plots.
- Prefiltering of very low quality barcodes with no UMIs or genes is now always applied. This helps avoid unwanted downstream errors with zero count barcodes.
- Added boxplot geom support for
plotReadsPerCell()
. plotQC
geom argument is now more consistent across the paneled plots.- Fixed facet wrapping for aggregate samples in the QC plots.
- Added
interestingGroups
support toplotZerosVsDepth
, matching the other QC functions.
- Updated
sampleData
S4 methods to match update in bcbioBase. Now supportsclean
argument, which returns non-blacklisted factor columns only. SeebcbioBase::metadataBlacklist
for the blacklist. - Improved axis scale appearance on dimensionality reduction plots using
scales::pretty_breaks
internally. - Added
grid
argument to plots, where applicable. - Renamed example dataset from
bcb_small
toindrops_small
. - Removed unnecessary method support for
interestingGroups
andmetadata
. These extend fromSummarizedExperiment
correctly now. - Fixed x-axis label centering for
plotCellCounts
andplotReadsPerCell
. - Simplified seurat method support for
SingleCellExperiment
-like methods, where applicable. This includesrowData
,gene2symbol
, andinterestingGroups
. - Improved dark mode color support for
plotDot
,plotFeatureTSNE
,plotMarker
. - Updated sample metadata example in README.
Minor changes:
- Improved summary statistics output during
filterCells
call. - Miscellaneous documentation improvements, most notably to
bcbioSingleCell
constructor function. plotViolin
now uses a color border by default.- Improved
cell2sample
mapping internally forreadCellRanger
. - Improved Bioconductor 3.7 installation instructions.
Major changes:
- Now using
bcbioSingleCell
instead ofloadSingleCell
as the main constructor function to create abcbioSingleCell
object.loadSingleCell
is deprecated and still works, but will warn the user. - Renamed
loadCellRanger
toreadCellRanger
for better name consistency. - Quality control function color palettes now default to ggplot2 colors
instead of using viridis palettes. This is defined using
scale_color_hue
instead ofscale_color_viridis
for example. The viridis color palette is still used by default for marker expression plots. - Use "
aggregate
" instead of "sampleNameAggregate
" to define aggregate/grouped samples in metadata.
Minor changes:
- Reexporting relevant ggplot2 and viridis color palettes.
- Renamed references to "inDrops" from "inDrop", where applicable.
- Consistently using
sym
in place of.data
internally for tidy code. - Updated
seurat
blacklist forsampleData
generic. plotCellTypesPerCluster
andplotMarkerTSNE
now use an automatic color palette by default, which enables for dynamic color palette support whendark = TRUE
. Internally this is handled with thetheme_midnight
andtheme_paperwhite
ggplot2 themes.- Updated installation instructions to support Bioconductor 3.7.
Internal changes:
metrics
method support now defaults tomatrix
and works similarly fordgCMatrix
sparse matrices. This is used in place ofcalculateMetrics
to generate the per cell quality control metrics.- Reworked and improved
aggregateReplicates
internal code. - Fixed facet wrapping when
aggregate
is defined in metadata for quality control plots. - Improved internal code for
sanitizeMarkers
to use map the gene annotations fromrowRanges
better.
Major changes:
- Added support for calculating
barcodeRanks
andbarcodeRanksPerSample
. - Now exporting
plotMarker
in addition toplotMarkers
. - Primary counts matrix slotted into
assay
is namedcounts
instead ofraw
, for better consistency withSingleCellExperiment
class. Thecounts
generic requires that the primary assay slot is namedcounts
to work correctly. Nothing else here has changed, just the name. loadCellRanger
now returns aSingleCellExperiment
object instead of abcbioSingleCell
object.- Added support for
transgeneNames
andspikeNames
when loading up a dataset. - Datasets from a poorly annotated genome can now be loaded up using
organism = NULL
during theloadSingleCell
call. - Methods now dispatch on
SingleCellExperiment
rather thanbcbioSingleCell
where applicable, providing support forSingleCellExperiment
objects created elsewhere.
Minor changes:
- Added support for labeling barcode ranks, such as elbow or inflection point on UMI counts per cell plots.
- Added support for plotting metrics using an empirical distribution function (ECDF) plot.
- Use
theme_midnight
andtheme_paperwhite
internally for dimensionality reduction plots. - TSNE and PCA plots now use an aspect ratio of 1 by default.
- Improved imports from Matrix, S4Vectors, and methods.
- Switched back to using base
stop
,warning
, andmessage
. inflectionPoint
has been made defunct, in favor of usingbarcodeRanks
.- Moved internal constructors into S4 methods, where applicable.
Major changes:
bcbioSingleCell
S4 class now extendsSingleCellExperiment
instead ofSummarizedExperiment
. This requires definition ofrowRanges
inside the object instead ofrowData
. Similar functionality was added to the bcbioRNASeq package. Upgrade support will be provided usingupdateObject
in a future release.- Added a differential expression utility function named
diffExp
, which uses zingeR/edgeR internally to calculate gene expression changes across cell groups.
Minor changes:
- Added
plotCumulativeUMIsPerCell
utility. This may be removed in a future update in favor of adding this plot intoplotUMIsPerCell
using an ECDF plot. - Now using
readCellTypeMarkers
to load markerdata.frames
, instead ofreadCellTypeMarkersFile
. This matches the conventions used in the bcbioBase package.
- Fixes for object subsetting and
loadSingleCell
organism calls
- Improved handling of old Ensembl release version for Cell Ranger output.
- Switched R Markdown templates to consistent snake case formatting for variables and file names.
prepareSingleCellTemplate
now uses_setup.R
instead ofsetup.R
.- Updated unit tests to work with new assert checks.
- Export
mapCellsToSamples
instead ofcell2sample
.cell2sample
now simply acts as an accessor function, returning the internally stored cell2sample mappings rather than trying to calculate.mapCellsToSamples
performs the actual mapping from cellular barcodes to sample identifiers. - Export
metricsPerSample
- Now using
BiocParallel::bpmapply
to loop across the sparse matrix files per sample internally in the.sparseCountsList
function, which is shared betweenloadSingleCell
andloadCellRanger
. - Updated assert checks.
- Updated
prepareSingleCellTemplate
to explicitly state which files to include for each R Markdown template, rather than inheriting frombcbioBase::prepareTemplate
. selectSamples
now fails on a sample mismatch, rather than warning.- Improved internal code for subset method, adding a
drop = FALSE
argument to the cellular barcode matching call. - Made all file loads in working examples a single line.
- Simplified R Markdown directory paths.
- Made all loads in unit tests a single line.
- Renamed
programs
metadata slot toprogramVersions
, to improve consistency with bcbioRNASeq package. - Updated internal sample metadata sanitization to ensure all columns are factors.
- Fixes for QC plot labeling of bcbioSingleCell object with different per sample filtering cutoffs applied.
- Added new
fetchGeneData
function, that wraps the functionality ofSeurat::FetchData
for specific genes. - Improved internal dimensionality reduction plotting code. The main function
has been renamed to
.plotDR
internally. - Simplified the code for
fetchTSNEExpressionData
to return a standarddata.frame
with the cellular barcodes as rows, instead of the previously groupedtibble
method. Now this function returns aggregate gene marker calculations in themean
,median
, andsum
columns. Since this method has way fewer rows than the groupedtibble
, the ggplot2 code forplotMarkerTSNE
now runs faster. - Explicitly declare
viridis::
for color palettes, where applicable. colorPoints
argument has been renamed toexpression
forplotMarkerTSNE
.- Dynamic gene symbol to ensgene conversion has been removed from the plotting
functions, for greater simplicity. Now the
genes
argument simply matches against the rownames in the counts matrix of the object. - Decreased the default
minCumPct
argument forplotPCElbow
from 0.9 to 0.8. This is more conservative and will return slightly fewer principal components for dimensionality reduction, by default. plotTSNE
,plotPCA
, and the other dimensionality reduction-related plotting functions now default to a smaller point size (0.5) and slight alpha transparency (0.8), to make super imposed points more obvious for large datasets with many cells.- Added a working example for
subsetPerSample
. - Internally switched from
.onLoad
to.onAttach
method for automatically loading required dependency packages. plotPCA
now usesphase
instead ofPhase
plotting cell cycle regression as an interestingGroup (see Seurat clustering template). Previously some of the Seurat metadata columns were not consistently sanitized to lowerCamelCase (e.g.Phase
,res.0.8
,orig.ident
).- Suppress package startup messages in R Markdown templates.
- Switched to rlang methods for errors, messages, and warnings:
abort
,inform
, andwarn
. - Updated
filterCells
function to enable per sample filtering cutoffs. This works by passing in a named numeric vector, where the names must match the internalsampleID
metadata column (notsampleName
). - Improved internal sanitization of metrics available with the
metrics
accessor. Now all count columns (e.g.nUMI
) are consistently integers, and all character vector columns are consistently coerced to factors. - Seurat metadata available through the bcbioSingleCell generics are now
consistently sanitized in lowerCamelCase. This applies to
orig.ident
and theres.*
metadata columns. - Explicit integers are now consistently used in all of the function parameter arguments.
- Manually define functions used to read barcodes and matrices. This improves
the functionality of the internal
.readSparseCounts
function. - Improved sample directory matching for Cell Ranger output.
- Fixed sample metadata subsetting based on cell2sample factor levels in the internal subset code.
- Added tabbed histogram, violin, and barplots for appropriate quality control functions in the R Markdown code.
- Migrated core dependency imports from basejump to bcbioBase.
- Improved
colnames
andrownames
handling for internal.readSparseCounts
function. - Reworked
loadCellRanger
function.refDataDir
parameter has been renamed torefdataDir
. - Added
organism
andgenomeBuild
options toloadSingleCell
, to override the metadata set in the bcbio run, if necessary. - Improved if statement data class checks, where applicable.
- Renamed internal
.sparseCountsTx2Gene
to.transcriptToGeneLevelCounts
. - Updated
geomean
bind method infetchTSNEExpressionData
. - Changed
minNovelty
default from 0.8 to 0.75. - Improved seurat class support for
plotDot
. - Improved parameter names for
plotKnownMarkersDetected
. Now usestsneColor
,violinFill
, anddotColor
. Also addedpointsAsNumbers
parameter. - Added
subtitle
parameter forplotMarkerTSNE
. - Added
tsneColor
,violinFill
,dotColor
, anddark
parameters forplotMarkers
. - Improved looping method for
plotTopMarkers
so that it renders correctly in R Markdown calls. - Added method support for
plotViolin
. - Improved internal
cell2sample
handling in subset method code.
- Renamed
readMarkersFile
toreadCellTypeMarkersFile
. - Improved internal handling of multiplexed CellRanger samples. These are count
matrices with cellular barcodes ending in
-2
, for example. - Updated
aggregateReplicates
code to work with basejump generic, which usesgroupings
instead ofcells
as the grouping parameter. - Added method support for
detectOrganism
. - Improved filtering parameter output in
filterCells
. - Updated
gene2symbol
method support for bcbioSingleCell and seurat objects. - Fixed working example in
knownMarkersDetected
. - Reworked internal code for
plotCellTypesPerCluster
. - Improved internal checks for facet wrapping and color palette parameter arguments, where applicable.
- Offloaded base
plotQuantileHeatmap
functionality into basejump, for use in bcbioRNASeq package. - Added unit test data for
loadSingleCell()
. - Added additional unit tests to improve code coverage.
- Prepared a minimal working example dataset.
- Added some initial unit tests.
- Renamed
plotKnownMarkers
toplotKnownMarkersDetected
. - Renamed
readMarkers
toreadMarkersFile
. - Added
gene2symbol
method support. - Moved
plotDot
generic to basejump package. - Added internal
.checkFormat
function, which will check forensgene
orsymbol
input. - Added internal
.convertGenesToSymbols
utility function, for mapping Ensembl gene identifiers to gene symbols. - Use explicit calls to Seurat functions interally, for clarity.
- Simplified bcbioSingleCell object return in
loadSingleCell
function. - Added seurat class method support for
annotable
function. - Added
bcbio<-
assignment method support for seurat class objects. calculateMetrics
function now usesannotable = TRUE
as default, instead of usingmissing
method.- Added method support for
cell2sample
for seurat class objects. cellTypesPerCluster
now usesmin
andmax
default arguments that don't remove any rows.- Added method support for seurat class objects to
counts
function. This defaults to returning the raw counts (normalized = FALSE
), but can also return log-normalized (normalized = TRUE
) and scaled (normalized = "scaled"
) counts. - Added Ensembl gene identifier mapping support to
fetchTSNEExpressionData
. filterCells
now simply works in a destructive manner. We've removed thedrop
parameter. The messages displayed to the user during this function call have been improved, and now include more statistics on the step where the majority of cells are filtered.- Initial commit of
gene2symbol
method support for bcbioSingleCell and seurat class objects. - Improved
interestingGroups<-
assignment method support for seurat class objects. - Color palettes now default to viridis instead of inferno palette, where applicable.
- Added Ensembl gene identifier support for
plotDot
function. plotFeatureTSNE
now uses a pluralfeatures
parameter instead offeature
, which is consistent with the syntax used in the other functions.- Added Ensembl gene identifier support to
plotMarkerTSNE
. Theformat
argument still defaults to "symbol", for consistency with previous behavior. However, in the future we recommend that users pass in stable Ensembl gene identifiers here if possible, for better reproducibility. plotMarkers
now supports Ensembl gene identifiers.plotPCElbow
now silently returns the sequence of principal components (PCs) that we recommend to use for dimensionality reduction.- We're now using "glm" instead of "gam" for
geom_smooth
plotting, where applicable. See theplotQC
function code. - Improved the defaults for
plotQuantileHeatmap
to enable faster plotting. Now the dendrogram calculations are skipped by default, which take a long time for large datasets. - Removed the draft
plotStressGenes
function for now. Will try to add this in a future update. - Fixed Markdown header handling for
plotTopMarkers
ifheaderLevel = NULL
. - Simplified
selectSamples
code to rely upon output of our bracket-based subsetting method. Seesubset.R
file for more details. - Improved metadata update in bracket-based subsetting method.
subsetPerSample
function now defaults to saving in the working directory.- Updated
topBarcodes
function to rank bynUMI
instead ofnCount
column, so it works with data from either bcbioSingleCell or seurat objects. - Minor tweaks to seurat coercion from bcbioSingleCell object. Here we've improved the metadata slotting.
- Initial commit of example data script in the
data-raw/
directory!
- Raw cellular barcodes are now slotted in
object@cellularBarcodes
as adata.frame
instead of a per samplelist
. This makes downstream subsetting operations on the barcodes simpler. - Bug fixes for
cell2sample
mapping. - Switched back to stable CRAN version of roxygen2 (6.0.1) for documentation.
- Renamed
pcCutoff
toplotPCElbow
. The function now returns a PC sequence from 1 to the cutoff (e.g. 1:10) instead of just the final PC cutoff value. The R Markdown clustering template has been updated to reflect this change. - Renamed
quantileHeatmap
toplotQuantileHeatmap
, for consistency with other plotting functions. - Initial support for customized bracket based subsetting, which now acts upon
the raw cellular barcode counts stashed in the
object@bcbio
slot. - Moved
darkTheme
to basejump package and reworked asmidnightTheme
, with improved colors and axis appearance. - Added
pointsAsNumbers
parameter toplotTSNE
andplotPCA
functions, to match the functionality inplotMarkerTSNE
. - Overhauled
loadCellRanger
to support multiplexed Cell Ranger matrix output. Cell Ranger adds a numeric suffix to the end of multiplexed barcodes (e.g.AAACCTGGTTTACTCT-1
denotes cellular barcodeAAACCTGGTTTACTCT
is assigned to sample1
). - Improved
cell2sample
mapping inaggregateReplicates
function, which uses thesampleNameAggregate
column in sample metadata to define the aggregate sample pairings. Thesummarize
step at line 101 is slow for datasets with many samples and should be changed in the future to speed things up. - Improved internal
cell2sample
code to handleNULL
stashed mappings better. - Updated TNSE plotting functions to use
midnightTheme
instead ofdarkTheme
. - Added user-defined point and label sizes for
plotMarkerTSNE
. - Fixed typo in
plotMitoRatio
wheremaxGenes
cutoff was plotted instead ofmaxMitoRatio
. - Added
legend
parameter argument toplotQC
function. Also improved handling ofNULL
return forplotReadsPerCell
, which can happen with Cell Ranger output. - Updated facet wrapping in
plotZeroesVsDepth
to match the behavior in the other plotting functions. - Initial methods support for custom bracket-based subsetting.
- Improved facet wrapping of aggregated samples (
sampleNameAggregate
present in sample metadata), but removing code support for wrapping by multiplexed FASTQ description. - Simplified handling of
bcbioSingleCell
objects withfilterCells
applied. This information is stored in themetadata
slot as 3 variables: (1)filterParams
, numeric vector of the parameters used to define the cell filtering cutoffs; (2)filterCells
, character vector of the cellular barcode IDs that passed filtering; (3)filterGenes
, character vector of the Ensembl gene identifiers that have passed filtering, as determined by theminCellsPerGene
parameter. - For
filterCells
return, we're now defaulting to a destructive operation, where the columns (cells) and rows (genes) of the object are adjusted to match the cells and genes that have passed filtering. Currently this can be adjusted with thedrop
argument for testing, but should generally be left asdrop = TRUE
. - We're now slotting a
cell2sample
named factor in themetadata
slot, which makes downstream quality control operations faster. This is generated on the fly for previously saved objects that don't have a stashedcell2sample
. - Initial commit of
plotQC
utility function, which plots multiple quality control functions for easy visualization. This defaults to output as a cowplot grid (return = "grid"
), but can alternatively be set to return R Markdown code (return = "markdown"
). aggregateReplicates
operation has been improved to properly slot raw cellular barcodes inobject@bcbio$cellularBarcodes
. ThefilterCells
vector is adjusted, andsampleMetadata
factors should be properly releveled.- The
counts
accessor simply returns the sparse matrix contained in theassay
slot. ThefilterCells
argument has been removed. - Messages have been added to the
filterCells
function, to help the user determine at which step the majority of cells are being filtered. We're keeping a non-destructive option usingdrop = FALSE
for the time being, but this will likely be removed for improved simplicity in a future update. - Updated the internal code for
metrics
to use a simpler join operation on thecolData
,cell2sample
andsampleMetadata
. - Updated facet wrap code in quality control plots to not facet multiplexed
FASTQ descriptions and simply check for
sampleNameAggregate
. - Improved appearance of
plotReadsPerCell
labels and legends. Additionally,plotReadsPerCell
more efficiently handles the stashed values in thenCount
column ofcolData
, for faster plotting that having to rely on manipulation of the rawcellularBarcodes
list stashed inobject@bcbio$cellularBarcodes
. sampleMetadata
return is now consistently sanitized forbcbioSingleCell
andseurat
objects.- Minor tweaks to quality control template and setup.R files.
- Added
plotFeatureTSNE
utility function. This improves onSeurat::FeaturePlot
and enables the user to overlay the cluster identifiers on top of the t-SNE plot.plotFeatures
is now deprecated in favor of this function. - Improved internal handling of Seurat data in the
.fetchDimDataSeurat
function. This now keeps the cell ID as the rowname. - Allow the user to define the color palette (
color
), as well aspointSize
andlabelSize
forplotPCA
andplotTSNE
. - Factors are now correctly releveled in
cell2sample
return. - Improved internal code for
fetchTSNEExpressionData
. - Bug fix for
metrics
accessor not including the cell ID as rownames. - Clustering template fixes. Now uses
plotFeatureTSNE
to assess quality control metrics on t-SNE.
- Now internally stashing a
cell2sample
data.frame, which helps speed up operations on cellular barcode metrics calculations for quality control plots. - Improved support for optional
annotable
,ensemblVersion
,gtfFile
, andsampleMetadataFile
arguments inloadSingleCell
function. - Simplified some of the messages shown during sample loading, in an attempt to
make them clearer and more informative. Also improved messages shown to the
user during a
filterCells
function call. - The
metrics
function will now look for a stashedcell2sample
data.frame
, which speeds up operations for quality control plots. - Improved handling of sample metadata columns as factors. In particular, levels
should be correctly updated using
droplevels
in aselectSamples
call. The bcbioRNASeq package has also been updated to work in a similar fashion, where all columns in the sample metadata data.frame are now defined as factors. - Simplified
bcbioSingleCell
toseurat
object coercion to stash all of the bcbio metadata, and simply return the basicseurat
object, rather than trying to also perform normalization and scaling. These steps have instead been added back to the Seurat R Markdown clustering template. - Updated cell cycle and cell type markers from our master copy on Google Sheets.
- Added a troubleshooting section to the GitHub README, with a note on maximum DLLs.
- Updated package imports to match Bioconductor 3.6.
- Initial support for
plotCellTypesPerCluster
. - Initial support for
plotMitoVsCoding
. I broke this code out fromplotMitoRatio
. We could opt to keep this inplotMitoRatio
with ageom = "scatterplot"
argument. - Initial commit of
.applyFilterCutoffs
internal function, used to subset the object to contain only cells and genes that have passed quailty control filtering. - Improved Seurat
FindAllMarkers
sanitization. - Made the quality control plots more modular. Now they support multiple geoms,
including
boxplot
,histogram
,ridgeline
, andviolin
(default). Median labels are applied with the internal.medianLabels
function. - Updated error message for Cell Ranger directory structure.
- Cellular barcode columns are no longer split with an underscore. Instead, they
are kept as a single ACGT string. We're now generating
cellID
tosampleID
matching with a different method. In the future, we'll stash a cell2sample data.frame inside the object, that makes this operation faster than the currentmclapply
code. - Updated annotable support in
loadSingleCell
andloadCellRanger
. - Added support for handling both gene- and transcript-level counts. The updated release of the bcbio single-cell pipeline now outputs at gene level.
- Initial quality control plot support for seurat objects.
- Added support for return of only filtered cells and genes with the
counts(filterCells = TRUE)
function. - Added assignment support for
interestingGroups<-
. - Initial support for sample metadata generation from seurat object.
- Improved internal code for
selectSamples
. - Updated
topMarkers
to match Seurat v2.1 update. - Improved
bcbioSingleCell
toseurat
coercion method withsetAs
.
- Upgraded to basejump 0.1.0 and Seurat 2.1.0 dependencies.
- Improved documentation of NAMESPACE imports per function.
- Switched to base grep functions where applicable (
grepl
,gsub
). - Use GTF in package documentation rather than GFF. Applies primarily to the
loadSingleCell
import function. - Restrict class support in S4 methods to
bcbioSingleCell
. LegacybcbioSCDataSet
class can be upgraded tobcbioSingleCell
class usingas(bcb, "bcbioSingleCell")
coercion. - Use filtered cell output for
metrics
and quality control functions by default. - Updated the quality control R Markdown to include
filterCells = FALSE
where applicable. - Draft support for aggregated technical replicates in quality control functions
using
sampleNameAggregate
column in sample metadata. This doesn't change the actual counts values. It only applies to visualization in the quality control plots currently. - Miscellaneous R Markdown template updates. Primarily improvements to the setup chunk object loading workflow.
- Removed lintr checks from testthat. This is breaking
devtools::test
.
- Renamed main object class from
bcbioSCDataSet
tobcbioSingleCell
. - Cell filtering with
filterCells
will now slot a named logical vector intometadata(object)[["filteredCells"]]
, which will be used to dynamically subset the slotted internalSummarizedExperiment
data. Now that we're using this approach, we can return a modifiedbcbioSingleCell
object rather than defining a separatebcbioSCFiltered
class. - Renamed
loadSingleCellRun
toloadSingleCell
, to match bcbioRNASeq package. - Now allowing implicit integers in our function code.
- Added support for plotting technical replicates. This is handled by
sampleNameAggregate
in the sample metadata. - Now using ridgeline plots in place of histograms where applicable.
- Travis CI checks take too long when loading SummarizedExperiment. Hopefully this will be fixed in the 3.6 release later this month.
- New internal dark theme (
darkTheme
), based on the Seurat theme. - Initial commit of
plotDot
function, based onSeurat::DotPlot
. - Added new t-SNE plots that allow for consistent cluster labeling.
- Providing legacy support for
bcbioSCDataSet
andbcbioSCFiltered
, which will be deprecated in a future release. - Offloaded some internal code to basejump, for improved consistency with
bcbioRNASeq package:
internal-projectDir.R
,internal-readSampleMetadataFile.R
,internal-sampleDirs.R
. We may want to provide this code as a shared bcbio core package (e.g. bcbioBase) in the future. - Added internal utility to check for valid marker genes (
.validMarkers
). - Improved Ensembl release version support (
ensemblVersion
).
- Renamed
plotClusters
toplotMarkers
. Added soft deprecation. - Added viridis color support in t-SNE plots and heatmaps.
- Converted
loadSingleCellRun
andloadCellRanger
from S4 generics back to standard functions. - Added t-SNE utility functions:
fetchTSNEData
,fetchTSNEExpressionData
, andplotTSNEExpressionData
. This enable plotting of geometric mean values of desired marker genes. - Updated NEWS to Markdown, with hyperlinks.
- Offloaded generics that would otherwise conflict with bcbioRNASeq to the basejump package.
- Improved roxygen2 documentation. Moved as much documentation as possible to the methods files.
- Updated
cellCycleMarkers
andcellTypeMarkers
data. Now supports Drosophila. - Sample IDs are now sanitized using
make.names
instead ofcamel
. This avoids undesirable coercion of some IDs (e.g.group1_1
intogroup11
). - Added recommended package syntax guidelines.
- lintr checks now allow implicit integers (e.g.
1
instead of1L
). - Added Seurat as dependency in
DESCRIPTION
file. The package now attaches Seurat automatically. - Package no longer imports mononcle or suggests scater, scde, or scone. We're planning on adding these back in a future update, but build checks on Travis CI otherwise take too long.
- Added new
quantileHeatmap
function. - Improved Markdown header support across functions, where applicable.
- Improved
bcbioSCFiltered
toseurat
coercion to slot relevant bcbio metadata.
- Renamed package from
bcbioSinglecell
tobcbioSingleCell
. - Added viridis color palette support to quality control plots.
- Added cell-cycle marker genes for human and mouse.
- Slotted
organism
inbcbioSCDataSet
metadata, in addition togenomeBuild
. - Updated
bcbioSCFiltered
toseurat
coercion method to also runFindVariableGenes
andScaleData
by default. - Added cell-cycle regression into Seurat clustering R Markdown template.
- Improved pkgdown settings and website appearance.
- Support for CRAN release of Seurat.
- Improved documentation of package NAMESPACE in
bcbioSinglecell-package.R
file. - Offloaded
download
functionality to basejump package, to avoid collisions with bcbioRNASeq package. Function has been renamed toexternalFile
. - Removed function deprecations to simplify the NAMESPACE.
- Improved Cell Ranger sample matching. With these changes the internal
.detectPipeline
function is no longer needed. - Improved sample directory matching in internal
.sampleDirs
function. - Updated paths to Cell Ranger MatrixMarket files in internal
.readSparseCounts
function. - Updated use of
packageSE
toprepareSE
, matching the corresponding basejump function change. - Renamed internal use of
filter
totidy_filter
, to avoid future NAMESPACE collisions with ensembldb package. - Renamed
bcbioSCSubset
class tobcbioSCFiltered
class. - Fixed memory issue in
plotZeroesVsDepth
for datasets with high cell counts. - Improved sample matching for
selectSamples
. Will attempt to migrate this to bracket-based subsetting in a future update. - Restricted sample selection with
selectSamples
to only work onbcbioSCFiltered
class for the time being. We can add bracket-based subsetting or S4 method support inselectSamples
to properly work onbcbioSCDataSet
class in a future update. - Updated R Markdown template settings and simplified the setup chunks.
- Initial support for
bcbioSCFiltered
class coercion to monocleCellDataSet
class. - Suggest scater and scone packages for additional quality control and visualization.
- Require monocle >= 2.5.0.
- Added initial support for viridis color palette in quality control plots.
- Suggest rmarkdown and scde packages.
- Initial commit of
subsetPerSample
function. - Miscellaneous RMarkdown template improvements.
- Renamed functions in
lowerCamelCase
fromsnake_case
. - Draft support for monocle, scater, and scone.
- Package now depends on SummarizedExperiment.
- Renamed
loadRun
toloadSingleCellRun
for improved compatibility with bcbioRNASeq package. This helps avoid NAMESPACE collisions between packages. - Improved support for custom GTF files.
- Split out Cell Ranger import into a separate utility function named
loadCellRanger
. - Added plotZerosVsDepth() by @roryk.
- Renamed
filteringCriteria
tofilterParams
in@metadata
slot. - Miscellaneous documentation fixes.
- Migrated plotting functions to S4 methods.
- Improved sample metadata handling.
- Updated sample name and cellular barcode sanization.
- Initial commit of Seurat utility functions.
- Initial commit of YAML parameters for RMarkdown templates.
- Draft support for Seurat v2 pre-release.
- Initial support for SureCell UMIs.
- Integrated bcbio and Cell Ranger workflows into
load_run
.
- Initial support for S4 object creation using SummarizedExperiment.
- Updated RMarkdown templates.
- Compatibility update for basejump S4 NAMESPACE changes.
- Improved plots for quality control and filtering.
- Renamed mitochondrial plot functions.
- Changed presentation of mitochondrial abundance as ratio instead of percentage.
- Simplified NAMESPACE by offloading dependencies to basejump.
- Initial support for loading of 10x Genomics Cell Ranger output.
- Add detection of droplet method based on the metadata file.
- Draft support for import of inDrop i5 index barcode counts.
- Modified
load_run
function for improved consistency with bcbioRNASeq package. - Initial incorporation of scater package into workflow.
- Initial commit of RMarkdown template skeletons.
- Improvements to run object based on code in bcbioRNASeq package.
- Better handling in plots for datasets with many samples.
- Labeled quality control cutoffs on the plots.
- Prepared package for tidyverse dependency updates.
- Updated HPC server detection.
- NAMESPACE consolidation and function cleanup.
- Added quality control plotting functions.
- Converted all functions to standard evaluation.
- Initial draft release.