chuiqin / irGSEA

The integration of single cell rank-based gene set enrichment analysis
Other
106 stars 17 forks source link

How to fix the error #14

Open Kyle1310 opened 1 year ago

Kyle1310 commented 1 year ago

作者你好,很感谢你开发的包。在使用的时候出现一个问题,想请教一下。 method里添加了ssgsea一直报错,R4.2版本,GSVA1.44报错,1.45报错。1.4报错。取消了ssgsea就好了。 想请教一下如何修复这个问题,谢谢谢! pbmc3k.final1 <- irGSEA.score(object =pbmc3k.final, assay = "RNA",

谢谢!

Kyle1310 commented 1 year ago

单独运行GSVA的时候可以运行。。好奇怪啊。期待博主解答!!感谢

chuiqin commented 1 year ago

我尝试了1.44.2版本的GSVA,发现它可以正常运行

> library(Seurat)
> library(UCell)
> library(irGSEA)
> packageVersion(pkg = "GSVA")
[1] ‘1.44.2’
> pbmc_small <- irGSEA.score(object = pbmc_small, assay = "RNA", slot = "data",
+                              msigdb = T, species = "Homo sapiens", category = "H", geneid = "symbol",
+                              method = c("ssgsea"), kcdf = 'Gaussian')
Validating object structure
Updating object slots
Ensuring keys are in the proper strucutre
Ensuring feature names don't have underscores or pipes
Object representation is consistent with the most current Seurat version
No genes remaining in following genesets: HALLMARK_HEDGEHOG_SIGNALING, HALLMARK_MYC_TARGETS_V2, HALLMARK_NOTCH_SIGNALING, HALLMARK_PANCREAS_BETA_CELLS, HALLMARK_PROTEIN_SECRETION, HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY, HALLMARK_TGF_BETA_SIGNALING
Calculate ssgsea scores
[1] "Calculating ranks..."
[1] "Calculating absolute values from ranks..."
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Finish calculate ssgsea scores
Warning messages:
1: In .local(expr, gset.idx.list, ...) :
  Using 'dgCMatrix' objects as input is still in an experimental stage.
2: In .gsva(expr, mapped.gset.idx.list, method, kcdf, rnaseq, abs.ranking,  :
  Some gene sets have size one. Consider setting 'min.sz > 1'.

之后,我通过BiocManager更新GSVA包到1.44.3版本,发现可以重复你的错误

> packageVersion(pkg = "GSVA")
[1] ‘1.44.3’
> pbmc_small <- irGSEA.score(object = pbmc_small, assay = "RNA", slot = "data",
+                              msigdb = T, species = "Homo sapiens", category = "H", geneid = "symbol",
+                              method = c("ssgsea"), kcdf = 'Gaussian')
Validating object structure
Updating object slots
Ensuring keys are in the proper strucutre
Ensuring feature names don't have underscores or pipes
Object representation is consistent with the most current Seurat version
No genes remaining in following genesets: HALLMARK_HEDGEHOG_SIGNALING, HALLMARK_MYC_TARGETS_V2, HALLMARK_NOTCH_SIGNALING, HALLMARK_PANCREAS_BETA_CELLS, HALLMARK_PROTEIN_SECRETION, HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY, HALLMARK_TGF_BETA_SIGNALING
Calculate ssgsea scores
[1] "Calculating ranks..."
[1] "Calculating absolute values from ranks..."
Error in as(es, "dMatrix") : 
  no method or default for coercing “matrix” to “dMatrix”
In addition: Warning messages:
1: In .local(expr, gset.idx.list, ...) :
  Using 'dgCMatrix' objects as input is still in an experimental stage.
2: In .gsva(expr, mapped.gset.idx.list, method, kcdf, rnaseq, abs.ranking,  :
  Some gene sets have size one. Consider setting 'min.sz > 1'.

其次,我通过Github更新GSVA包到1.45.3版本,发现可以重复你的错误

> packageVersion(pkg = "GSVA")
[1] ‘1.45.3’
> pbmc_small <- irGSEA.score(object = pbmc_small, assay = "RNA", slot = "data",
+                              msigdb = T, species = "Homo sapiens", category = "H", geneid = "symbol",
+                              method = c("ssgsea"), kcdf = 'Gaussian')
Validating object structure
Updating object slots
Ensuring keys are in the proper strucutre
Ensuring feature names don't have underscores or pipes
Object representation is consistent with the most current Seurat version
No genes remaining in following genesets: HALLMARK_HEDGEHOG_SIGNALING, HALLMARK_MYC_TARGETS_V2, HALLMARK_NOTCH_SIGNALING, HALLMARK_PANCREAS_BETA_CELLS, HALLMARK_PROTEIN_SECRETION, HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY, HALLMARK_TGF_BETA_SIGNALING
Calculate ssgsea scores
[1] "Calculating ranks..."
[1] "Calculating absolute values from ranks..."
Error in as(es, "dMatrix") : 
  no method or default for coercing “matrix” to “dMatrix”
In addition: Warning messages:
1: In .local(expr, gset.idx.list, ...) :
  Using 'dgCMatrix' objects as input is still in an experimental stage.
2: In .gsva(expr, mapped.gset.idx.list, method, kcdf, rnaseq, abs.ranking,  :
  Some gene sets have size one. Consider setting 'min.sz > 1'.

显而易见,这是版本更新的问题,我去向GSVA作者反馈一下这个问题,等待他的解决。 如果不能得到解决的话,我将更新irGSEA包以适应GSVA版本的变化。 对于当前的问题,我建议你将GSVA版本降至“1.44.2”,就可以正常使用irGSEA。 1.44.2版本是2022年9月12号更新的版本,是属于较新的GSVA版本,你可以放心使用。 降级的代码也很简单:

# unload packages
detach("package:irGSEA", unload = TRUE)
detach("package:GSVA", unload = TRUE)

# degrade  packages
> packageVersion(pkg = "GSVA")
[1] ‘1.45.3’
install.packages(pkg="http://bioconductor.org/packages/3.15/bioc/src/contrib/Archive/GSVA/GSVA_1.44.2.tar.gz", repos = NULL, force = T)
> packageVersion(pkg = "GSVA")
[1] ‘1.44.2’
> library(GSVA)
> library(irGSEA)
> pbmc_small <- irGSEA.score(object = pbmc_small, assay = "RNA", slot = "data",  msigdb = T, species = "Homo sapiens", category = "H", geneid = "symbol", method = c("ssgsea"), kcdf ='Gaussian')
Validating object structure
Updating object slots
Ensuring keys are in the proper strucutre
Ensuring feature names don't have underscores or pipes
Object representation is consistent with the most current Seurat version
No genes remaining in following genesets: HALLMARK_HEDGEHOG_SIGNALING, HALLMARK_MYC_TARGETS_V2, HALLMARK_NOTCH_SIGNALING, HALLMARK_PANCREAS_BETA_CELLS, HALLMARK_PROTEIN_SECRETION, HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY, HALLMARK_TGF_BETA_SIGNALING
Calculate ssgsea scores
[1] "Calculating ranks..."
[1] "Calculating absolute values from ranks..."
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Finish calculate ssgsea scores
Warning messages:
1: In .local(expr, gset.idx.list, ...) :
  Using 'dgCMatrix' objects as input is still in an experimental stage.
2: In .gsva(expr, mapped.gset.idx.list, method, kcdf, rnaseq, abs.ranking,  :
  Some gene sets have size one. Consider setting 'min.sz > 1'.
chuiqin commented 1 year ago

我向GSVA包的作者反馈了这个问题,目前他已经修复了这个错误。 发生错误“no method or default for coercing “matrix” to “dMatrix””的原因是:1周前Matrix包被更新到1.5-0版本。新版本的Matrix包弃用了许多旧函数。这种弃用是不兼容低版本的,因此GSVA包作者更改了代码适应它的变化,但忘记强制指定Matrix包的最低版本。目前作者已经在新版本的GSVA包中强制指定Matrix包的最低版本。 我们可以通过以下代码升级Matrix包和GSVA包的版本:

# restart your R
# upgrade your Matrix package to 1.5.1
install.packages(pkg = "Matrix", force = T)
# upgrade GSVA package
devtools::install_github("rcastelo/GSVA", force = T)

> packageVersion(pkg = "Matrix")
[1] ‘1.5.1’
> packageVersion(pkg = "GSVA")
[1] ‘1.45.4’

> library(Seurat)
> library(UCell)
> library(irGSEA)
> data("pbmc_small")
> pbmc_small <- irGSEA.score(object = pbmc_small, assay = "RNA", slot = "data",
+                            msigdb = T, species = "Homo sapiens", category = "H", 
+                            geneid = "symbol", 
+                            method = c("AUCell", "UCell", "singscore", "ssgsea"), 
+                            kcdf = 'Gaussian')
Validating object structure
Updating object slots
Ensuring keys are in the proper strucutre
Ensuring feature names don't have underscores or pipes
Object representation is consistent with the most current Seurat version
No genes remaining in following genesets: HALLMARK_HEDGEHOG_SIGNALING, HALLMARK_MYC_TARGETS_V2, HALLMARK_NOTCH_SIGNALING, HALLMARK_PANCREAS_BETA_CELLS, HALLMARK_PROTEIN_SECRETION, HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY, HALLMARK_TGF_BETA_SIGNALING
Calculate AUCell scores
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Finish calculate AUCell scores
Calculate UCell scores
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Finish calculate UCell scores
Calculate singscore scores
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Finish calculate singscore scores
Calculate ssgsea scores
[1] "Calculating ranks..."
[1] "Calculating absolute values from ranks..."
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-')
Finish calculate ssgsea scores
Warning messages:
1: In .AUCell_buildRankings(exprMat = exprMat, featureType = featureType,  :
  nCores is no longer used. It will be deprecated in the next AUCell version.
2: In .local(expr, gset.idx.list, ...) :
  Using 'dgCMatrix' objects as input is still in an experimental stage.
3: In .gsva(expr, mapped.gset.idx.list, method, kcdf, rnaseq, abs.ranking,  :
  Some gene sets have size one. Consider setting 'min.sz > 1'.