I’m looking into implementing a new project as an scvi model and am working my way through the code base to understand a bit more what is going on.
I’m still new to python module development and I’m wondering why certain methods are inherited from an actual parent class (
BaseModelClass), while others are inherited from mixins (
RNASeqMixin, VAEMixin, ArchesMixin, UnsupervisedTrainingMixin), as shown in the definition below:
class SCVI( RNASeqMixin, VAEMixin, ArchesMixin, UnsupervisedTrainingMixin, BaseModelClass ):