New in 0.11.0 (2021-05-23)

From the user perspective, this release features the new differential expression functionality (to be described in a manuscript). For now, it is accessible from differential_expression(). From the developer perspective, we made changes with respect to scvi.dataloaders.DataSplitter and surrounding the Pyro backend. Finally, we also made changes to adapt our code to PyTorch Lightning version 1.3.


  • Pass n_labels to VAE from SCVI (#1055).

  • Require PyTorch lightning > 1.3, add relevant fixes (#1054).

  • Add DestVI reference (#1060).

  • Add PeakVI links to README (#1046).

  • Automatic delta and eps computation in differential expression (#1043).

  • Allow doublet ratio parameter to be changed for used in SOLO (#1066).

Bug fixes

  • Fix an issue where transform_batch options in TOTALVI was accidentally altering the batch encoding in the encoder, which leads to poor results (#1072). This bug was introduced in version 0.9.0.

Breaking changes

These breaking changes do not affect the user API; though will impact model developers.

  • Use PyTorch Lightning data modules for scvi.dataloaders.DataSplitter (#1061). This induces a breaking change in the way the data splitter is used. It is no longer callable and now has a setup method. See TrainRunner and its source code, which is straightforward.

  • No longer require training plans to be initialized with n_obs_training argument (#1061). n_obs_training is now a property that can be set before actual training to rescale the loss.

  • Log Pyro loss as train_elbo and sum over steps (#1071)