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
395 stars 94 forks source link

Error in runSCENIC_2_createRegulons() #203

Open SarahMyoblast opened 3 years ago

SarahMyoblast commented 3 years ago

Hi,

I am trying to run SCENIC on a subset of cells (Seurat object). I used the following vignette to do so: Running SCENIC, SCENIC (Single Cell rEgulatory Network Inference and Clustering) Vignette built on Oct 13, 2020 with SCENIC version 1.2.0. http://htmlpreview.github.io/?https://github.com/aertslab/SCENIC/blob/master/inst/doc/SCENIC_Running.html

I am able to run all the steps runCorrelation,runGenie3and runSCENIC_1_coexNetwork2modules with no problem.

When I run runSCENIC_2_createRegulons(scenicOptions) or runSCENIC_3_scoreCells(scenicOptions, exprMat_log) I get the following error:

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘getSettings’ for signature ‘"NULL"’

Bellow is the code I ran. @s-aibar Could Could you please help me understand where the problem is ?

Thank you.

library(SCENIC)
library(AUCell)
library(RcisTarget)
library(KernSmooth)
library(BiocParallel)
library(ggplot2)
library(data.table)
library(grid)
library(Seurat)
library(SeuratDisk)
library(SeuratWrappers)
library(patchwork)

# Create directory to keep tidy and save multiple files: 
dir.create("SCENIC_object")
setwd("SCENIC_object")

# Get data from Seurat object
exprMat<-GetAssayData( Seuratobject, slot = "counts")
exprMat<-as.matrix(exprMat)

# To use Seurat clusters as cell annotation (e.g. for visualization):
cellInfo <- data.frame(seuratCluster=Idents(Seuratobject))

# Initialize settings
scenicOptions <- initializeScenic(org="mgi", dbDir="/Users/dbFiles",datasetTitle = "Seuratobjet SCENIC analysis_1", nCores=10)

# scenicOptions@inputDatasetInfo$cellInfo <- "int/cellInfo.Rds"
saveRDS(scenicOptions, file="int/scenicOptions.Rds")

# (Adjust minimum values according to your dataset)
library(scales)
table(Idents(Seuratobject)) # Smalest population is 4.64%

genesKept <- geneFiltering(exprMat, scenicOptions=scenicOptions,
                           minCountsPerGene=6*.01*ncol(exprMat),
                           minSamples=ncol(exprMat)*.01)

# Filter the expression matrix to contain only these genes
exprMat_filtered <- exprMat[genesKept, ]
dim(exprMat_filtered)                                                                                                                   
rm(exprMat)                                                          

# Step 1: Caluculate the correlation
runCorrelation(exprMat_filtered, scenicOptions)

# Step 2: GENIE3 
exprMat_filtered_log2 <- log2(exprMat_filtered+1) 

# Run GENIE3
library(GENIE3)
runGenie3(exprMat_filtered_log2, scenicOptions)

# Step 3: Build and score the GRN (runSCENIC_…)
scenicOptions <- readRDS("int/scenicOptions.Rds")
scenicOptions@settings$verbose <- TRUE
scenicOptions@settings$nCores <- 10
scenicOptions@settings$seed <- 123

scenicOptions@settings$dbs <- scenicOptions@settings$dbs["10kb"]

scenicOptions <- runSCENIC_1_coexNetwork2modules(scenicOptions)
scenicOptions <- runSCENIC_2_createRegulons(scenicOptions)
scenicOptions <- runSCENIC_3_scoreCells(scenicOptions, exprMat_log)
platform       x86_64-apple-darwin17.0     
arch           x86_64                      
os             darwin17.0                  
system         x86_64, darwin17.0          
status                                     
major          4                           
minor          0.4                         
year           2021                        
month          02                          
day            15                          
svn rev        80002                       
language       R                           
version.string R version 4.0.4 (2021-02-15)
nickname       Lost Library Book 

SCENIC version 1.1.2

pekjoonwu commented 3 years ago

Same issue! Have you solved it already?

Hi,

I am trying to run SCENIC on a subset of cells (Seurat object). I used the following vignette to do so: Running SCENIC, SCENIC (Single Cell rEgulatory Network Inference and Clustering) Vignette built on Oct 13, 2020 with SCENIC version 1.2.0. http://htmlpreview.github.io/?https://github.com/aertslab/SCENIC/blob/master/inst/doc/SCENIC_Running.html

I am able to run all the steps runCorrelation,runGenie3and runSCENIC_1_coexNetwork2modules with no problem.

When I run runSCENIC_2_createRegulons(scenicOptions) or runSCENIC_3_scoreCells(scenicOptions, exprMat_log) I get the following error:

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘getSettings’ for signature ‘"NULL"’

Bellow is the code I ran. @s-aibar Could Could you please help me understand where the problem is ?

Thank you.

library(SCENIC)
library(AUCell)
library(RcisTarget)
library(KernSmooth)
library(BiocParallel)
library(ggplot2)
library(data.table)
library(grid)
library(Seurat)
library(SeuratDisk)
library(SeuratWrappers)
library(patchwork)

