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

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

数据的下载和处理

  1. 首先在GEO数据库中通过GSE ID找到相关数据,然后下载txt文件。
  2. 数据读取与处理。
R 复制代码
#设置工作路径,也就是你的分析数据存放以及要保存到地方
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语言代码中的,到时候替换成你们自己的注释文件即可!
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 #这里的数据就是疾病或者样本统计了

参考文章:

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

数据处理-链接

相关推荐
少云清14 小时前
【接口测试】5_PyMySQL模块 _数据库工具类封装
数据库·pymysql
iconball14 小时前
个人用云计算学习笔记 --37 Zabbix
运维·笔记·学习·云计算·zabbix
小光学长15 小时前
基于ssm旅游管理系统的开发与设计z050cft7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·旅游
剑之所向15 小时前
MCU开机按键,怎么避免抖动造成的开机
数据库·单片机·mongodb
FPGAI15 小时前
Java学习之计算机存储规则、数据类型、标识符、键盘录入、IDEA
java·学习
lightningyang16 小时前
渗透入门之SQL 注入(二)
数据库·sql·渗透·sql注入
Yiii_x16 小时前
Object类与包装类
java·经验分享·笔记·课程设计·ai编程
四谎真好看16 小时前
MySQL 学习笔记(运维篇1)
运维·数据库·笔记·学习·mysql·学习笔记
ZLZQ_Yuan16 小时前
MyBatis、MyBatis-Plus
数据库·mybatis
hssfscv16 小时前
Javaweb学习笔记——Web
笔记·学习·web