表达矩阵 这种带 `_at` 后缀的字符串的矩阵是 **Affymetrix 3‘ 表达芯片**(如 HG-U133A、U133Plus 2.0 等)**探针级(probe-level)**

看到行名是 117_at205225_at 这种带 _at 后缀的字符串,说明你现在手里的矩阵是 Affymetrix 3’ 表达芯片(如 HG-U133A、U133Plus 2.0 等)的 探针级(probe-level) 数据,而不是作者原文里提到的 Human Exon 1.0 ST(外显子芯片,行名通常是 TC0100001234.hg.1 这类)。

转换

如果坚持用现在的 _at 矩阵,也至少把探针转成 gene symbol

# 以 HG-U133Plus 2.0 为例(GPL570)
library(annotate)
library(hgu133plus2.db)

# 取前 1000 行演示
ids   <- rownames(expr)[1:1000]
gene  <- mapIds(hgu133plus2.db, ids, keytype = "PROBEID",
                column = "SYMBOL", multiVals = "first")

# 把探针名换成 gene symbol,重名再平均
library(dplyr)
library(tibble)
expr_df <- expr %>%
  as.data.frame() %>%
  tibble::rownames_to_column("PROBEID") %>%
  mutate(GENE = mapIds(hgu133plus2.db, PROBEID, "SYMBOL", "PROBEID")) %>%
  filter(!is.na(GENE)) %>%
  column_to_rownames("GENE") %>%
  select(-PROBEID) %>%
  group_by(GENE) %>%
  summarise_all(mean) %>%
  t() %>% as.matrix()

# 现在行名就是 gene symbol 了
head(rownames(expr_df))

其他方法

这说明你很可能下载了 错误的 GEO Series 或者 错误的平台文件。下面给你快速排查 + 正确下载 + 探针→基因 的三步解决方案。


  1. 先确认平台是否下错
# 看表达矩阵的前几行名
head(rownames(expr), 3)
# 如果全是 ***_at,说明平台是 GPL96/GPL570(U133),
# 而原文用 GPL5188/Exon 1.0 ST,行名不会带 _at。

  1. 重新去 GEO 拿 Exon 1.0 ST 数据
  • 进入 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE32967
  • 页面右侧 “Series Matrix File(s)” 点进去,下载
    GSE32967_series_matrix.txt.gz(这是作者处理好的 探针汇总级 矩阵,行名已经是 TCxxxxx.hg.1)。
  • 或者下 原始 CEL 目录:
    GSE32967_RAW.tar,里面每个 .CEL 文件对应一个样本,用 oligoaffy 包重新 RMA 归一化(见第 3 步)。


一句话总结
117_at 说明你现在拿到的是 U133 探针矩阵,不是作者原文的 Exon 1.0 ST

  • 最省事的办法:重新去 GEO 把 Series Matrix 下回来,行名就是外显子芯片格式;
  • 如果只能用这份 _at 数据,就用对应平台的 .db 注释包把探针映射到 gene symbol,再去重平均即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值