前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >都2025年了,还不来更新你的GSVA分析代码吗?

都2025年了,还不来更新你的GSVA分析代码吗?

作者头像
生信技能树
发布2025-01-01 11:09:24
发布2025-01-01 11:09:24
53000
代码可运行
举报
文章被收录于专栏:生信技能树
运行总次数:0
代码可运行

群里面经常接到小伙伴跑GSVA的一个报错:

gsva_mat=gsva(expr=gene_exp,gset.idx.list=KeggSet,kcdf="Possion",verbose=T,parallel.sz=parallel::detectCores()) 错误于gsva(expr = gene_exp, gset.idx.list = KeggSet, kcdf = "Possion", : Calling gsva(expr=., gset.idx.list=., method=., ...) is defunct; use a method-specific parameter object (see '?gsva').

那么来看看gsva更新了什么吧~

新版的GSVA包(Gene Set Variation Analysis)更新了以下内容:
  1. 参数对象的引入:新版GSVA包中,不再直接使用gsva(expr=., gset.idx.list=., method=., ...)这样的调用方式,而是需要使用方法特定的参数对象。这意味着用户需要先创建一个参数对象,然后将其作为参数传递给gsva()函数。例如,使用gsvaParam()函数创建参数对象。
  2. 支持更多的数据类型和分析方法:新版GSVA包增加了对SingleCellExperiment和SpatialExperiment的支持,这意味着它可以更好地处理单细胞RNA-seq数据和空间转录组数据。
  3. 增加了新的参数类:新版GSVA包引入了新的参数类,如GsvaMethodParam-classplageParam-classssgseaParam-classzscoreParam-class,这些类提供了更多自定义分析的方法。
  4. 增加了新的功能函数:新版GSVA包增加了一些新的功能函数,例如computeGeneSetsOverlap用于计算基因集之间的重叠,deduplicateGeneSets用于去除重复的基因集,filterGeneSets用于过滤基因集,geneIdsToGeneSetCollection用于将基因ID转换为GeneSetCollection对象等。
  5. 改进了注释和元数据管理:新版GSVA包提供了gsvaAnnotation函数,用于存储和检索表达数据对象中的注释元数据,这有助于在基因集和表达数据使用不同的基因标识符类型时自动映射基因标识符。
  6. 提高了代码的模块化和可维护性:新版GSVA包通过引入Roxygen注释和markdown文档,提高了代码的模块化和可维护性。

这些更新使得GSVA包更加灵活和强大,能够适应更多的数据分析需求,并提供了更好的用户体验。

使用一个数据小试一下:
代码语言:javascript
代码运行次数:0
复制
library(GSVA)

p <- 10 ## number of genes
n <- 30 ## number of samples
nGrp1 <- 15 ## number of samples in group 1
nGrp2 <- n - nGrp1 ## number of samples in group 2

## consider three disjoint gene sets
geneSets <- list(set1=paste("g", 1:3, sep=""),
                 set2=paste("g", 4:6, sep=""),
                 set3=paste("g", 7:10, sep=""))

geneSets

## sample data from a normal distribution with mean 0 and st.dev. 1
y <- matrix(rnorm(n*p), nrow=p, ncol=n,
            dimnames=list(paste("g", 1:p, sep="") , paste("s", 1:n, sep="")))

y

## genes in set1 are expressed at higher levels in the last 'nGrp1+1' to 'n' samples
y[geneSets$set1, (nGrp1+1):n] <- y[geneSets$set1, (nGrp1+1):n] + 2

y

y的数据如下:

运行GSVA

注意 gsvaParam 函数中不同 kcdf = c("Gaussian", "Poisson", "none") 的选择。

代码语言:javascript
代码运行次数:0
复制
## build GSVA parameter object
gsvapar <- gsvaParam(y, geneSets, maxDiff=TRUE)

## estimate GSVA enrichment scores for the three sets
gsva_es <- gsva(gsvapar)

head(gsva_es)

这样就轻松的拿到 升级后的代码结果了:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 群里面经常接到小伙伴跑GSVA的一个报错:
    • 新版的GSVA包(Gene Set Variation Analysis)更新了以下内容:
    • 使用一个数据小试一下:
    • 运行GSVA
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档