Combine variates from different omics

Hello. I am looking at two types of omics data in my study - proteins and metabolites, with a binary outcome. After running sPLS-DA, I have two sets of components (i.e. variates) - one for proteins and one for metabolites. May I ask how can I combine the two sets of components into one set so that both omics can be jointly used for subsequent analysis? Thank you.

1 Like

hi @zhuili2002,

Have a look at DIABLO / block PLS-DA tutorials on our website The integration is not done manually as you suggest, but by maximising the covariance / correlation between components of the different omics datasets.


Thank you for your reply. Sorry for not being clear at the first instance, actually I had already run the “block.splsda” function on my training data and it yielded two sets of 5 components after parameter tuning and feature selection - one set of 5 components for proteins and another set of 5 components for metabolites. I note that 5x2 weights were output from “block.splsda”. May I ask if the two sets of components could be combined using the weights? E.g. combined component 1 = (weight for protein component 1)x(protein variate 1) + (weight for metabolite component 1)x(metabolite variate 1)

Using the “predict” function on the block.splsda output and my testing data, two sets of 5 variates and 1x2 weights were output. Understand that the weights are for predicting the binary outcome. But I am keen to look at the association between the combined components and binary outcome, e.g. odds ratio of combined component 1 with outcome. Is there a way to do so? Thank you.

hi @zhuili2002

You can have a look at the last piece of the example (prediction on a test set) here: DIABLO TCGA Case Study | mixOmics

Basically the object predict.diablo will output this kind of information


which are the predicted components either averaged across the datasets, or weighted. So I think you can play with these outputs (and look at the other outputs from this object).