Circus plot: cannot choose only one component

Hi, thanks for all your work, I have a question regarding the circus plot.

I am not able to build a network plot for my model. It gives the following error for the following command.

Command:
circosPlot(final.diablo.model,
comp = 1,
cutoff = 0.7,
line = TRUE,
color.blocks= c(‘darkorchid’, ‘brown1’, ‘lightgreen’,‘black’,‘grey’),
color.cor = c(“chocolate3”,“grey20”),
size.labels = 1.5,
size.variables = 0.5
)

Error:
Error in do.call(cbind, X)[, colnames(simMat)] : subscript out of bounds

Here is a description of the data used for my Diablo model:
5 datasets:
$microbiome_genera 28 samples 143 features
$clinical_markers 28 samples 26 features
$feces_metabolome 28 samples1051 features
$plasma_markers 28 samples 1128 features
$plasma_ferulic_markers 28 samples 2 features

Thank you, let me know if you need more information.

  • Aakash

hi @Aakash

I can’t really help you as I lack too much information. I dont know if you have selected variables in your ‘final.diablo.model’? (you should). Is the cimDiablo working? and pltoVar? (as it would also use the simMat calculation).

I assume you are using the latest version of the package.

Kim-Anh

Hi, following up on this issue. Some time ago i reported the same problem. For some models with 2 o 3 components, it is not possible to create circos plot containing only variables from the 1st component. I obtain the same error that is mentioned here. I ran different projects providing data with different characteristics and i see that the error is not consistent. So i guess that this discard a potential error in the package and should be related to the data. Could be possible that the plot cannot be constructed as there is no correlation among all the blocks in the first component?
Thanks !
Oscar

hi @odrangel,

Yes it is possible that it is coming from particular characteristics of your data. Related methods are plotVar(), cimDIABLO(), network() which use similar calculation under the hood so you could test those to see if you experience the same issue.
Also have a look at plotDiablo() as it would give you some insights into the correlation that is successfully (or not) extracted on the first component (and onwards). Sometimes the first component acts a bit like a denoising step before we can find out more interesting things in the later components.

Also try a few different cutoff values.

Kim-Anh