Outputs of MIDAS#
In this section, we explain the outputs generated by MIDAS and show how to retrieve them.
Embedding Space Outputs#
MIDAS generate reduction outputs including joint latents and modality-specific latents:
Type |
Description |
|---|---|
Modality-specific Latents |
Latents corresponding to individual input modalities, consisting of biological information (denoted as c) and technical noise (denoted as u). |
Joint Latents |
The combined latent representation that integrates all modalities, along with the batch indices. This representation consists of biological information (denoted as c) and technical noise (denoted as u). |
Feature Space Outputs#
As a generative model, MIDAS can also generate outputs such as imputed data, batch-corrected data, and translated data.
Type |
Description |
|---|---|
Imputed Data |
Data for all modalities imputed from the joint latent representation. |
Batch-corrected Data |
Imputed data with batch effects removed, generated by passing a standard noise latent instead of the real noise latent. |
Translated Data |
Data translation between modalities, where input from one or more modalities is used to generate the corresponding data in other modalities. |
Note
By default, MIDAS performs sampling when generating batch-corrected data, based on the distribution settings.
To apply sampling to other types of outputs, or to disable sampling entirely, modify the gen_real_data() in scmidas.model.predict().
Additionally, for debugging or other purposes, MIDAS can save the original input data:
Type |
Description |
|---|---|
Input |
The original input data before being fed into the model. |
Predicting Outputs#
After training, you can use the predict method to generate and save predictions. Here’s the example:
model.predict(output_dir,
joint_latent=True,
mod_latent=True,
impute=True,
batch_correct=True,
translate=True,
input=True)
Where the parameters are:
pred_dir: The directory where prediction results will be saved.joint_latent: Whether to calculate and save joint latent representations.mod_latent: Whether to calculate and save modality-specific latent representations.impute: Whether to perform data imputation, filling in missing or incomplete data.batch_correct: Whether to apply batch correction to the data to reduce batch effects.translate: Whether to perform modality translation.input: Whether to save the original input data.
Loading Predicted Outputs#
To retrieve and load the predicted outputs, you can use the scmidas.utils.load_predicted() function. Here’s how to do it:
from scmidas.utils import load_predicted
load_predicted( output_dir,
model.combs, # a list of modality combinations per batch
joint_latent=True,
mod_latend=True,
impute=True,
batch_correct=True,
translate=True,
input=True)