Incomplete expression line on circos plots

Hi, I’ve recently used diablo to produce a circos plot. The expression line on the plot doesn’t seem to encapsulate all the variables on the plot. 7 of the variables in one block don’t have an expression line. Of these, two are among my most important (and correlated) variables.

Is this a problem that others have encountered?

How can I go about tweaking this figure to make use of the expression line? My recourse at the moment is to set it to false, but I think it adds value and I’d love to keep it if possible.

The code used to render this figure:
circosPlot(MyResult.diablo, cutoff=0.5,size.labels =0, size.variables = 0.9, line = TRUE, comp=1 )

Thanks for any insight!

Hi @Diana,

Thanks for reporting this issue. It would be much easier to diagnose what the cause is if you could send us the MyResult.diablo data object. You can simply run the following before your plot code:

save(MyResults.diablo, file = 'MyResult.diablo.RData')

You can click on this text to send us an email.
Alternatively, you can right-click on the above text and choose ‘Copy Email Address’.

Cheers

Al

Hi @Diana,

Thanks for the email.

With the given object (MyResult.diablo) I ran the code in your last post:

But I got more number of variables in the circosPlot than the ones in this thread. However, the missing lines were still an issue which I fixed and you can also update your plots using the latest development version (https://github.com/mixOmicsTeam/mixOmics/tree/devel#development-version).

The lines indicate the average value of the feature in each of the classes (Y). The reason some lines were missing in the attached model was that some consecutive features in the clinical block simply had too many missing values (> 80%). You can check them using:

sapply(data.frame(MyResult.diablo$X$clinical), function(x) sum(is.na(x))/length(x))

I dropped all missing values in calculations but I thought I could share this with you. I can also see that most of the clinical variables are categorical which have been transformed to continuous and also they are the ones with a lot of missing values. Probably the first step would be to drop features with a very high level of missing values. I also recommend you ensure variable selection is performed using the keepX argument (which should automatically exclude the ones with a high proportion of missing values). You can also tune the number of selected features using the tune function.

The grey lines were just a margin line which I also think are not essential so I dropped them as well.

Please let us know if you run into further issues.

Cheers

Al