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 #这里的数据就是疾病或者样本统计了

参考文章:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值