# Create directory to keep tidy and save multiple files: 
dir.create("SCENIC_object")
setwd("SCENIC_object")

# Get data from Seurat object
exprMat<-GetAssayData( Seuratobject, slot = "counts")
exprMat<-as.matrix(exprMat)

# To use Seurat clusters as cell annotation (e.g. for visualization):
cellInfo <- data.frame(seuratCluster=Idents(Seuratobject))

# Initialize settings
scenicOptions <- initializeScenic(org="mgi", dbDir="/Users/dbFiles",datasetTitle = "Seuratobjet SCENIC analysis_1", nCores=10)

# scenicOptions@inputDatasetInfo$cellInfo <- "int/cellInfo.Rds"
saveRDS(scenicOptions, file="int/scenicOptions.Rds")

# (Adjust minimum values according to your dataset)
library(scales)
table(Idents(Seuratobject)) # Smalest population is 4.64%

genesKept <- geneFiltering(exprMat, scenicOptions=scenicOptions,
                           minCountsPerGene=6*.01*ncol(exprMat),
                           minSamples=ncol(exprMat)*.01)

# Filter the expression matrix to contain only these genes
exprMat_filtered <- exprMat[genesKept, ]
dim(exprMat_filtered)                                                                                                                   
rm(exprMat)                                                          

# Step 1: Caluculate the correlation
runCorrelation(exprMat_filtered, scenicOptions)

# Step 2: GENIE3 
exprMat_filtered_log2 <- log2(exprMat_filtered+1) 

# Run GENIE3
library(GENIE3)
runGenie3(exprMat_filtered_log2, scenicOptions)

# Step 3: Build and score the GRN (runSCENIC_…)
scenicOptions <- readRDS("int/scenicOptions.Rds")
scenicOptions@settings$verbose <- TRUE
scenicOptions@settings$nCores <- 10
scenicOptions@settings$seed <- 123

scenicOptions@settings$dbs <- scenicOptions@settings$dbs["10kb"]

scenicOptions <- runSCENIC_1_coexNetwork2modules(scenicOptions)
scenicOptions <- runSCENIC_2_createRegulons(scenicOptions)
scenicOptions <- runSCENIC_3_scoreCells(scenicOptions, exprMat_log)
platform       x86_64-apple-darwin17.0     
arch           x86_64                      
os             darwin17.0                  
system         x86_64, darwin17.0          
status                                     
major          4                           
minor          0.4                         
year           2021                        
month          02                          
day            15                          
svn rev        80002                       
language       R                           
version.string R version 4.0.4 (2021-02-15)
nickname       Lost Library Book 

SCENIC version 1.1.2

Same Issue! Have you solved it already? Thanks!

SarahMyoblast commented 3 years ago

Same issue! Have you solved it already?

Yes. I have tried re-initializing the scenicOptions by re-running :scenicOptions <- initializeScenic(org="mgi", dbDir="/Users/dbFiles",datasetTitle = "Title", nCores=10) or reading it from the saved file : scenicOptions <- readRDS("/Users/int/scenicOptions.Rds") just before the runSCENIC_2_createRegulons()step.

StavroulaPetr commented 9 months ago

Hello,

I have been trying to run Scenic and I am getting an error trying to run Scenic_2:

"runSCENIC_2_createRegulons(scenic2, coexMethod=c("top5perTarget"))# Toy run settings 17:28 Step 2. Identifying regulons [1] "IOError: Failed to open local file '/Users/sp2037/Desktop//NA'. Detail: [errno 2] No such file or directory" Error in runSCENIC_2_createRegulons(scenic2, coexMethod = c("top5perTarget")) : It is not possible to load the following databses: dm6-5kb-upstream-full-tx-11species.mc8nr.feather"

Not sure how to proceed, any kind of feedback would be much appreciated.

u2e389y commented 4 months ago

Same issue! Have you solved it already?

Yes. I have tried re-initializing the scenicOptions by re-running :scenicOptions <- initializeScenic(org="mgi", dbDir="/Users/dbFiles",datasetTitle = "Title", nCores=10) or reading it from the saved file : scenicOptions <- readRDS("/Users/int/scenicOptions.Rds") just before the runSCENIC_2_createRegulons()step.

This is a reinitialization, and it won't have an impact on the result?

TnTpanz commented 3 months ago

Hello,

I have been trying to run Scenic and I am getting an error trying to run Scenic_2:

"runSCENIC_2_createRegulons(scenic2, coexMethod=c("top5perTarget"))# Toy run settings 17:28 Step 2. Identifying regulons [1] "IOError: Failed to open local file '/Users/sp2037/Desktop//NA'. Detail: [errno 2] No such file or directory" Error in runSCENIC_2_createRegulons(scenic2, coexMethod = c("top5perTarget")) : It is not possible to load the following databses: dm6-5kb-upstream-full-tx-11species.mc8nr.feather"

Not sure how to proceed, any kind of feedback would be much appreciated.

Hi I have the same issue and also have another problem. Error in runSCENIC_2_createRegulons(scenicOptions, coexMethod = c("top5perTarget")) : object 'dbs' not found