scvi.external.methylvi.METHYLANVAE#

class scvi.external.methylvi.METHYLANVAE(n_input, contexts, num_features_per_context, n_batch=0, n_cats_per_cov=None, n_labels=0, n_hidden=128, n_latent=10, n_layers=1, dropout_rate=0.1, likelihood='betabinomial', dispersion='region', y_prior=None, labels_groups=None, use_labels_groups=False, linear_classifier=False, classifier_parameters=None, use_batch_norm='both', use_layer_norm='none', **model_kwargs)[source]#

Bases: SupervisedModuleClass, METHYLVAE, BSSeqModuleMixin

Methylation annotation using variational inference.

This is an implementation of the MethylANVI model described in [Weinberger and Lee, 2023].

Parameters:
  • n_input (int) – Number of input genes

  • n_batch (int (default: 0)) – Number of batches

  • n_labels (int (default: 0)) – Number of labels

  • n_hidden (int (default: 128)) – Number of nodes per hidden layer

  • n_latent (int (default: 10)) – Dimensionality of the latent space

  • n_layers (int (default: 1)) – Number of hidden layers used for encoder and decoder NNs

  • n_continuous_cov – Number of continuous covarites

  • n_cats_per_cov (Iterable[int] | None (default: None)) – Number of categories for each extra categorical covariate

  • dropout_rate (float (default: 0.1)) – Dropout rate for neural networks

  • likelihood (Literal['betabinomial', 'binomial'] (default: 'betabinomial')) – One of * 'betabinomial' - BetaBinomial distribution * 'binomial' - Binomial distribution

  • dispersion (Literal['region', 'region-cell'] (default: 'region')) – One of the following * 'region' - dispersion parameter of BetaBinomial is constant per region across cells * 'region-cell' - dispersion can differ for every region in every cell

  • y_prior (default: None) – If None, initialized to uniform probability over cell types

  • labels_groups (Sequence[int] (default: None)) – Label group designations

  • use_labels_groups (bool (default: False)) – Whether to use the label groups

  • linear_classifier (bool (default: False)) – If True, uses a single linear layer for classification instead of a multi-layer perceptron.

  • classifier_parameters (dict | None (default: None)) – Keyword arguments passed into Classifier.

  • use_batch_norm (Literal['encoder', 'decoder', 'none', 'both'] (default: 'both')) – Whether to use batch norm in layers

  • use_layer_norm (Literal['encoder', 'decoder', 'none', 'both'] (default: 'none')) – Whether to use layer norm in layers

  • linear_classifier – If True, uses a single linear layer for classification instead of a multi-layer perceptron.

  • **model_kwargs – Keyword args for METHYLVAE

Attributes table#

Methods table#

classify(mc, cov[, batch_index, cont_covs, ...])

Forward pass through the encoder and classifier of methylANVI.

loss(tensors, inference_outputs, ...[, ...])

Compute the loss.

Attributes#

METHYLANVAE.training: bool#

Methods#

METHYLANVAE.classify(mc, cov, batch_index=None, cont_covs=None, cat_covs=None, use_posterior_mean=True)[source]#

Forward pass through the encoder and classifier of methylANVI.

Return type:

Tensor

METHYLANVAE.loss(tensors, inference_outputs, generative_outputs, feed_labels=False, kl_weight=1, labelled_tensors=None, classification_ratio=None)[source]#

Compute the loss.