前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GEO表达芯片平台 — GPL14951,注释文件探索过程

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

作者头像
生信技能树
发布2019-10-23 16:19:57
9.2K0
发布2019-10-23 16:19:57
举报
文章被收录于专栏:生信技能树生信技能树

最近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这个注释包

代码语言:javascript
复制
#根据注释包的帮助文档,探索了下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,这里学徒仍然是错了,上面空白只不过是因为那些探针并不是设计给基因的!)

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

代码语言:javascript
复制
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类注释包的部分运用
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 探索过程
    • 需要去GEO官网查找
    • 反思
    • 收获
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档