scvi.module.PEAKVAE

class scvi.module.PEAKVAE(n_input_regions, n_batch=0, n_hidden=None, n_latent=None, n_layers_encoder=2, n_layers_decoder=2, n_continuous_cov=0, n_cats_per_cov=None, dropout_rate=0.1, model_depth=True, region_factors=True, use_batch_norm='none', use_layer_norm='both', latent_distribution='normal', deeply_inject_covariates=False, encode_covariates=False)[source]

Bases: scvi.module.base._base_module.BaseModuleClass

Variational auto-encoder model for ATAC-seq data.

This is an implementation of the peakVI model descibed in.

Parameters
n_input_regions : intint

Number of input regions.

n_batch : intint (default: 0)

Number of batches, if 0, no batch correction is performed.

n_hidden : int | NoneOptional[int] (default: None)

Number of nodes per hidden layer. If None, defaults to square root of number of regions.

n_latent : int | NoneOptional[int] (default: None)

Dimensionality of the latent space. If None, defaults to square root of n_hidden.

n_layers_encoder : intint (default: 2)

Number of hidden layers used for encoder NN.

n_layers_decoder : intint (default: 2)

Number of hidden layers used for decoder NN.

dropout_rate : floatfloat (default: 0.1)

Dropout rate for neural networks

model_depth : boolbool (default: True)

Model library size factors or not.

region_factors : boolbool (default: True)

Include region-specific factors in the model

use_batch_norm : {‘encoder’, ‘decoder’, ‘none’, ‘both’}Literal[‘encoder’, ‘decoder’, ‘none’, ‘both’] (default: 'none')

One of the following

  • 'encoder' - use batch normalization in the encoder only

  • 'decoder' - use batch normalization in the decoder only

  • 'none' - do not use batch normalization (default)

  • 'both' - use batch normalization in both the encoder and decoder

use_layer_norm : {‘encoder’, ‘decoder’, ‘none’, ‘both’}Literal[‘encoder’, ‘decoder’, ‘none’, ‘both’] (default: 'both')

One of the following

  • 'encoder' - use layer normalization in the encoder only

  • 'decoder' - use layer normalization in the decoder only

  • 'none' - do not use layer normalization

  • 'both' - use layer normalization in both the encoder and decoder (default)

latent_distribution : strstr (default: 'normal')

which latent distribution to use, options are

  • 'normal' - Normal distribution (default)

  • 'ln' - Logistic normal distribution (Normal(0, I) transformed by softmax)

deeply_inject_covariates : boolbool (default: False)

Whether to deeply inject covariates into all layers of the decoder. If False (default), covairates will only be included in the input layer.

Attributes

Methods

generative(z, qz_m, batch_index[, …])

Runs the generative model.

get_reconstruction_loss(p, d, f, x)

inference(x, batch_index, cont_covs, cat_covs)

Helper function used in forward pass.

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

Compute the loss for a minibatch of data.