hms-dbmi / scde

R package for analyzing single-cell RNA-seq data
http://pklab.med.harvard.edu/scde
Other
170 stars 64 forks source link

New error in calling scde.error.models after upgrading #40

Closed bdulken closed 7 years ago

bdulken commented 7 years ago

I have used scde for several months with great success; however, I recently managed to break it :(

I upgraded some of my packages including scde to the most recent release in Bioconductor 3.4, and I am now no longer able to run the software.

When calling scde.error.models when the software is fitting each of the models I get the following error for each of the cells in the analysis:

Error in checkSlotAssignment(object, name, value) : assignment of an object of class “function” is not valid for slot ‘defineComponent’ in an object of class “FLXMRglmC”; is(value, "expression") is not TRUE

I figured this was a version issue, so I tried going back to version 2.0.1, but the error is still there, so I figure it is one of the other packages that was upgraded that is causing this problem. Has anyone experienced this or can identify which package is causing this error to be thrown.

Session info is attached.

05052017_sessionInfo.txt

JEFworks commented 7 years ago

The issue appears to be with the latest version of flexmix. I've posted a solution in our Google Group: http://hms-dbmi.github.io/scde/help.html :

"

Good news is I have been able to reproduce the error and also fix it. The reason is due to the latest flexmix update, which looks like it took place April 28, 2017. So I imagine anyone who installed scde after that time would also run into this issue.

An easy fix for now will be to just revert to an earlier version of flexmix while we try to update the package:

# in R
require(devtools)
install_version("flexmix", version = "2.3-13", repos = "http://cran.us.r-project.org")

After installing the earlier version of flexmix, you will need to reinstall scde in order for a few C programs that depend on flexmix to recompile properly. I would recommend downloading the latest 1.99.2 stable release just in case: https://github.com/hms-dbmi/scde/releases

# in bash
R CMD INSTALL 1.99.2.tar.gz 

After that, you should be able to run everything as detailed in the tutorial. As a quick check:

library(scde)
data(pollen)
cd <- clean.counts(pollen)
## change verbose to 1 to get immediate feedback
knn <- knn.error.models(cd, k = ncol(cd)/4, n.cores = 1, min.count.threshold = 2, min.nonfailed = 5, max.model.plots = 10, verbose=1)

What you should see (instead of your errors):

adjusting library size based on 2000 entries
cell : calculating cell-cell similarities ...
 done
fitting cell models:
cell.1 : Hi_NPC_1
Classification: weighted 
   1 Log-likelihood :  -33995.6320 
   2 Log-likelihood :  -33695.2555 
   3 Log-likelihood :  -33655.5450 
   4 Log-likelihood :  -33646.7330 

Let me know how that works out.

"

bdulken commented 7 years ago

Wow thank you so much for your fast response, that worked perfectly!

I will continue to follow the updates pertaining to the flemix issue in the google forum.

Thanks again! -Ben

JEFworks commented 7 years ago

Sweet! Glad it worked!

leezx commented 6 years ago

Thank you. The problem is solved!