打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用tinyarray包简化你的GEO分析流程!

开工!


简介

做生信数据分析的小伙伴一定离不开TCGA和GEO这两个数据库,但是在下载以及整理的数据的过程中就会遇到很多麻烦,比如探针id的转换,各种id的转换,数据的过滤,基本的差异分析,PCA,聚类,批量生存分析等。

真正分析的代码也就那几句,但是整理数据的过程真的是太麻烦了!!

今天介绍的这个tinyarray包就可以帮助我们解决这些问题,大幅度简化你的数据清理过程!

这个包是生信技能树团队小洁老师写的R包哟,真的是太棒啦!!

下载安装

在线安装:

if(!require(devtools))install.packages("devtools")
if(!require(tinyarray))devtools::install_github("xjsun1221/tinyarray",upgrade = F)

下载zip包后本地安装:

devtools::install_local("tinyarray-master.zip",upgrade = F,dependencies = T)

简化GEO数据分析

简化GEO数据下载

library(tinyarray)

# 直接用GSE号即可,默认会通过曾老师的GEO中国镜像下载,超级快,不需要fq
gse <- geo_download("GSE38713")


载入需要的程辑包:AnnoProbe
AnnoProbe v 0.1.0  welcome to use AnnoProbe!
If you use AnnoProbe in published research, please acknowledgements:
We thank Dr.Jianming Zeng(University of Macau), and all the members of his bioinformatics team, biotrainee, for generously sharing their experience and codes.
54675 probes, 43 samples from 0.923767449 to 15.77695556

如果报错可添加by_annopbrobe = T从官方途径下载。

class(gse)
length(gse)

[1"list"
[13

下载来的gse是一个长度为3的列表,第1个就是表达矩阵,第2个是样本信息(pdata),第3个是GPL信息

exp <- gse$exp
exp[1:4,1:4# 标准的表达矩阵,行是基因,列是样本

        GSM948550 GSM948551 GSM948552 GSM948553
1007_s_at  9.735874  9.271060  9.885801  9.306324
1053_at    7.403046  7.751990  7.579300  5.986061
117_at     2.670557  2.677983  2.758533  2.720663
121_at     4.118984  4.211329  4.787708  4.141341
View(gse$pd)
gse$gpl

[1"GPL570"
group_list=c(rep('normal',13),rep('UC',30))
group_list <- factor(group_list,levels = c("normal","UC"))
table(group_list) 
## group_list
## normal     UC 
##     13     30

简化ID转换

简化GEO数据探针转换:

ids <- AnnoProbe::idmap('GPL570'# 配合AnnoProbe
## Setting options('download.file.method.GEOquery'='auto')
## Setting options('GEOquery.inmemory.gpl'=FALSE)
exp1 <- trans_array(exp, ids)

exp1[1:4,1:4]

41937 of 54675 rownames matched
20188 rownames transformed after duplicate rows removed
       GSM948550 GSM948551 GSM948552 GSM948553
RFC2    7.403046  7.751990  7.579300  5.986061
HSPA6   2.670557  2.677983  2.758533  2.720663
PAX8    4.118984  4.211329  4.787708  4.141341
GUCA1A  2.265967  2.257482  2.270735  2.287381

连带着把探针重复的问题也一起解决了,是不是非常方便呢!

简化差异分析

一句代码,完成差异分析,火山图,热图,PCA,简直不能更棒!

deg <- get_deg_all(
  exp = exp, # 表达矩阵(探针转换前的)
  group_list = group_list, # 分组信息
  ids = ids, # 探针和基因名的对应表
  logFC_cutoff = 1# logFC
  scale_before = F# 是否scale
  cluster_cols = T # 热图聚类
)

'select()' returned 1:many mapping between keys and columns
[1"313 down genes,410 up genes"

deg也是一个列表,第1个是差异分析结果,第2个是上下调基因,第3个是3张图。

head(deg[[1]])
image-20220204115124398
str(deg[[2]])

List of 1
 $ deg:List of 3
  ..$ up  :'data.frame'410 obs. of  2 variables:
  .. ..$ upgenes : chr [1:410"MANF" "PSME4" "ANKRD22" "SDF2L1" ...
  .. ..$ upprobes: chr [1:410"202655_at" "212219_at" "238439_at" "218681_s_at" ...
  ..$ down:'data.frame'313 obs. of  2 variables:
  .. ..$ downgenes : chr [1:313"TRPM6" "CDKN2B" "CDKN2B-AS1" "LRRN2" ...
  .. ..$ downprobes: chr [1:313"221102_s_at" "207530_s_at" "1559884_at" "205154_at" ...
  ..$ diff:'data.frame'723 obs. of  2 variables:
  .. ..$ diffgenes : chr [1:723"MANF" "PSME4" "ANKRD22" "SDF2L1" ...
  .. ..$ diffprobes: chr [1:723"202655_at" "212219_at" "238439_at" "218681_s_at" ...
deg[[3]]
image-20220204115152573
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一个R包,得到差异分析结果列表,差异基因,三张图(热图,PCA,火山图)
结肠腺癌细胞系过表达apoM的芯片数据分析
GEO数据挖掘基本流程与代码
一文解决GEO芯片数据分析80%的工作!建议收藏!
使用ChIPseeker进行peak注释
从GEO数据库下载矩阵数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服