This release adds features for tighter integration with Pyro for model development, fixes for
{class}`~scvi.external.SOLO`, and other enhancements. Users of {class}`~scvi.external.SOLO` are
strongly encouraged to upgrade as previous bugs will affect performance.
Enchancements
- Add {class}`scvi.model.base.PyroSampleMixin` for easier posterior sampling with Pyro ([1059]).
- Add {class}`scvi.model.base.PyroSviTrainMixin` for automated training of Pyro models ([1059]).
- Ability to pass kwargs to {class}`~scvi.module.Classifier` when using
{class}`~scvi.external.SOLO` ([1078]).
- Ability to get doublet predictions for simulated doublets in {class}`~scvi.external.SOLO`
([1076]).
- Add "comparison" column to differential expression results ([1074]).
- Clarify {class}`~scvi.external.CellAssign` size factor usage. See class docstring.
Changes
- Update minimum Python version to `3.7.2` ([1082]).
- Slight interface changes to {class}`~scvi.train.PyroTrainingPlan`. `"elbo_train"` and
`"elbo_test"` are now the average over minibatches as ELBO should be on scale of full data and
`optim_kwargs` can be set on initialization of training plan ([1059], [1101]).
- Use pandas read pickle function for pbmc dataset metadata loading ([1099]).
- Adds `n_samples_overall` parameter to functions for denoised expression/accesibility/etc. This is
used in during differential expression ([1090]).
- Ignore configure optimizers warning when training Pyro-based models ([1064]).
Bug fixes
- Fix scale of library size for simulated doublets and expression in {class}`~scvi.external.SOLO`
when using observed library size to train original {class}`~scvi.model.SCVI` model ([1078],
[1085]). Currently, library sizes in this case are not appropriately put on the log scale.
- Fix issue where anndata setup with a layer led to errors in {class}`~scvi.external.SOLO`
([1098]).
- Fix `adata` parameter of {func}`scvi.external.SOLO.from_scvi_model`, which previously did nothing
([1078]).
- Fix default `max_epochs` of {class}`~scvi.model.SCANVI` when initializing using pre-trained model
of {class}`~scvi.model.SCVI` ([1079]).
- Fix bug in `predict()` function of {class}`~scvi.model.SCANVI`, which only occurred for soft
predictions ([1100]).
Breaking changes
None!
Contributors
- [vitkl]
- [adamgayoso]
- [galenxing]
- [PierreBoyeau]
- [Munfred]
- [njbernstein]
- [mjayasur]