bioFAM / MOFA

Multi-Omics Factor Analysis
GNU Lesser General Public License v3.0
231 stars 57 forks source link

plotDataHeatmap() error with correlation but not with euclidean distance #52

Closed merlevede closed 4 years ago

merlevede commented 4 years ago

Hello,

I am using MOFA_1.1.1 on a dataset with 3 layers. Using plotDataHeatmap() with euclidean as clustering_distance_rows works perfectly fine. Using plotDataHeatmap() with correlation as clustering_distance_rows gives errors for 2/3 layers, proteomics and phosphoproteomics, while it is working for mRNA:

Error in hclust(d, method = method) : 
  NA/NaN/Inf dans un appel à une fonction externe (argument 11)

Using exactly the same command on another dataset work fine for the same data types using correlation.

Do you know what can give rise to this problem? Can I check something in particular in MOFA object? Thank you, Jane

rargelaguet commented 4 years ago

Hi Jane, could it be that there are two many NAs in the data to cluster? Try do the same plot without clustering and you should be able to see it.

Best, Ricard.

P.S. We have recently released MOFA v2 (https://github.com/bioFAM/MOFA2). Although there are novel functionalities, you can still train MOFA v1 models (but faster and with better downstream analysis functions).

merlevede commented 4 years ago

Thank you for your answer. I did the same plot without clustering (cluster_rows=FALSE, cluster_cols = FALSE) and got no error. Also, I did the same using clustering on columns only and this is also fine. But clustering on rows leads to the same error. Which does not held anymore if I use Euclidean distance.

I do not understand why the clustering on columns only is fine and not on rows. Neither why does it change depending on the distance. Computing Euclidean or correlation distances across genes or across samples give differences...

Thank you for mentioning the v2, I might take a look at it in the near future