aertslab / SCENIC

SCENIC is an R package to infer Gene Regulatory Networks and cell types from single-cell RNA-seq data.
http://scenic.aertslab.org
GNU General Public License v3.0
396 stars 94 forks source link

runSCENIC_3_scoreCells Valid 'mctype': 'snow' or 'doMC' #152

Open XiaofeiSunUCSF opened 3 years ago

XiaofeiSunUCSF commented 3 years ago

I got an error when run runSCENIC_3_scoreCells()

0:47 Step 3. Analyzing the network activity in each individual cell Number of regulons to evaluate on cells: 233 Biggest (non-extended) regulons: Elf1 (4506g) Bclaf1 (3694g) Etv3 (3565g) Elf4 (3209g) Hcfc1 (2669g) E2f3 (2316g) Elf3 (2307g) Ets2 (2059g) Elf2 (1952g) Etv6 (1950g) Quantiles for the number of genes detected by cell: (Non-detected genes are shuffled at the end of the ranking. Keep it in mind when choosing the threshold for calculating the AUC). min 1% 5% 10% 50% 100% 284.00 568.94 1000.00 1186.00 2161.00 9150.00 Using 3 cores. Error in .AUCell_calcAUC(geneSets = geneSets, rankings = rankings, nCores = nCores, : Valid 'mctype': 'snow' or 'doMC'

madhavsubramanian commented 3 years ago

I get this same error. Would really appreciate some guidance! Thanks in advance!!

XiaofeiSunUCSF commented 3 years ago

I get this same error. Would really appreciate some guidance! Thanks in advance!!

Hi, I fount this error was related to nCores. After adjusting nCores=1, no errors come out. Good Luck! Xiaofei

SBata commented 3 years ago

same problem here, and nCores =1 worked, however, since it's painstakingly slow, being able to run it on multi-core would be much better. any suggestions?

BW15061999 commented 3 years ago

I suggest to rewrite the .AUCell_calcAUC function https://github.com/aertslab/AUCell/blob/master/R/02_calcAUC.R:
from if(!mctype %in% c("domc")) stop("Valid 'mctype': 'snow' or 'doMC'") to if(!mctype %in% c("domc","snow")) stop("Valid 'mctype': 'snow' or 'doMC'")

and source the edited version before running runSCENIC_3_scoreCells .

I think the reason why the error occur is that at the beginning of the function AUCell_calcAUC, the mctype has been set to be snow, .AUCell_calcAUC <- function(geneSets, rankings, nCores=1, mctype=c("snow","domc")[1], normAUC=TRUE, aucMaxRank=ceiling(0.05*nrow(rankings)), verbose=TRUE)

yet there is no option like snow later in that if code

s-aibar commented 3 years ago

Hello,

Sorry, that was a bug that was introduced in one of the releases from AUCell. It should now be corrected, but you might still have that version.

To solve it, just install the new version:

BiocManager::install("AUCell")
packageVersion("AUCell")

If it installs a version older than 1.12 (might be determined by Bioconductor based on your R version), then you can try installing the latest version directly from Github: devtools::install_github("aertslab/AUCell")

Then the error should be fixed:

set.seed(123)
exprMatrix <- matrix(data=sample(c(rep(0, 5000), sample(1:3, 5000, replace=TRUE))),
                     nrow=20, 
                     dimnames=list(paste("Gene", 1:20, sep=""), 
                                   paste("Cell", 1:500, sep="")))
cells_rankings <- AUCell_buildRankings(exprMatrix, nCores=2)

fewGenes <- sample(rownames(exprMatrix), 10)
cells_AUC <- AUCell_calcAUC(fewGenes, cells_rankings, aucMaxRank=5, nCores=2)

Sorry for the inconvenience!

reedliu commented 3 years ago

I suggest to rewrite the .AUCell_calcAUC function https://github.com/aertslab/AUCell/blob/master/R/02_calcAUC.R: from if(!mctype %in% c("domc")) stop("Valid 'mctype': 'snow' or 'doMC'") to if(!mctype %in% c("domc","snow")) stop("Valid 'mctype': 'snow' or 'doMC'")

and source the edited version before running runSCENIC_3_scoreCells .

I think the reason why the error occur is that at the beginning of the function AUCell_calcAUC, the mctype has been set to be snow, .AUCell_calcAUC <- function(geneSets, rankings, nCores=1, mctype=c("snow","domc")[1], normAUC=TRUE, aucMaxRank=ceiling(0.05*nrow(rankings)), verbose=TRUE)

yet there is no option like snow later in that if code

Solved, thanks!

sherryshen2020 commented 3 years ago

nCores =1 worked, as for rewrite the .AUCell_calcAUC function ### https://github.com/aertslab/AUCell/blob/master/R/02_calcAUC.R:,the link has gone stale, try this https://rdrr.io/bioc/AUCell/src/R/02_calcAUC.R

Larrycpan commented 2 years ago

My version of AUCell is 1.19.1. But it does still not run for multithreading

sherryshen2020 commented 2 years ago

这是来自中国药科大学沈露萍的自动回复邮件。您好,邮件已收到,我尽快给您回复。