R语言 | GEO数据库下载GSE基因芯片 以及表达矩阵和临床信息的提取
目录
1.载入R包
2.利用AnnoProbe下载GEO数据库中的数据
3.提取表达矩阵和临床信息
4.输出文件
1.获得GEO数据库中的数据
下面以GSE14520数据系为例:
获得GEO数据库中的数据总体上分为两种办法:1.从GEO数据库中下载;2.用R包下载
(1)从GEO数据库中下载
进入GEO网站,找到对应的Series Matrix File(s)即表达矩阵进行下载,保存到本地进行加载。
在R中打开,由于read.table之后的表达矩阵与getGEO之后的有一定出入,需要处理一下。
a1<-read.table("GSE76275_series_matrix.txt.gz",sep="\t",quote = "",fill=T,comment.char = "!",header=T)
rownames(a1)<-a1[,1] #把第一列的值变为行名
a1<-a1[,-1]
(2)用R包下载
用R包下载GSE芯片数据有两种方法:使用AnnoProbe包或者GEOquery包
方法一:利用AnnoProbe包
gset=AnnoProbe::geoChina('GSE14520')
tips:AnnoProbe包只能用于下载GEO中的arry数据,无法下载RNAseq类型的GSE。如果下载的GSE是RNAseq类型,AnnoProbe会报错。
方法二:利用GEOquery包中的getGEO函数
gset <- getGEO("GSE14520",GSEMatrix =TRUEAnnotGPL=TRUE ,)
AnnotGPL:关于是否使用注释GPL信息默认为False的布尔值。这些文件很好用,因为它们包含定期从Entrez Gene重新映射的最新信息。但是,它们并不适用于所有GPLS;通常,它们仅适用于GDS引用的GPLs。所以有时候我们需要单独下载处理,其实就是用于探针注释。
GSEMatrix:告知GEO查询是否使用GEO中的GSE系列矩阵文件的布尔值。
2.提取表达矩阵和临床信息
exprSet <- data.frame(exprs(gset[[1]])) #exprs用于提取表达矩阵信息
pdata<-pData(exp) #pData用于提取临床信息
gset[[1]] 的意思是,从gset这个对象中提取第一列数据。也就是提取了下图中$GSE16956_series_matrix.txt.... 这一列的数据
[[ ]]这个语法有点类似于$,都是用来提取串列的。只不过[[]]可以提取list,而$只能提取dataframe
注意:
如果你的GSE只有一个GPL,那么从gset中就仅含有一列数据,也就是说gset[[1]]就能把这个GSE所有的数据提取出来。
但如果你的GSE只有两个GPL,那么从gset中就有两列数据,gset[[1]]只能提取该GSE中一个GPL,不注意这点就会遗漏掉另一个GPL的数据。所以,这种情况要使用两行代码分别提取两个GLP的数据。
expMatrix1 <- exprs(gset[[1]])#提取第一个平台的表达矩阵
expMatrix2 <- exprs(gset[[2]])#提取第二个平台的表达矩阵
expMatrix <- cbind(expMatrix1, expMatrix2)#两个表达矩阵合并为一个总矩阵
pdata1 <- pData(gset[[2]])#提取第一个平台的临床数据
pdata2 <- pData(gset[[1]])#提取第二个平台的临床数据
那么如何判断你下载的这个GSE是有几个GPL呢?很简单,如果包含了两个或者多个GPL,你可以在RStudio右上角的环境变量中的”gset“后面的括号里看到”2 elements“的字样
如果只含有一个GPL,则不会显示括号,仅显示”Large ExpressionSet“的字样
或者你也可以通过View(gset)语法来查看:
3.输出文件
最后将数据框输出为csv文件,这个时候如果直接用write.table()函数的话,会造成列名左移的情况,解决办法参见我之前的文章(9条消息) R语言 | 导出数据框,会出现第一行左移一位的问题,解决办法如下_tianyuu1的博客-CSDN博客https://blog.csdn.net/tianyuu1/article/details/128105158
更多教学请关注:
R语言 | GEO数据库下载GSE基因芯片 以及表达矩阵和临床信息的提取相关推荐
- 基因探针c语言编程,如何零代码实现芯片探针表达矩阵转化为基因表达矩阵?...
GEO下载到的标准化后的表达矩阵(Series Matrix File(s)文件)或是下载原始.CEL文件自己归一化后形成的表达矩阵,每行的标注是以探针的形式给出的,例如. 这样在分析差异基因之后,并 ...
- 下载的长数据怎么分开R语言_TCGA数据库单基因gsea作业之COAD-READ
我前面写过 单基因GSEA分析策略(数据分析免费做活动继续) ,然后马上就碰到了一个求助,复现下面的图表! 发表在Cancer Management and Research的简单数据挖掘杂志:Apo ...
- 用GEOquery从GEO数据库下载数据
用GEOquery从GEO数据库下载数据 Gene Expression Omnibus database (GEO)是由NCBI负责维护的一个数据库,设计初衷是为了收集整理各种表达芯片数据,但是后来 ...
- R语言bmeta包下载
R语言程序包下载 在学习meta分析时,采用R语言软件的朋友们,下载bmeta包出现问题时,用github下载方式就可以了,网址:https://github.com/giabaio/bmeta
- R语言可以直接从数据库读取数据么?R语言读取数据库数据示例
R语言可以直接从数据库读取数据么?R语言读取数据库数据示例 目录 R语言可以直接从数据库读取数据么?R语言读取数据库数据示例 R语言是解决什么问题的? R语言可以直接从数据库读取数据么?R语言读取数据 ...
- R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)
R语言使用caret包的confusionMatrix函数计算混淆矩阵.使用编写的自定义函数可视化混淆矩阵(confusion matrix) 目录
- R语言将向量数据按照行方式转化为矩阵数据(设置参数byrow为TRUE)、计算矩阵数据的特征值(eigenvalue)
R语言将向量数据按照行方式转化为矩阵数据(设置参数byrow为TRUE).计算矩阵数据的特征值(eigenvalue) 目录 R语言将向量数据按照行方式转化为矩阵数据(设置参数byrow为TRUE). ...
- R语言使用caret包的confusionMatrix函数计算混淆矩阵、基于混淆矩阵的信息手动编写函数计算accuray、准确率指标
R语言使用caret包的confusionMatrix函数计算混淆矩阵.基于混淆矩阵的信息手动编写函数计算accuray指标 目录
- R语言使用caret包的confusionMatrix函数计算混淆矩阵、基于混淆矩阵的信息手动编写函数计算Specificity、特异度指标
R语言使用caret包的confusionMatrix函数计算混淆矩阵.基于混淆矩阵的信息手动编写函数计算Specificity指标 目录
最新文章
- B - Parentheses Balance (UVA - 673)
- 关闭mina服务_如何彻底关闭MINA客户端
- 计算机一级文档题,计算机一级模拟题
- Android中的APK,TASK,PROCESS,USERID之间的关系
- 宝塔linux上传文件视频,使用宝塔linux面板上传文件 解压缩zip和tar.gz
- python基础--接口与归一化设计、封装、异常、网络编程
- 罗技鼠标键盘没法使用,可以尝试安装此驱动
- Nginx跨域配置--端口转发
- 即时聊天软件开发体会
- csdn博客修改名字,不需要重新注册的。
- hive3之执行计划(Explain)、Fetch 抓取、本地模式、表的优化、Group By、笛卡尔积、行列过滤
- 电脑如何打开虚拟化设置?
- win7系统备份怎么做的几种方法
- 基于tflearn的RNN模仿莎士比亚写作
- 利用公有云cvm 公网IP实现内网穿透,远程登录内网服务器
- C++每日一练:打家劫室(详解动态规划法)
- 2021年浙江省跨境电商行业发展概况及发展趋势分析[图]
- 宏基笔记本电脑怎么进入bios设置功能按键图解
- 简述什么是FBV和CBV?
- linux grep -r 查询相关名字的文件以及ps指令