output_width
and output_height
to the Iterate_*
family of plotting functions (#217).Random_Cells_Downsample
that prevented setting identity using the group.by
parameter.Cell_Highlight_Plot
that didn't pass the reduction parameter properly (#216).return_plots
in iterative plotting functions(#217).Major Updates to Functionality with rliger Package:
Added new utility functions to interact with liger v2.0.0+ object format change:
- Subset_LIGER
to quickly subset by cluster or other meta data variable.
- Cells_by_Identities_LIGER
to extract list of barcodes sorted by values within given meta data column.
Extended the following Seurat/SeuratObject generic functions to work seamlessly with liger objects:
- Cells
to extract vector of all cells or list vectors of cells by dataset.
- Features
to extract vector of all features or list vectors of features by dataset.
- WhichCells
to extract vector or list of cells matching identity criteria.
- Embeddings
to extract matrix containing dimensionality reduction embeddings or iNMF h.norm matrix.
- Idents
and Idents<-
to extract and set default identities/clusters.
Updated functions to interact with both old and new style liger objects:
- plotFactors_scCustom()
- Fetch_Meta
- Top_Genes_Factor
- Add_Mito_Ribo
- Add_Cell_Complexity
- DimPlot_LIGER
- Variable_Features_ALL_LIGER
- Feature_Present
New functions compatible with old and new style liger objects:
- Added new function Add_Hemo
to add hemoglobin gene percentage for QC. Also added as parameter to Add_Cell_QC_Metrics
. Add_Hemo
supports all default species: (human, mouse, marmoset, zebrafish, rat, drosophila, rhesus macaque, and chicken) and works with both Seurat and liger objects.
New scCustomize generics to function across both Seurat and Liger objects:
- Add_Hemo
(see above).
- Rename_Clusters
now S3 generic for setting new active.ident (Seurat) or defaultCluster (Liger).
New functions for Seurat and rliger v2.0.0+ only:
- Added new function Find_Factor_Cor
to return correlation matrix between factor gene loadings from liger or Seurat object.
- Added new function Factor_Cor_Plot
to plot positive correlations from liger or Seurat object.
Updated functions to recommend new rliger equivalents for users with rliger v2.0.0+:
- as.LIGER
- as.Seurat
General scCustomize Updates:
New functions:
Add_Hemo
to add hemoglobin gene percentage for QC. Also added as parameter to Add_Cell_QC_Metrics
. Add_Hemo
supports all default species: (human, mouse, marmoset, zebrafish, rat, drosophila, and rhesus macaque) and works with both Seurat and liger objects.seq_zeros()
to create sequences with preceding zeros.Read_Metrics_CellBender
to read in the summary metrics csv file produced by CellBender. Can either read all metrics files from parent directory of output folders or a single metrics file.Updated_MGI_Symbols
to check for update gene names/symbols in mouse data (#202).Proportion_Plot
to plot pie chart or bar chart of proportion (or total counts) of cells in each identity class.Random_Cells_Downsample
to return either a vector or list with randomly downsampled cells for each identity class.Cells_per_Sample
to quickly return data.frame with just number of cells per sample.Updated functions:
data_name
and overwrite
to Add_Alt_Feature_ID
to support new storage location.cells
parameter explicitly to FeatureScatter_scCustom
.SpatialDimPlot_scCustom
. Thanks for encouragement @puapinyoying @nina-hahn (#160).Read_Metrics_10X
to read a single metrics csv file and return data formatted the same way as when reading multiple files.cutoff_line_width
to the QC_Plot_*
family of plots to control line thickness of cutoff lines.Cluster_Stats_All_Samples
now returns data.frame with row order reflecting the frequency of cells.Add_Mito_Ribo
now supports datasets aligned to multi-species reference genomes (#184).add_prop_plot
to DimPlot_scCustom
to return plot showing number or percent of cells per identity along with the DimPlot.colors_use_assay2
to FeaturePlot_DualAssay
which allows for specification of different palettes for the two plots (#182).Add_Cell_QC_Metrics
.Store_Misc_Info_Seurat
and Store_Palette_Seurat
.reduction
parameter in Cluster_Highlight_Plot
and Meta_Highlight_Plot
(#198).show_row_names
show_column_names
, column_names_side
, row_names_side
, legend_position
, legend_orientation
, show_ident_legend
, and show_ident_colors
parameters to Clustered_DotPlot
. Thanks for idea and code @johnminglu (#199).Split_Vector
to allow user to specify number of chunks or size of chunks for splitting vector.RenameClusters
with additional parameters to enable storage of both old idents and new idents in meta.data within the function.Add_Cell_QC_Metrics.Seurat
to explicitly reveal list_species_names
parameter.Add_Top_Gene_Pct_Seurat
is now S3 generic that works with both Seurat and liger objects and has been renamed Add_Top_Gene_Pct
.Add_Cell_QC_Metrics
is now S3 generic and works with both Seurat and liger objects.Add_Alt_Feature_ID
to @misc
slot of object for safer storage across object filtering.as.anndata
to explicitly check for installation of anndata before starting conversion (#162).Plot_Median_Genes
, Plot_Median_UMIs
, Plot_Median_Mito
, Plot_Median_Other
, Plot_Cells_per_Sample
to understand "ident" as grouping variable.Store_Misc_Info_Seurat
to use Seurat accessor/setter function Seurat::Misc()
.sample_names
in Read_CellBender_h5_Multi_File
to clarify parameter behavior (related to (#208)).Read_Metrics_10X
to support adjusts to metrics summary format and metric names in output from Cell Ranger v9+.Plot_Density_Custom
and Plot_Density_Joint_Only
have been re-enabled for users with ggplot2 v3.5.0 following Nebulosa v1.12.1 update patch.Add_Cell_QC_Metrics
when overwrite = TRUE
(#165).DotPlot_scCustom
(#158).as.anndata
from Seurat conversion that previously caused failures (#168).Create_Cluster_Annotation_File
if for file path and csv name errors.plot_median
and more than one feature in VlnPlot_scCustom
(#169).DimPlot_scCustom
due to changes in guides updated with ggplot2 v3.5.0 (#171).Add_Sample_Meta
that still errored when setting na_ok = TRUE
.Plot_Median_*
family that caused issues when group_by
parameter was NULL.FeaturePlot_scCustom
when setting combine = FALSE
.DimPlot_scCustom
that could cause blank plot when rasterizing points.MAD_Stats
that didn't respect mad_num
parameter (#183).MAD_Stats
that could cause issues if mad_num
was less than or equal to 0 and returned error if setting group_by_var
to "ident".all_of
/any_of
syntax.Cluster_Highlight_Plot
with split.by
parameter (#201).Convert_Assay
(#205).Updated_HGNC_Symbols
due to change in URL path for gene names (#209).DimPlot_scCustom
when split.by
and label.box = TRUE
.DiscretePalette_scCustom
that didn't error when supplying invalid palette names.DimPlot_LIGER
that provided uniformative error message when changing the default cluster ident.Plot_Density_Custom
and Plot_Density_Joint_Only
due to error in Nebulosa following ggplot2 v3.5.0 update. Functionality will be restored when Nebulosa package is updated.as.liger
that prevented function from running properly.title_prefix
parameter to Iterate_DimPlot_bySample
to unify with Meta_Highlight_Plot
.Split_Vector
to split vector in chunks of predetermined sizes.Updated_HGNC_Symbols
to update human gene symbols. After first use does not require internet connection.Seurat::LogSeuratCommand()
.plot_legend
to plotFactors_scCustom
to allow for removal to legend in factor loading plots.Iterate_FeaturePlot_scCustom
to allow for plotting multiple plots per page when saving to single PDF document (see new parameters: features_per_page
and landscape
.LIGER_Features
utility function for LIGER objects (analogous to Seurat::Features()
).as.LIGER()
as enhanced method for conversion of Seurat objects or lists of Seurat objects to single LIGER object.as.anndata()
to support conversion of Seurat and LIGER objects to anndata format.Convert_Assay()
to perform easy conversions of Seurat assays between V3/4 (Assay) and V5 (Assay5) formats.assay_type
to allow manual control of assay type when creating Seurat object from LIGER using Liger_to_Seurat
. Now as.Seurat
.grid_color
to Clustered_DotPlot
to control the color of grid lines (default is no grid lines).Clustered_DotPlot
by additional variable and maintain expression information.Split_Layers()
function for V5 objects.Add_Alt_Feature_ID
to add alternative feature ids to an Assay5 meta.data slot.Add_Mito_Ribo()
replaces Add_Mito_Ribo_Seurat
and Add_Mito_Ribo_LIGER
.Add_Cell_Complexity()
replaces Add_Cell_Complexity_Seurat
and Add_Cell_Complexity_LIGER
.Meta_Present_LIGER
has been deprecated and wrapped inside of Meta_Present
.Liger_to_Seurat()
has been soft-deprecated. It is replaced by new extension of Seurat generic as.Seurat
with added support for Liger objects, using all the same parameters as Liger_to_Seurat
. Full deprecation will occur in v2.2.0.Gene_Present
has been soft-deprecated. It is replaced by Feature_Present
which functions identically but better reflects that features present may also be proteins. Full deprecation will occur in v2.2.0.legend
in Iterate_DimPlot_bySample
has been inverted to no_legend
to match Meta_Highlight_Plot
parameters.Liger_to_Seurat()
for compatibility with Seurat V5 structure (#153). Now part of as.Seurat
.Stacked_VlnPlot
due to rasterization defaults.alpha_na_exp
appropriately in FeaturePlot_scCustom
.alpha_exp
between Seurat versions 4 and 5 (#144).DimPlot_scCustom
when levels are missing from a split plot.FeaturePlot_scCustom
that could cause plots to be mislabeled when using split.by
and depending on the order of features provided (#150).DimPlot_LIGER
(#153).Add_Mito_Ribo_LIGER
that caused it to return value of 0 for all cells (Now part of renamed Add_Mito_Ribo
S3 generic).Clustered_DotPlot
to display percentage instead of proportion to match legend text.Percent_Expressing
error when group_by = "ident"
.DotPlot_scCustom
that didn't correctly pass group.by
when plotting (#158).VariableFeaturePlot_scCustom
now fixed in Seurat release.Add_Mito_Ribo_Seurat
causing failure due to error message when overwrite = TRUE
.Add_Top_Gene_Pct_Seurat
to avoid issue that accidentally could call function on normalized data.Add_Top_Gene_Pct_Seurat
that caused error if more than one counts layer was present.QC_Histogram
that prevented plotting or titling of plots.multi
pipeline to Read10X_Metrics
via new parameter cellranger_multi
.dot_size
parameter to Seq_QC_Plot_*
family of functions.Barcode_Plot
and Iterate_Barcode_Rank_Plot
.ident_legend
parameter to QC_Plot_UMIvsGene
to control show/hide of the identity legend (#121).CellBender_Feature_Diff
.min_count_label
in CellBender_Diff_Plot
to better control feature labeling.Iterate_DimPlot_bySample
using new sample_column
parameter.MAD_Stats
to calculate to the median absolute deviation of meta.data columns by grouping variable and across entire object.Add_Top_Gene_Pct_Seurat
to add another QC measure of cell complexity to object meta.data. Returns percentage of counts occupied by top XX genes in each cell.VariableFeaturePlot_scCustom
using custom_features
parameter.Add_Cell_QC_Metrics
to simplify adding cell QC metrics. Single function call to add Mito/Ribo Percentages, Cell Complexity, Top Gene Percentages, MSigDB Percentages, IEG Percentages, and/or Cell Cycle Scoring (human only).Add_Cell_QC_Metrics
function: "msigdb_qc_gene_list" and "ieg_gene_list".Add_Cell_QC_Metrics
.plot_median
and plot_boxplot
to VlnPlot_scCustom
(and VlnPlot_scCustom
-based plots; e.g., QC_Plot_*
family) for added visualization.QC_Histogram
to plot QC features (or any feature) using simple histogram.FeatureScatter_scCustom
function to customize Seurat's FeatureScatter
plots.figure_plot
parameter to all 2D DR (t-SNE, UMAP, etc) based plots (#127).Split_FeatureScatter
function has been completely deprecated and it's functionality has been moved to new FeatureScatter_scCustom
.gene_list
in Iterate_FeaturePlot_scCustom
and Iterate_VlnPlot_scCustom
has been soft-deprecated and replaced by features
parameter. Specifying gene_list
will display deprecation warning but continue to function until next major update.Read10X_Metrics
to use new internal helper functions.Liger_to_Seurat
to transfer the liger_object@H slot in addition to H.norm slot already moved.length(x = colnames(x = obj)
with length(x = Cells(x = obj)
for accurate plotting based on V5 object structure.Gene_Present
now accepts assay
parameter.R/
for better organization.scCustomize_Palette
). Now if number of colors is greater than 2 but less than 8 the default palette will be ColorBlind_Pal
(previously it was "polychrome"). Polychrome remains the default when number of colors is between 9-36.scCustomize_Palette
to ggplot_default_colors = FALSE
to avoid uncessary error when no value supplied.DimPlot_scCustom
will now set label = TRUE
if label.box
is set to TRUE but label
is not changed from default.PackageCheck
(now deprecated), with rlang::is_installed()
for non-dependency checks.Read10X_Metrics
that caused errors when reading files on windows operating system (#115).Create_CellBender_Merged_Seurat
when feature names are changed (underscore to dash) during object creation (#118).Read10X_h5_Mutli_Directory
when reading Cell Ranger multi
directories.VlnPlot_scCustom
, DimPlot_scCustom
, and DotPlot_scCustom
to avoid otherwise ambiguous error messages (#120).VlnPlot_scCustom
(#122).Cell_Highlight_Plot
that could cause function to error without proper error message.Read_*
functions to avoid unnecessary errors.drop_na(.data[[var]]
, with current dplyr syntax.VlnPlot
-based plots when split.by
is not NULL.group.by
when using DimPlot_scCustom
(#128).Add_Mito_Ribo_Seurat
and Add_Mito_Ribo_LIGER
which incorrectly stated the names of new meta.data/cell.data columns to be added.DotPlot_scCustom
that prevented it from working unless group.by
parameter was explicitly added.Case_Check
caused by typo.Cluster_Highlight_Plot
and Meta_Highlight_Plot
that were too verbose.Add_Mito_Ribo_Seurat
and Add_Mito_Ribo_LIGER
which caused error when supplying custom list of features for non-default organism (#133).DimPlot_scCustom
preventing that errored when trying to split plot and use figure_plot
at same time.Merge_Seurat_List
.aspect_ratio
parameter to all dimensionality reduction plots to control axes ratio of output plot.plot_median
and median_size
parameters to QC_Plots_*
functions.split_collect
parameter to FeaturePlot_scCustom
to collect all guides when using split.by
for a single feature (#94).Clustered_DotPlot
to allow modification of sizes of column text labels, legend text labels, and legend title labels (#96).Merge_Sparse_Multimodal_All
for merging multi-modal data (1 matrix per modality) (#104).Clustered_DotPlot
named row_label_fontface
to allow control of fontface used for row labels (#103).Reduction_Loading_Present
, in part to fix issue with FeaturePlot_scCustom
and internal feature checking.Clustered_DotPlot
using new parameters: cluster_feature
, cluster_ident
(#106).dot_size
parameter to statistics plotting functions Plot_Cells_per_Sample
and Plot_Median_*
family.no_legend
to Iterate_Meta_Highlight_Plot
to allow for plotting with a plot title instead of plot legend (#108).QC_Plots_Feature
to use VlnPlot_scCustom
under the hood like rest of QC_Plots_*
functions.abort
in Meta_Present
to return_none
to align with Gene_Present
and Reduction_Loading_Present
.summarise_at
, select(.data[[var]])
, and rename(.data[[var]])
with current dplyr syntax.Iterate_Cluster_Highlight_Plot
and Iterate_Meta_Highlight_Plot
to align with recent updates to base Cluster_Highlight_Plot
and Meta_Highlight_Plot
functions.QC_Plots_Feature
to respect parameters when passing to VlnPlot
(#91).Read_CellBender_h5_*
functions to support CellBender outputs from STARsolo- or Cell Ranger (pre-V3)-processed data (#99).FeaturePlot_scCustom
to allow for plotting of dimensionality reduction loadings (#97).Read10X_Multi_Directory
and Read10X_h5_Multi_Directory
to support files processed with Cell Ranger multi
pipeline.Merge_Seurat_List
that prevented add.cell.id
from adding correct cell name prefixes (#113).label_color_num
parameter to PalettePlot
allow control of color labeling.Stacked_VlnPlot
90 degrees or 45 (previously possible) (#84).Merge_Seurat_List
to avoid ambiguous error messages on failure.Case_Check
checks/messages to all feature-based plotting functions.PalettePlot
has been changed from palette
to pal
.PalettePlot
to support pal
of class "colors".Cluster_Highlight_Plot
and Meta_Highlight_Plot
.Fetch_Meta
is now S3 generic function that can handle either Seurat or LIGER objects.R/
scripts for better organization.Add_Mito_Ribo_Seurat
and Add_Mito_Ribo_LIGER
.Add_Mito_Ribo_Seurat
to respect provided mito_name
, ribo_name
and mito_ribo_name
values.merge
parameter to Read10X_GEO
, Read10X_h5_GEO
, Read_GEO_Delim
and Read_CellBender_h5_Multi_File
.raster.dpi
parameter to DimPlot_LIGER
.label
parameter to FeaturePlot_scCustom
to avoid error collision (#80).vln_linewidth
parameter to control violin outline line width (#32).Fetch_Meta
for returning data.frame of object meta data.Extract_Sample_Meta
to extract sample-level meta data from object.Cell_Highlight_Plot
for highlight plots of custom cells not in active ident or meta data.flip
parameter to Clustered_DotPlot
to enable axes flipping (#69).R/
scripts for better organization.FindMarkers
.CellBender_Feature_Diff
to return data.frame with count sums and differences between raw and CellBender assays.CellBender_Diff_Plot
to plot differences between raw and CellBender assays using data from CellBender_Feature_Diff
.Add_CellBender_Diff
is new name for Add_Cell_Bender_Diff
in order to unify function names for CellBender related functions.mito_name
parameter to QC_Plots_Mito
to allow for custom specification of meta data column name that contains mitochondrial information.QC_Plots_Combined_Vln()
function to return patchwork layout of 3 QC plots.Add_Mito_Ribo_Seurat()
and Add_Mito_Ribo_LIGER()
(#28).alpha_exp
and alpha_na_exp
parameters to FeaturePlot_scCustom
to allow for control of color scale transparency (#21).*_Highlight_Plot
functions can now plot multiple variables simultaneously using either one color for all variables or one color per variable (#34).figure_plot
to DimPlot_scCustom()
. This removes axes and axes labels and adds axis legend on left bottom corner of plot (#40).plot_legend
to Stacked_VlnPlot
. This solves issue with returning only one shared legend across all features being plotted (#48).Add_Cell_Complexity_Seurat
and Add_Cell_Complexity_LIGER
functions to add cell QC complexity/novelty metric (log10(Genes) / log10(UMIs)).QC_Plots_Complexity
plot for quick plotting of cell complexity score.Read_CellBender_h5_Mat
, Read_CellBender_h5_Multi_Directory
, Read_CellBender_h5_Multi_File
to enable easy reading of new CellBender output files.raster.dpi
parameter from Seurat to all DimPlot
FeaturePlot
or FeatureScatter
based functions.add.noise
parameter from Seurat to VlnPlot_scCustom
Stacked_VlnPlot
functions.group.by
as default listed parameter to added to allVlnPlot
based QC_Plot_*
.ensembl_ids
parameter for Add_Mito_Ribo_*
functions. If ensembl_ids = TRUE
functions will retrieve stored ensembl IDs representing mitochondrial and ribosomal genes for accepted default species.label_feature_yaxis
to FeaturePlot_scCustom
. Allows for plotting of feature names on secondary y-axis when using split.by
(#60).Add_Sample_Meta
function for addition of sample-level meta data to cell-level @meta.data
slot of Seurat objects.Read_GEO_Delim
to check for issues with imported matrices. Check is modified version of SeuratObject::CheckMatrix
called CheckMatrix_scCustom()
. Will warn if infinite, logical, non-integer (whole), or NA/NaN values are detected in input matrix.QC_Plot_UMIvsGene
will now returned filtered correlation value that takes into account meta_gradient_name
if provided in addition to nFeature_RNA and nCount_RNA.Variable_Features_ALL_LIGER
which allows for detection/selection of variable genes from entire LIGER object instead of iterating by dataset.PackageCheck
warning has been added where needed.VlnPlot
has been changed to Iterate_VlnPlot_scCustom
to reflect that it now uses VlnPlot_scCustom
to generate plots.QC_Plot_*
functions now use VlnPlot_scCustom
internally to unify color scheme and rasterization parameters.*_Highlight_Plot
functions no longer display "Unselected" in plot legend and uses DimPlot_scCustom
to generate plots (#34).low_cutoff
from plotting via QC_Plots_Mito
.Clustered_DotPlot
that prevented setting identity colors (#29).FeaturePlot_scCustom
that returned NULL when setting combine = FALSE
(#31).Seq_QC_Plot_*
functions which resulted in groups being plotted out of order when specifying plot_by
parameter.Seq_QC_Plot_*
functions that created color palette error when color palettes were not being used.DimPlot_scCustom
that caused mismatch of colors between plots when using split.by
if one of the plots was missing 1 or more of the group.by
levels (#37).VlnPlot_scCustom
that caused raster warning messages to be displayed twice (#42).Iterate_PC_Loading_Plots
that caused error when specifying current directory with file_path = NULL
or file_path = ""
DotPlot_scCustom
that prevented plotting of features in meta.data slot (#44).Stacked_VlnPlot
when no supplied features were present.plotFactors_scCustom
that was ignoring provided file name.plotFactors_scCustom
that caused progress to only display progress up to 50% even when it was fully complete.Clustered_DotPlot
that resulted in error related to color palettes if number of clusters was greater than 36 (#49).Add_Mito_Ribo_LIGER
that resulted custom column names (e.g. mito_name = "pct.mt"
) being disregarded and also therefore issue with overwrite
parameter. (#51).Store_Misc_Info_Seurat
that prevented function from working.Plot_Density_Custom
when supplying custom_palette
and multiple features. (#51).Clustered_DotPlot
so that legend with identities is displayed by factor level of Seurat object idents (#55).Split_FeatureScatter
to remove test code that prevented function from working properly (#57).DimPlot_All_Samples
, Split_FeatureScatter
, and DimPlot_scCustom
that ignored factor order when plotting groups.FeaturePlot_scCustom
when setting split.by
and one or more of features provided was not present in object (#64).VlnPlot_scCustom
function.Stacked_VlnPlot
make_unique
parameter to Extract_Top_Markers
function.Clustered_DotPlot
function.Add_Mito_Ribo_Seurat
and Add_Mito_Ribo_LIGER
.VlnPlot
.Read_Metrics_10X
errors that occurred due to differing outputs depending on Cell Ranger version or type of assay.importFrom
for DefaultDimReduc
from SeuratObject package to avoid potential errors.Read_Metrics_10X
errors that occurred due to differing outputs depending on Cell Ranger version or type of assay.importFrom
for DefaultDimReduc
from SeuratObject to avoid potential errors.Merge_Sparse_Data_All
. (#8)Read_Metrics_10X
, Read10X_Multi_Directory
, and Read10X_h5_Multi_Directory
.StackedVlnPlot
with parameters plot_spacing
and spacing_unit
. (#6)scCustomize_Palette
function select palette to use (simplify internal code).Iterate_VlnPlot
.Iterate_...
function checks for file path parameter if file_path = NULL
.