GEO芯片数据下载和探针ID转换(保姆级教程)

这篇具有很好参考价值的文章主要介绍了GEO芯片数据下载和探针ID转换(保姆级教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文章主要参考了:
①R 语言的安装(详细教程)
②GEO芯片数据下载和探针ID转换

一、问题描述

探针ID转换

我们需要的基因表达量信息在NCBI的GEO数据库中对应的编号为GSE95394,搜索后结果如下geo基因id转换为基因名,生信学习笔记,算法
来到页面底部,这里的series Matrix File(s)是已经处理好所有样本对应各基因的表达量数据
geo基因id转换为基因名,生信学习笔记,算法
下载并打开后如下图,发现左边并不是基因的名字,而是探针ID号,我们需要将探针ID转换为基因名才能进一步处理
geo基因id转换为基因名,生信学习笔记,算法

数据是否预处理过

此外还需要注意的是,选择其中某个样本点击进去
geo基因id转换为基因名,生信学习笔记,算法
结果如下,这表明你下载的表达量是经过了log2(N+1)转化后的,如果没做特殊说明的话,这里的N一般表示基因数量,即counts,那么你下载到的表达量就是log2(counts+1),这是需要我们注意的
geo基因id转换为基因名,生信学习笔记,算法

二、Rstudio的安装(建议阅读,避免后续转换时出错)

安装包的下载

注意:由于我们需要使用WGCNA等包,所以对R以及RStudio的版本是有一定要求的(要求>4.1.3)
这里我已经将合适的版本上传至百度网盘,注意:这三个安装文件都需要下载,缺一不可
链接:https://pan.baidu.com/s/1pbgbCVQf69sEk7_tK8SGSw
提取码:4aeh
geo基因id转换为基因名,生信学习笔记,算法

安装步骤

①可以在D盘中新建一个R文件夹,将这三个文件都放在R文件夹里面,然后安装路径也都在这个R文件夹里面。(为什么安装包要和最终的安装路径放一块?因为不这样的话,RStudio运行时可能检测不到R-4.2.2安装文件夹里面etc文件夹中的Rprofile.site,这个文件的作用我稍后会解释)
②按照R-4.2.2-win、rtools、RStudio顺序依次安装(顺序不能乱),安装时都选择默认选项即可。
③因为有些R中的包依赖于java所以还需要进行java的环境配置:java 环境配置(详细教程)
④运行RStudio:在安装的RStudio>bin文件夹里面,有个rstudio.exe,双击打开即可
geo基因id转换为基因名,生信学习笔记,算法
geo基因id转换为基因名,生信学习笔记,算法
⑤镜像源的设置:
使用记事本打开这个文件
geo基因id转换为基因名,生信学习笔记,算法
将下面这段代码复制并粘贴到最后

## 设置镜像
local({r <- getOption("repos")
     r["CRAN"] <- "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"
     options(repos=r)}
     )
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")

## 设置下载方式
options("download.file.method"="libcurl")
options("url.method"="libcurl")

geo基因id转换为基因名,生信学习笔记,算法
这是在RStudio中输入一下命令:

getOption("repos")

getOption("BioC_mirror")

返回以下结果则表示设置成功
geo基因id转换为基因名,生信学习笔记,算法
如果不设置好镜像源,可能后续再安装R包的时候,会出现找不到的情况,所以这是非常有必要的!

三、(正文)芯片数据下载和ID转换

注意:如果你是严格按照上面的步骤安装RStudio,那么这一步将不会出错,否则会遇到各种问题难以继续,如果已经错误地安装RStudio等软件最后发现很多代码无法实现,那么需要把已经安装的R、RStudio、rtools全部删除干净,然后再按照上面的步骤安装(来自作者踩坑无数的嘱咐

相关设置和包的加载

进行相关设置

setwd("D:\\R\\data")	# 将工作目录设置为D:\R\data,这里根据实际情况设置
options(stringAsFactors = F)	# # 避免引入factor
Sys.setenv("VROOM_CONNECTION_SIZE"=131072*600)	# 设置内存,避免不够用

有关R包的加载

library(GEOquery)
library(limma)
library(affy)

如果某个包你没有安装,那么可能会出现如下提示
geo基因id转换为基因名,生信学习笔记,算法
安装下面方式安装即可(注意:使用install.packages(“affy”)有时会安装失败,所以还是建议使用下面的方式)

BiocManager::install("affy")

geo基因id转换为基因名,生信学习笔记,算法

数据下载

这里下载本文章开头需要的数据:GSE95394,读者可以修改为自己需要下载的数据编号

gset <- getGEO('GSE95394', destdir=".",
+                AnnotGPL = T,     ## 注释文件
+                getGPL = T)       ## 平台文件

稍后文件会被下载到当前工作目录中,然后输入

gset[[1]]

会显示该文件的相关信息(基因数量、平台、所用芯片等)
geo基因id转换为基因名,生信学习笔记,算法
再输入以下命令

exp<-exprs(gset[[1]])

exp便代表了该表达矩阵,选中查看如图,这也是我们下载的数据直接打开的内容
geo基因id转换为基因名,生信学习笔记,算法

cli<-pData(gse[[1]])	## 获取临床信息
group<-c(rep("control",3),rep("hht",3))	## 查看分组信息
GPL<-fData(gset[[1]]	## 获取平台信息 

查看GPL如下图,可以看到在该平台中芯片ID对应的各种数据库的ID号
geo基因id转换为基因名,生信学习笔记,算法
注意可以左右拉动,这里我需要的是第一列(ID)和第三列(Gene symbol),那么可以将它提取出来,如果你需要别的列数据,那么修改下面的参数即可

gpl<-GPL[,c(1,3)]

打开后如下图,我们会发现并不是所有芯片ID都有Gene symbol与其对应的,没有对应的Gene symbol我们直接忽略即可
geo基因id转换为基因名,生信学习笔记,算法
此外,我们还会发现有的芯片ID会有两个Gene symbol与之对应并用“///”分隔开,如下图所示,那么我们取第一个即可
geo基因id转换为基因名,生信学习笔记,算法
执行下面代码后,便通过只取第一个Gene symbol来达到去重效果,这时再打开gpl发现已经没有对应多个Gene symbol的情况了

gpl$`Gene symbol`<-data.frame(sapply(gpl$`Gene symbol`,function(x)unlist(strsplit(x,"///"))[1]),stringsAsFactors=F)[,1]

接下来对表达矩阵exp进行探针ID转化,首先将其转换为数据框的形式,否则一会会报错

exp<-as.data.frame(exp)

此时虽然我们能看到exp的探针ID号(最左侧),但这个ID号并不是真正在列中,所以我们还需要将探针ID放到数据框里面,执行下面命令

exp$ID<-rownames(exp)	# 增加新的一列(最后一列),存放基因ID信息

接下来通过将gpl合并到exp中,从而在exp中将芯片ID号转化为Gene symbol

exp_symbol<-merge(exp,gpl,by="ID")

geo基因id转换为基因名,生信学习笔记,算法
不过我们发现Gene symbol这里仍然有一些未能匹配上的(N/A),这时需要去除这些匹配不上的
geo基因id转换为基因名,生信学习笔记,算法
输入以下命令即可删除这些探针ID匹配不上的

exp_symbol<-na.omit(exp_symbol)

此时我们发现还有一些Gene symbol是重复的,需要我们去重
geo基因id转换为基因名,生信学习笔记,算法
首先查看有多少重复的Gene symbol

table(duplicated(exp_symbol$`Gene symbol`))

结果如下图,说明有4877个重复的
geo基因id转换为基因名,生信学习笔记,算法
输入以下命令进行去重操作同时将矩阵转换成标准的表达矩阵形式

exp_unique<-avereps(exp_symbol[,-c(1,ncol(exp_symbol))],ID=exp_symbol$`Gene symbol`)

geo基因id转换为基因名,生信学习笔记,算法
这个exp_unique就是我们需要的以Gene symbol为行标的表达矩阵,最后将它保存为csv格式

write.csv(exp_unique,"D:/desktop/aaa.csv")

大功告成~文章来源地址https://www.toymoban.com/news/detail-789771.html

到了这里,关于GEO芯片数据下载和探针ID转换(保姆级教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【GEO-AI】SAM-Geo库(segment-geospatial)入门教程

    今年4月份,Meta公布了它图形分割模型Segment-Anything,简称SAM。当时就想着这个东西用在遥感影像分割上应该效果不错,奈何自己能力有限,没有办法上手实践。偶然间看到有介绍SAM-Geo工具包的文章,决定研究一番,现在的做的这些工作可能只是狗尾续貂,权当是记一下工作笔

    2024年02月03日
    浏览(27)
  • GEO数据挖掘(一)基础介绍

    生信技能树学徒学习第二周 一、GEO数据库简介        GEO全称Gene Expression Omnibus data base,由美国国立生物技术信息中心NCBI创建并维护的基因表达数据库(通过NCBI首页,All Databases下拉框中选择GEO DataSets)。收录了世界各国研究机构提交的高通量基因表达数据。2000年开始建立的时

    2024年02月13日
    浏览(25)
  • Redis Geo:掌握地理空间数据的艺术

    欢迎来到我的博客,代码的世界里,每一行都是一个故事 在移动互联网和物联网的时代,地理位置数据无处不在。从导航和配送到社交网络和广告,地理位置信息正在重新定义我们与世界的互动方式。但是,处理和分析这些大量的地理空间数据绝非易事。这时,Redis Geo应运而

    2024年02月02日
    浏览(29)
  • 【Redis】特殊数据类型 Geo (地理位置)

    除了五中基本的数据类型外,Redis还支持两种特殊的数据类型,第一种 Geo (地理位置):用于存储地理位置相关的数据,例如经纬度、距离等。第二种 Stream (流):是一个高级的列表类型,支持对列表的批量操作,如添加多个元素、获取多个元素等。 Redis GEO(Geo Redis)是一个用

    2024年02月15日
    浏览(31)
  • 【Redis】GEO数据类型之附近的店铺实现

    目录 一、GEO 1、概念 2、相关命令 1.GEOADD 2.GEODIST 3.GEOHASH 4.GEOPOS 5.GEORADIUS 6.GEOSEARCH 7.GEOSEARCHSTORE 二、附近的店铺 1、实现思路 2、代码实现 GEO全称Geolocation,Redis种的一种数据结构他代表地理坐标 1.GEOADD 向redis中添加一个地理空间信息,其中包含经度、维度、值(member) 2.GEODI

    2024年02月07日
    浏览(31)
  • GEO生信数据挖掘(七)差异基因分析

    上节,我们使用结核病基因数据,做了一个数据预处理的实操案例。例子中结核类型,包括结核,潜隐进展,对照和潜隐,四个类别。本节延续上个数据,进行了差异分析。 加载数据 构建差异比较矩阵 计算差异基因指标 #绘制前40个基因在不同样本之间的热图 差异基因分析

    2024年02月07日
    浏览(34)
  • R语言 | GEO表达矩阵的数据清洗与预处理

    目录 1.去除/// 2.去除重复的基因名 3.表达矩阵自动log2化 4.矫正差异 表达量矩阵的数据清洗应该在 注释完成之后 进行,并且下列操作最好按顺序进行 如下图的表格所示,同一个探针ID对应的gene有多个,用///分隔着,而我们想获得一个探针ID只对应一个基因symbol的表格。 表达

    2024年02月13日
    浏览(28)
  • 【数据可视化】Python通过Pyecharts库绘制geo类地图

    我们知道,在数据可视化中的地图可视化分为map类地图和geo类地图,而现在我将介绍geo类地图,会对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着我来一起学习学习吧!(由于我是一位初学者,若有不对的还望大家多多指教,蟹蟹~) 中文官方文档和

    2024年02月04日
    浏览(52)
  • Elasticsearch 核心技术(十):GEO 地理查询(geo_bounding_box、geo_distance、geo_shape)

    ❤️ 博客主页:水滴技术 🚀 支持水滴: 点赞 👍 + 收藏 ⭐ + 留言 💬 🌸 订阅专栏:大数据核心技术从入门到精通 大家好,我是水滴~~ 地理信息查询是 Elasticsearch 的重要特性之一,其 GEO 功能主要用于地理信息的存储和搜索。本篇主要内容:介绍 Elasticsearch 的两种地理数据

    2024年02月05日
    浏览(47)
  • GEO生信数据挖掘(六)实践案例——四分类结核病基因数据预处理分析

    前面五节,我们使用阿尔兹海默症数据做了一个数据预处理案例,包括如下内容: GEO生信数据挖掘(一)数据集下载和初步观察 GEO生信数据挖掘(二)下载基因芯片平台文件及注释 GEO生信数据挖掘(三)芯片探针ID与基因名映射处理 GEO生信数据挖掘(四)数据清洗(离群值

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包