TimeOmics block.spls GetCluster() and PlotLong() Error


I am doing a 3 block integration of longitudinal data using TimeOmics and have run into a problem with the plotLong() function on block (s)PLS models. When I try and run it on my built model I get the following error:

Error in `build_longer_spec()`:
! `cols` must select at least one column.

To investigate things further, I built a pairwise spls model on 2 of my blocks of data and ran into no issues.

To try and resolve the error myself I did some troubleshooting and it appears that the problem is originating from the getCluster() function. When I run getCluster() on my pairwise model (trim_spls) I get proper results but if I run it on the multi-block model (full_spls) there is a loss of information and molecule names are replaced with arbitrary number and block information is replaced with NA:

This issues causes the plotLong() function to fail as it relies on the getCluster() function to work properly.

I tried doing some troubleshooting on my end but can’t figure out what is causing things to go wonky or how to resolve this issue, just wanted to bring it to your attention.

I will cross-post this issue on the github, however, it seems that this forum is a bit more active.



thanks @bouranij,

I have let Antoine know but he is not sitting in my team. In the meantime you can extract the features according to their cluster number and plot them together w.r.t time manually.


Hi @bouranij

This can happen if you have identical feature names (rownames) between your blocks.
You’re right plotLong() relies on getCluster() and there are different implementations between PLS and block.PLS.
I suggest to check the names of the features between your blocks and rename the duplicates if necessary.

Keep me updated.

Hi @antoine.bodein ,

Thanks so much for the help, changing my feature names did in fact fix the problem.

Normally this is not an issue but for the experiment I am doing I was trying to find metabolomic features which followed similar patterns under 3 different conditions so some features were identical across the 3 blocks.

Thanks for the help and glad it was an easy fix!