admin管理员组文章数量:1437372
tinyarray简化GSE75421芯片分析流程
写在开头
在推文GSE75421芯片数据分析-1中,是使用之前的分析流程,一步步的实现芯片数据的下载以及差异富集分析流程
贴心的小洁老师专门写了一个R包——tinyarray用于芯片数据和TCGA转录组数据分析
tinyarray 包简介及使用说明——kimi介绍版
1. 简介
tinyarray
是一个用于简化基因表达数据(如 GEO 和 TCGA 数据库)分析的 R 包。它提供了一系列功能,包括数据下载、差异分析、富集分析、生存分析以及可视化等。该包特别适合处理基因表达矩阵、探针注释和临床信息等任务。
2. 安装方法
在线安装:
代码语言:javascript代码运行次数:0运行复制if (!require(tinyarray)) install.packages("tinyarray")
if (!require(devtools)) install.packages("devtools")
devtools::install_github("xjsun1221/tinyarray", upgrade = FALSE, dependencies = TRUE)
本地安装: 从 GitHub 页面下载 ZIP 文件,然后使用以下命令安装:
代码语言:javascript代码运行次数:0运行复制devtools::install_local("tinyarray-master.zip", upgrade = FALSE, dependencies = TRUE)
3. 主要功能
以下是 tinyarray
包的主要功能模块:
3.1 数据可视化
draw_heatmap()
:绘制热图。draw_volcano()
:绘制火山图。draw_venn()
:绘制维恩图。draw_boxplot()
:绘制箱线图。
3.2 GEO 数据分析
geo_download()
:通过 GEO 编号下载表达矩阵、临床信息表和平台编号。find_anno()
:查找芯片平台的注释。get_deg()
:提供表达矩阵、分组信息和探针注释,返回差异分析结果。quick_enrich()
:进行简单的富集分析。
3.3 TCGA 数据分析
make_tcga_group()
:根据 TCGA 样本命名规则快速分组。trans_array()
:替换矩阵的行名,例如将探针名替换为基因名。trans_exp_new()
:将 TCGA 或 TCGA+GTeX 数据转换为基因 ID。
3.4 生存分析
surv_KM()
:批量进行 KM 生存分析。surv_cox()
:批量进行单因素 Cox 分析。risk_plot()
:绘制风险因素三联图。
3.5 网络图相关
interaction_to_edges()
:根据关系表生成网络图的连接表。edges_to_nodes()
:根据连接表生成节点表。
GEO芯片数据分析实例
还是用到的GSE75421
的数据集,照例选择normal和tumor分组进行分析,来看看使用tinayarry能有多简便!
#下载数据
library(tinyarray)
library(stringr)
geo = geo_download("GSE75421")
exp = geo$exp
range(exp)
#exp = log2(exp+1)
boxplot(exp,las = 2)
pd = geo$pd
gpl_number = geo$gpl
使用geo_download函数下载的数据,直接整理提取了需要的信息——exp、pd以及gpl,需要使用到对应内容的时候,按需提取即可
# 分组信息
if(T){
k1 = str_detect(pd$title,"normal");table(k1)
k2 = str_detect(pd$title,"tumor");table(k2)
pd = pd[k1|k2,]
}
p = identical(rownames(pd),colnames(exp));p
if(!p) {
s = intersect(rownames(pd),colnames(exp))
exp = exp[,s]
pd = pd[s,]
}
#整理分组信息
k = str_detect(pd$title,"normal");table(k)
Group = ifelse(k,"normal","tumor")
Group = factor(Group,levels = c("normal","tumor"))
分组信息的整理和之前的类似,还是提取的其中normal和tumor的数据,并且匹配到对应的芯片数据集
# 探针注释,读取需要的注释文件,还是下载的注释文件
a = read.delim("GPL18802.txt",skip = 8,comment.char = "!")
colnames(a)
ids = a[,1:2]
#如果有空行怎么去掉
k = ids$GeneSymbol!=""
ids = ids[k,]
colnames(ids)=c("probe_id","symbol")
到差异分析这一步,就上神奇函数啦!一个get_deg_all
就可以搞定,根据提供表达矩阵、分组信息和探针注释,返回差异分析结果。并且还是拼图展示的哦,颜色也进行了美化,这么贴心的小洁老师谁能不爱!
#差异分析和它的可视化
dcp = get_deg_all(exp,Group,ids,entriz = F)
table(dcp$deg$change)
head(dcp$deg)
dcp$plots
library(ggplot2)
ggsave("deg.png",width = 15,height = 5)
富集分析
这里还是要注意因为是小鼠的数据集,所以对应的物种要写明白,默认是human
get_deg()
:提供表达矩阵、分组信息和探针注释,返回差异分析结果。quick_enrich()
:进行简单的富集分析。
#富集分析
deg = get_deg(exp,Group,ids,species = "mouse")
genes = deg$ENTREZID[deg$change!="stable"]
head(genes)
#有可能因为网络问题报错
g = quick_enrich(genes,destdir = tempdir(),species = "mouse")
names(g)
g[[1]][1:4,1:4]
library(patchwork)
g[[3]]+g[[4]]
ggsave("enrich.png",width = 12,height = 7)
本文标签: tinyarray简化GSE75421芯片分析流程
版权声明:本文标题:tinyarray简化GSE75421芯片分析流程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747497856a2700155.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论