R语言 | GEO表达矩阵的数据清洗与预处理

目录

1.去除///

2.去除重复的基因名

3.表达矩阵自动log2化

4.矫正差异


表达量矩阵的数据清洗应该在注释完成之后进行,并且下列操作最好按顺序进行

1.去除///

如下图的表格所示,同一个探针ID对应的gene有多个,用///分隔着,而我们想获得一个探针ID只对应一个基因symbol的表格。

2.去除重复的基因名

表达矩阵注释过后,通常会有一些基因名是重复

matrix <- aggregate(.~Gene.symbol, matrix, mean)  ##把重复的Symbol取平均值
row.names(matrix) <- matrix$gene.name  #把行名命名为SYMBOL
matrix <- subset(matrix, select = -1)  #删除Symbol列(一般是第一列)

Gene.symbol:是需要去重的所在例名

data:是表达矩阵

3.表达矩阵自动log2化

qx <- as.numeric(quantile(exprSet, c(0., 0.25, 0.5, 0.75, 0.99, 1.0), na.rm=T))
LogC <- (qx[5] > 100) ||
  (qx[6]-qx[1] > 50 && qx[2] > 0) ||
  (qx[2] > 0 && qx[2] < 1 && qx[4] > 1 && qx[4] < 2)
## 开始判断
if (LogC) { 
  ex[which(ex <= 0)] <- NaN
  ## 取log2
  exprSet <- log2(ex)
  print("log2 transform finished")
}else{
  print("log2 transform not needed")
}

4.矫正差异

library(limma) 
boxplot(exprSet,outline=FALSE, notch=T, las=2)  ##出箱线图
### 该函数默认使用quntile 矫正差异 
exprSet=normalizeBetweenArrays(exprSet)
boxplot(exprSet,outline=FALSE, notch=T, las=2)
## 这步把矩阵转换为数据框很重要
class(exprSet)   ##注释:此时数据的格式是矩阵(Matrix)
exprSet <- as.data.frame(exprSet)

更多教学请关注:

??公众号:LN生物笔记??

??知乎:小宇??文章来源地址https://uudwc.com/A/Nb1WO

阅读剩余 56%

原文地址:https://blog.csdn.net/tianyuu1/article/details/128165456

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年07月11日 06:37
下一篇 2023年07月11日 06:39