scButterfly.train_model_cite.Model

class scButterfly.train_model_cite.Model(RNA_data, ATAC_data, chrom_list, logging_path, R_encoder_dim_list, A_encoder_dim_list, R_decoder_dim_list, A_decoder_dim_list, R_encoder_nlayer=2, A_encoder_nlayer=2, R_decoder_nlayer=2, A_decoder_nlayer=2, R_encoder_act_list=[LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01)], A_encoder_act_list=[LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01)], R_decoder_act_list=[LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01)], A_decoder_act_list=[LeakyReLU(negative_slope=0.01), Identity()], translator_embed_dim=128, translator_input_dim_r=128, translator_input_dim_a=128, translator_embed_act_list=[LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01)], discriminator_nlayer=1, discriminator_dim_list_R=[128], discriminator_dim_list_A=[128], discriminator_act_list=[Sigmoid()], dropout_rate=0.1, R_noise_rate=0.5, A_noise_rate=0)
__init__(RNA_data, ATAC_data, chrom_list, logging_path, R_encoder_dim_list, A_encoder_dim_list, R_decoder_dim_list, A_decoder_dim_list, R_encoder_nlayer=2, A_encoder_nlayer=2, R_decoder_nlayer=2, A_decoder_nlayer=2, R_encoder_act_list=[LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01)], A_encoder_act_list=[LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01)], R_decoder_act_list=[LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01)], A_decoder_act_list=[LeakyReLU(negative_slope=0.01), Identity()], translator_embed_dim=128, translator_input_dim_r=128, translator_input_dim_a=128, translator_embed_act_list=[LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01), LeakyReLU(negative_slope=0.01)], discriminator_nlayer=1, discriminator_dim_list_R=[128], discriminator_dim_list_A=[128], discriminator_act_list=[Sigmoid()], dropout_rate=0.1, R_noise_rate=0.5, A_noise_rate=0)

Main model. Some parameters need information about data, please see in Tutorial.

Parameters:
  • RNA_data (Anndata) – RNA data for model training and testing.

  • ATAC_data (Anndata) – ADT data for model training and testing.

  • chrom_list (list) – list of peaks count for each chromosomes.

  • logging_path (str) – the path for output process logging, if not save, set it None.

  • R_encoder_dim_list (list) – dimension list of RNA encoder, length equal to R_encoder_nlayer + 1, the first equal to RNA data dimension, the last equal to embedding dimension.

  • A_encoder_dim_list (list) – dimension list of ADT encoder, length equal to A_encoder_nlayer + 1, the first equal to RNA data dimension, the last equal to embedding dimension.

  • R_decoder_dim_list (list) – dimension list of RNA decoder, length equal to R_decoder_nlayer + 1, the last equal to embedding dimension, the first equal to RNA data dimension.

  • A_decoder_dim_list (list) – dimension list of ADT decoder, length equal to A_decoder_nlayer + 1, the last equal to embedding dimension, the first equal to RNA data dimension.

  • R_encoder_nlayer (int) – layer counts of RNA encoder, default 2.

  • A_encoder_nlayer (int) – layer counts of ADT encoder, default 2.

  • R_decoder_nlayer (int) – layer counts of RNA decoder, default 2.

  • A_decoder_nlayer (int) – layer counts of ADT decoder, default 2.

  • R_encoder_act_list (list) – activation list of RNA encoder, length equal to R_encoder_nlayer, default [nn.LeakyReLU(), nn.LeakyReLU()].

  • A_encoder_act_list (list) – activation list of ADT encoder, length equal to A_encoder_nlayer, default [nn.LeakyReLU(), nn.LeakyReLU()].

  • R_decoder_act_list (list) – activation list of RNA decoder, length equal to R_decoder_nlayer, default [nn.LeakyReLU(), nn.LeakyReLU()].

  • A_decoder_act_list (list) – activation list of ADT decoder, length equal to A_decoder_nlayer, default [nn.LeakyReLU(), nn.Sigmoid()].

  • translator_embed_dim (int) – dimension of embedding space for translator, default 128.

  • translator_input_dim_r (int) – dimension of input from RNA encoder for translator, default 128.

  • translator_input_dim_a (int) – dimension of input from ADT encoder for translator, default 128.

  • translator_embed_act_list (list) – activation list for translator, involving [mean_activation, log_var_activation, decoder_activation], default [nn.LeakyReLU(), nn.LeakyReLU(), nn.LeakyReLU()].

  • discriminator_nlayer (int) – layer counts of discriminator, default 1.

  • discriminator_dim_list_R (list) – dimension list of discriminator, length equal to discriminator_nlayer, the first equal to translator_input_dim_R, default [128].

  • discriminator_dim_list_A (list) – dimension list of discriminator, length equal to discriminator_nlayer, the first equal to translator_input_dim_A, default [128].

  • discriminator_act_list (list) – activation list of discriminator, length equal to discriminator_nlayer, default [nn.Sigmoid()].

  • dropout_rate (float) – rate of dropout for network, default 0.1.

  • R_noise_rate (float) – rate of set part of RNA input data to 0, default 0.5.

  • A_noise_rate (float) – rate of set part of ADT input data to 0, default 0.

Methods

__init__(RNA_data, ATAC_data, chrom_list, ...)

Main model.

forward_A2A(ATAC_input, a_loss, kl_div_w, ...)

forward_R2R(RNA_input, r_loss, kl_div_w, ...)

forward_discriminator(batch_samples, ...)

forward_translator(batch_samples, ...[, ...])

save_model_dict(output_path)

set_eval()

set_train()

test(test_id_r, test_id_a[, model_path, ...])

Test for model.

train(loss_weight, train_id_r, train_id_a, ...)

Training for model.