cpa.CPAModule#

class cpa.CPAModule(n_genes, n_perts, covars_encoder, drug_embeddings=None, n_latent=128, recon_loss='nb', doser_type='logsigm', n_hidden_encoder=256, n_layers_encoder=3, n_hidden_decoder=256, n_layers_decoder=3, n_hidden_doser=128, n_layers_doser=2, use_batch_norm_encoder=True, use_layer_norm_encoder=False, use_batch_norm_decoder=True, use_layer_norm_decoder=False, dropout_rate_encoder=0.0, dropout_rate_decoder=0.0, variational=False, seed=0)[source]#

CPA module using Gaussian/NegativeBinomial/Zero-InflatedNegativeBinomial Likelihood

Parameters:
n_genes int

Number of input genes

n_perts int,

Number of total unique perturbations

covars_encoder dict

Dictionary of covariates with keys as each covariate name and values as

unique values of the corresponding covariate

n_latent int

dimensionality of the latent space

recon_loss str

Autoencoder loss (either “gauss”, “nb” or “zinb”)

doser_type str

Type of dosage network (either “logsigm”, “sigm”, or “linear”)

n_hidden_encoder int

Number of hidden units in encoder

n_layers_encoder int

Number of layers in encoder

n_hidden_decoder int

Number of hidden units in decoder

n_layers_decoder int

Number of layers in decoder

n_hidden_doser int

Number of hidden units in dosage network

n_layers_doser int

Number of layers in dosage network

use_batch_norm_encoder bool

Whether to use batch norm in encoder

use_layer_norm_encoder bool

Whether to use layer norm in encoder

use_batch_norm_decoder bool

Whether to use batch norm in decoder

use_layer_norm_decoder bool

Whether to use layer norm in decoder

dropout_rate_encoder float

Dropout rate in encoder

dropout_rate_decoder float

Dropout rate in decoder

variational bool

Whether to use variational inference

seed int

Random seed

Methods

disentanglement(tensors, inference_outputs, ...)

generative(z[, library])

Run the generative model.

get_expression(tensors[, n_samples, ...])

Computes gene expression means and std.

get_pert_embeddings(tensors, **inference_kwargs)

inference(x, perts, perts_doses, covars_dict)

Run the recognition model.

loss(tensors, inference_outputs, ...)

Computes the reconstruction loss (AE) or the ELBO (VAE)

mixup_data(tensors[, alpha, opt])

Returns mixed inputs, pairs of targets, and lambda

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