打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
GEO表达芯片平台 — GPL14951,注释文件探索过程

最近jimmy老师在学徒群了扔了一个数据挖掘文献图表复现任务,作为老师的新晋小透明学徒,希望可以表现一下,在分析数据集GSE62133时,并没有其平台GPL14951相应的注释包,把这个探索过程分享一下吧,希望可以帮助到大家!

首先是在jimmy老师4年前博客整理的芯片平台对应R包找:(16)芯片探针与基因的对应关系-生信菜鸟团博客2周年精选文章集 的确这个平台无法找到!

探索过程

需要去GEO官网查找

https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL14951

通过网站查看探针表格,发现了一些问题:

  • 陌生的探针名(以前大部分都是XXXXX.at)

  • Entrez_Gene_ID、Ensembl_Gene_ID等竟然都是空白

于是就卡住了(PS;实际上是因为学徒经验不够,其实看得ILMN就应该是知道了illumina公司的芯片啦)

空白列

这样,时间过了两三天,重新鼓起勇气继续探索下

查平台的title:Illumina HumanHT-12 WG-DASL V4.0 R2 expression beadchip

搜索这个title,发现了曾老师一个2017年的帖子:http://www.biotrainee.com/thread-899-1-1.html

通过该文章,知道了illuminaHumanv4.db这个注释包

#根据注释包的帮助文档,探索了下illuminaHumanv4.db
library(illuminaHumanv4.db)
x <- illuminaHumanv4ENTREZID
mapped_probes <- mappedkeys(x)
head(mapped_probes, 10)
> head(mapped_probes, 10)
 [1"ILMN_1343291" "ILMN_1343295" "ILMN_1651209" "ILMN_1651221" "ILMN_1651228"
 [6"ILMN_1651229" "ILMN_1651230" "ILMN_1651232" "ILMN_1651235" "ILMN_1651237"

这个illumina bead V4芯片的探针就是【ILMN】开头

下载了平台表格,用excel打开

意外发现下面的【空白】都填满了,原来表格下面才是真正的【注释部分】,上面【空白部分】应该是metadata

(PS,这里学徒仍然是错了,上面空白只不过是因为那些探针并不是设计给基因的!)

接下来进行探针基因名转换

anno <- data.table::fread("GPL14951-11332.txt")#读取
colnames(anno)
probe2symbol <- anno[,c("ID","Symbol")]#取需要的列
colnames(probe2symbol) <- c("PROBE_ID""SYMBOL_ID")#改名,让他适合下面的自定义函数
{
  p2g <- function(eset,probe2symbol){
    library(dplyr)
    library(tibble)
    library(tidyr)
    eset <- as.data.frame(eset)
    p2g_eset <- eset %>% 
      rownames_to_column(var="PROBE_ID") %>% #合并探针的信息
      inner_join(probe2symbol,by="PROBE_ID") %>% #去掉多余信息
      select(-PROBE_ID) %>% #重新排列
      dplyr::select(SYMBOL_ID,everything()) %>% #求出平均数(这边的点号代表上一步产出的数据)
      mutate(rowMean = rowMeans(.[grep("GSM", names(.))])) %>% #去除symbol中的NA
      filter(SYMBOL_ID != "NA") %>% #把表达量的平均值按从大到小排序
      arrange(desc(rowMean)) %>% # symbol留下第一个
      distinct(SYMBOL_ID,.keep_all = T) %>% #反向选择去除rowMean这一列
      dplyr::select(-rowMean) %>% # 列名变成行名
      column_to_rownames(var = "SYMBOL_ID")
    save(p2g_eset, file = "p2g_eset.Rdata")
    return(p2g_eset)
  }
  p2g_eset <- p2g(eset = eset, probe2symbol = probe2symbol)
  load("p2g_eset.Rdata")
}

反思

  • 解决一个问题要抓住其突破点,一旦抓住便会迎刃而解。上述问题的突破点就是寻找平台的title

  • 这是一个通过【检索+意外发现】而解决问题的过程,遇到问题多探索、多思考、多检索,会柳暗花明

收获

  • 填补了对芯片种类的认知空白,以前可能都是用affymetrix系列芯片的数据,现在新增加了illumina,不过本质都是一样的!

  • illuminaHuman类注释包的部分运用

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
skr!GEO芯片数据的探针ID转换
GEO学习笔记
你希望这个探针注释到蛋白编码基因还是miRNA的基因呢
多个探针对应一个基因如何解决,GEO实操
R语言GEO数据挖掘01-数据下载及提取表达矩阵
探针注释文件中没有基因名字怎么办?(二)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服