GEO数据库提取疾病样本和正常样本|GEO数据库区分疾病和正常样本|直接用|生物信息|生信

GEO数据库提取疾病样本和正常样本|GEO数据库区分疾病和正常样本|直接用|生物信息|生信

代码都可以直接用,修改GSE就可以!

  1. 通过代码查看数据的分类,是疾病还是正常样本
R 复制代码
##############################查看对饮GSE样本疾病or正常信息

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

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


#提取临床信息 方法一:$或者@ ,配合str()观察结构
pdata = gse_info$GSE42568_series_matrix.txt.gz@phenoData@data
value_counts <- table(pdata$source_name_ch1)#这里可以改为查看pdata中区分疾病样本和正常样本的列名
value_counts
  1. 根据样本分类和下载处理好的数据进行数据划分,划分成正常和疾病
    我的数据格式如下图
R 复制代码
# 读取CSV文件
data <- read.csv("new_count_std.csv", row.names = 1)
#统一pdata读取的样本名和数据文件中的样本名
colnames(data) <- gsub("X\\.", "", colnames(data))   # 修改列名去掉 "X."
colnames(data) <- gsub("\\.$", "", colnames(data)) # 去掉最后的 "."

# 从source_name_ch1列中提取样本类型,我这里直接取了最后一个关键字,一般为normal,tumor,cancer这几类可以查看得到
pdata$last_word <- sapply(strsplit(as.character(pdata$source_name_ch1), " "), function(x) tail(x, 1))

# 根据样本类型划分数据
normal_samples <- rownames(pdata[pdata$last_word == "normal", ])#通过pdata$last_word 进行写关键字,不同的数据可能有不同的关键字,下面tumor的也是一样
normal_data <- data[, normal_samples]
tumor_samples <- rownames(pdata[pdata$last_word == "cancer", ])
tumor_data <- data[, tumor_samples]

# 保存划分后的CSV文件
write.csv(normal_data, "normal_matrix.csv", row.names = TRUE)
write.csv(tumor_data, "tumor_matrix.csv", row.names = TRUE)

这样保存的文件分别就是疾病样本和正常样本了~~~~~~~~有疑问欢迎询问!我会尽可能解答!!!!!!

相关推荐
woniu_maggie8 分钟前
SAP EXCEL DOI 详解
开发语言·后端·excel
小爬虫程序猿8 分钟前
利用 PHP 爬虫按关键字搜索淘宝商品
开发语言·爬虫·php
小爬虫程序猿14 分钟前
淘宝商品信息如何存储到数据库?
数据库·爬虫·php
麻芝汤圆15 分钟前
使用 MapReduce 进行高效数据清洗:从理论到实践
大数据·linux·服务器·网络·数据库·windows·mapreduce
独好紫罗兰22 分钟前
洛谷题单3-P5720 【深基4.例4】一尺之棰-python-流程图重构
开发语言·python·算法
yanxy51225 分钟前
【TS学习】(18)分发逆变推断
前端·学习·typescript
岁月如歌,青春不败25 分钟前
MaxEnt模型全解析:从原理到 R 语言实战,开启生态环境研究新视野
arcgis·r语言·生态学·论文写作·生态系统服务·物种分布·maxent模型
爱吃奶酪的松鼠丶27 分钟前
.net GRPC服务搭建,跨进程调用。C#应用和Python应用之间的通信。
python·c#·.net
byte轻骑兵35 分钟前
【C++进阶】关联容器:pair类型
开发语言·c++
Hellyc39 分钟前
SpringMVC响应数据:页面跳转与回写数据
java·前端·学习