ctlab / GAMclust

GAM-clustering: Metabolic Modules Derivig From RNAseq Data
Other
2 stars 0 forks source link

Error in solve_mwcsp.rnc_solver(X[[i]], ...) #3

Open gaodifan opened 1 month ago

gaodifan commented 1 month ago

Hello,

I would love to try your method with my data, however, I am having some trouble with an error. After using default settings to prepare my expression matrix and network, I run gamClustering(). Then, after 25 iterations, the following message is displayed:

Error in solve_mwcsp.rnc_solver(X[[i]], ...) : 
  abs(weight - res$lb) < EPS is not TRUE

The output results do not appear to be completed -- the same two modules appear no matter what value I set max.module.size or p.adj.val.threshold. Do you know what could be the cause of this error, and how it can be resolved?

As a test, I tried using the annealing_solver instead, but this gave me another error: Error: removing non-existing element of an index.

I've attached the E.prep, network.prep, and cur.centers in an R.data file. GAMclust data.zip

Thanks for your help.

anastasiiaNG commented 1 month ago

@gaodifan, hi!

Thank you for your report.

I reproduced the problem with annealing solver, so we are on it! As soon as we fix it, I will let you know.

However, I didn't manage to reproduce error with rnc_solver(). Still I observe that running on the data you provided, the total algorithm collapses to no modules at all. Could you please provide me more data for this issue? I would appreciate having your input expression set and the full code you used for its analysis from the very beginning of our tutorial.

Thank you!

gaodifan commented 1 month ago

Thanks for the reply. Here is the expression matrix and R code that I used. (This time, it ran for 28 iterations [instead of 25] before the error -- I'm not sure why the difference, perhaps I changed a parameter somewhere.)

I noticed that gamClustering does run successfully when I use a smaller subset of my expression data (by setting keep.top.genes to ~2000 in prepareData()). I don't know at what size the error starts appearing.

I just did a new install of R last week, so all packages should be the most current.

anastasiiaNG commented 1 month ago

@gaodifan, thank you for your data. Still with the last version of GAMclust I wasn't able to reproduce the error. Instead I observe situation that the default speed of base decrement is too fast for your data (you can see it by checking stats/iter.stats.rds file, the base column). Try to achieve final set of modules a bit slower by setting the parameter base.dec = 0.01.

gaodifan commented 14 hours ago

Thank you! It no longer gives an error after I set base.dec to 0.01. I'm still not sure why this situation produces an error for me and not for you, but in any case, it appears related to the speed problem.