当前位置: 首页 > article >正文

GEO数据的下载和处理|GEO数据转换为Gene symbol|GEO注释文件提取symbol|查看样本标签|查看GEO数据疾病或正常|生物信息基础

GEO数据的下载和处理|GEO数据转换为Gene symbol|GEO注释文件提取symbol|查看样本标签|查看GEO数据疾病或正常|生物信息基础

数据的下载和处理

  1. 首先在GEO数据库中通过GSE ID找到相关数据,然后下载txt文件。
    在这里插入图片描述
  2. 数据读取与处理。
#设置工作路径,也就是你的分析数据存放以及要保存到地方
setwd(dir="C:\\Users\\Liao Minzhen\\PycharmProjects\\pythonProject3\\compare_data") 

Rawdata=read.table('GSE8671_series_matrix.txt.gz',#将这个文件替换为下载的文件
                   sep = '\t',quote ="",fill = T,
                   comment.char = "!",header = T)

#读进来发现第一列的字符串带有引号,写循环太麻烦,用quote=F手动给去掉一下
write.table(Rawdata, file = "test.csv",sep=",", row.names = F,quote = F)
Raw2=read.table('test.csv',sep=",",header=T)
rownames(Raw2)=Raw2[,1]
Raw2=Raw2[,-1]
#Raw2即为所下载的文件:列为样本,行为探针

将探针转换为symbol

  1. 将探针转换为Gene symbol,代码可以直接用~~~~
    下载对应注释文件,第一步中的Platform,点进去GPL570,进入新页面,然后下载Full table,就是后续用到的GPL570-55999.txt这个文件!!!!!R语言代码中的,到时候替换成你们自己的注释文件即可!
    在这里插入图片描述
#symbol ID 转换
#install.packages('data.table')
library(data.table)
b=fread('GPL570-55999.txt',data.table = F)[,c(1,11)]  #提取表中我要的列:ID名和gene symbol所在的列

#install.packages("stringr")
library(stringr)
b$gene=str_split(b$V11,'///',simplify = T)[,1]
ids=b[,-2]
#给列名换个简单点的名字
colnames(ids)[1] <- 'Affi'

#探针转换为gene symbol
library(GEOquery)
library(limma)
library(affy)
#BiocManager::install("affy") #若包不存在则安装

#去重复值:只取第一个Gene symbol来达到去重效果
ids$`gene`<-data.frame(sapply(ids$`gene`,function(x)unlist(strsplit(x,"///"))[1]),stringsAsFactors=F)[,1]
#对表达矩阵exp进行探针ID转化,首先将其转换为数据框的形式,否则一会会报错
Raw2<-as.data.frame(Raw2)
#将探针ID放到数据框里面
Raw2$ID <- rownames(Raw2)
#改变我们原有的探针ID与gene_symbol对应的名字,方便merge
colnames(ids) <- c('ID','symbol')
Raw2_symbol <-merge(Raw2,ids,by = 'ID')
#去除匹配不上的,Raw2_symbol即为想要的数据
Raw2_symbol<-na.omit(Raw2_symbol)
#删除第一列
Raw2_symbol <- Raw2_symbol[,-1]

# 将最后一列移动到第一列的位置
Raw2_symbol <- Raw2_symbol[ , c(ncol(Raw2_symbol), 1:(ncol(Raw2_symbol) - 1))]
write.csv(Raw2_symbol,file = 'symbol_data.csv',row.names = TRUE)

查看数据标签,查看样本疾病或正常

# 指定GEO数据集的ID
gse_id <- "GSE29044"

# 使用getGEO函数获取数据集的基础信息,下载数据
gse_info <- getGEO(gse_id, destdir = ".", AnnotGPL = FALSE ,getGPL = F)


#提取临床信息 方法一:$或者@ ,配合str()观察结构
pdata = gse_info$GSE29044_series_matrix.txt.gz@phenoData@data
value_counts <- table(pdata$source_name_ch1)
value_counts #这里的数据就是疾病或者样本统计了

参考文章:

数据下载与处理(主要看的这个)-链接
数据处理-链接


http://www.kler.cn/a/305975.html

相关文章:

  • 机器学习【激活函数】
  • EXCEL延迟退休公式
  • 【Excel】身份证号最后一位“X”怎么计算
  • HBase 安装与基本操作指南
  • MySQL的SQL书写顺序和执行顺序
  • Django基础用法+Demo演示
  • 后端开发刷题 | 矩阵的最小路径和
  • 语言模型中的多模态链式推理(论文复现)
  • CSS—4
  • Go语言现代web开发defer 延迟执行
  • 【Linux 20】进程控制
  • 网络原理 IP协议与以太网协议
  • 匹配行最大值替换为最小值公式
  • 反射是一个新的AI模型,可以在一台性能良好的笔记本上运行并在测试中击败GPT-4o
  • matlab while (~feof(fid))语句解释
  • 【C++11】智能指针
  • AMD FSR 4已秘密开发1年 支持AI帧生成
  • opencv之图像梯度
  • Android实现关机和重启功能
  • Linux开发讲课43---/proc/net/dev文件内容详解
  • springboot-创建连接池
  • 【第36章】Spring Cloud之Seata分布式事务
  • GNU力量注入Windows:打造高效跨平台开发新纪元
  • linux上用yolov8训练自己的数据集(pycharm远程连接服务器)
  • C#中的Date Time类
  • java构造器