All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix bug when merging samples with different sets of features, which sometimes could cause unsorted row values and thus sparse matrices with invalid internal representation.
project
now handleskwargs
that are only needed for some of the projection steps (by simply ignoring them when not needed).
local_outlier_factor
,local_outlier_factor_table
,local_outlier_factor_projection
,local_outlier_factor_projection_table
- Updated tutorial to reflect changes in SingleCellProjections v0.4.
- DataMatrix will now always use the first column of var/obs annotations as ID. (Multiple ID columns are no longer supported.)
load_counts
- The default obs ID column name is now "cell_id" (was "id" before).load10x
- default to using only first column (id) as unique identifier. Specify e.g.var_id="var_id"=>["id", "feature_type"]
to merge multiple columns to create the ID.load10x
- default to using first column (barcode) as unique identifier.load10x
- no longer supportscopy_obs_col
kwarg.set_var_id_cols!
is replaced withset_var_id_col!
(since there is only one ID column).set_obs_id_cols!
is replaced withset_obs_id_col!
(since there is only one ID column).- Update to SCTransform 0.2, which handles
logcellcounts
better when there are multiple modalities (e.g. RNA and antibody counts) present in the data.
var_counts_fraction
- Just likevar_counts_fraction!
, but not modifying the object in place.var_counts_sum
andvar_counts_sum!
- For summing over selected variables. Useful for counting e.g. total RNA expression and finding number of expressed features.- Added support for using external annotations where applicable (filter, transforms, normalization, statistical tests, var_counts_fraction!, var_counts_sum!)
- Added experimental (thus yet unexported)
Annotations
struct, that wraps aDataFrame
with IDs in the first column, and ensures that ID remain when accessing columns. (So that the resulting object can be leftjoined todata.obs
/data.var
.)
- Add compat for weakdeps (UMAP, TSne, PrincipalMomentAnalysis).
- SVDModel now only stores
U
andS
sinceV
is not needed for projection.
- Relax
===
to==
when comparing some models. (This fixes a bug occurring when a model is saved to disk using e.g. JLD2 and the loaded again.)
svd
,force_layout
andpma
now supportsseed
kwarg. To use it,StableRNGs
must be loaded.
load_counts
- You can now pass a single filename to load a single file (previously arrays were required, but the error message was confusing).
local_outlier_factor!
- Compute the Local Outlier Factor (LOF) for each observation in a DataMatrix. Supports finding neighbors in a low dimensional space (e.g. after PCA or UMAP), but computing distances in a high dimensional space (e.g. after normalization).local_outlier_factor_projection!
- Compute the Local Outlier Factor (LOF) for each observation in a DataMatrix. Only points in thebase
data set are considered as neighbors.
knn_adjacency_matrix
- kwargmake_symmetric
must now be specified by the caller.
pseudobulk
: function used to collapse a DataMatrix into a smaller DataMatrix by averaging over groups of observations.
- Add stdlib compat
- Add compat with HDF5.jl v0.17
- UMAP, TSne and PrincipalMomentAnalysis support now uses Package Extensions (on Julia 1.9+)
- Compat bump for SingleCell10x which should reduce loading time and memory usage when reading from .h5 files
- Bug fix: Add missing method for
SCTransformModel
.
- Float32 support:
sctransform
,logtransform
andtf_idf_transform
now supports an optional type argumentT
which controls the eltype of the sparse transformed matrix. By setting it toFloat32
it is possible to reduce memory usage with little impact on results, since downstream computations are still performed inFloat64
precision.
normalize_matrix
: Categorical coviariates withmissing
values will now error.differentialexpression
: Removed function. Differential expression is now done withftest
,ttest
ormannwhitney
instead.logtransform
andtf_idf_transform
now defaults to only keeping features withfeature_type
"Gene Expression" (iffeature_type
is present as a variable annotation).
- Statistical tests: F-test (ANOVA, Quadratic Regression, etc.), t-tests (Two-Group comparison, linear regression etc.) and MannWhitney U-test (Wilcoxon rank-sum-test).
- Support for TwoGroup covariates (also useful for
normalize_matrix
).