您现在的位置是:首页 > 编程 > 

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

2025-07-27 20:06:03
都2025年了,还不来更新你的GSVA分析代码吗? 里面经常接到小伙伴跑GSVA的一个报错:gsva_mat=gsva(expr=gene_exp,gset.idx.list=KeggSet,kcdf="Possion",verbose=T,parallel.sz=parallel::detectCores()) 错误于gsva(expr = gene_exp, gset.i

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

里面经常接到小伙伴跑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的支持,这意味着它可以更好地处理单细胞RA-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 <- 0 ## number of samples
nGrp1 <- 15 ## number of samples in group 1
nGrp2 <- n - nGrp1 ## number of samples in group 2

## cider three disjoint gene sets
geneSets <- list(set1=paste("g", 1:, sep=""),
                 set2=paste("g", 4:6, sep=""),
                 set=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-1,如有侵权请联系 cloudcommunity@tencent 删除数据用户体验对象函数模块化

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1206405.html

相关标签:无
上传时间: 2025-07-24 10:20:07
留言与评论(共有 8 条评论)
本站网友 2010年感动中国
13分钟前 发表
如GsvaMethodParam-class
本站网友 atr
9分钟前 发表
这些类提供了更多自定义分析的方法
本站网友 yyp
14分钟前 发表
(nGrp1+1)
本站网友 固安租房信息
8分钟前 发表
都2025年了
本站网友 大拔翁
6分钟前 发表
这些更新使得GSVA包更加灵活和强大
本站网友 沈阳性病医院
21分钟前 发表
用于存储和检索表达数据对象中的注释元数据
本站网友 什么取暖器好
14分钟前 发表
maxDiff=TRUE) ## estimate GSVA enrichment scores for the three sets gsva_es <- gsva(gsvapar) head(gsva_es) 这样就轻松的拿到 升级后的代码结果了:本文参与 腾讯云自媒体同步曝光计划