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

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

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

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

  1. 通过代码查看数据的分类,是疾病还是正常样本
##############################查看对饮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. 根据样本分类和下载处理好的数据进行数据划分,划分成正常和疾病
    我的数据格式如下图
    在这里插入图片描述
# 读取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)

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


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

相关文章:

  • 【Linux】TCP原理
  • 多叉树笔记
  • 编译ffmpeg动态库时设置RPATH为$ORIGIN
  • LeetCode【0014】最长公共前缀
  • 如何提高自动驾驶中惯性和卫星组合导航pbox的精度?
  • 平替 Spring 正当时!Solon v3.0.3 发布
  • 使用宝塔部署项目在win上
  • MySQL数据库脚本转化成sqlite数据库脚本的修改点
  • 动态规划day38|322. 零钱兑换(背包满了吗?最小值怎么表示?)、279. 完全平方数、139. 单词拆分、多重背包要点、背包问题大总结
  • 網路本地連接沒有有效的IP配置:原因與解決方法
  • 匈牙利算法详解与实现
  • 【Tomcat】常见面试题整理 共34题
  • 跨站请求伪造(CSRF)漏洞详解
  • 【MySQL】知识总结——索引的类型分类和性质
  • 2023国赛C题 蔬菜类商品的自动定价与补货决策(上)
  • Spring Boot 中实现动态列导入讲解和案例示范
  • element plus上传文件 点击确认后文件上传到接口
  • Java项目实战II基于Java+Spring Boot+MySQL的车辆管理系统(开发文档+源码+数据库)
  • 【Java】将一个List拆分使用线程池多线程运行
  • linux进程间通信——消息队列、信号量、ipc设计原理
  • 梧桐数据库(WuTongDB):向量化查询优化器的一些实现细节
  • 傅里叶变换及其应用笔记
  • 使用dom-to-image截图html区域为一张图
  • Redis --- redis事务和分布式事务锁
  • 全栈杂谈第三期 我们用的网络协议是什么
  • 前端css样式覆盖