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类注释包的部分运用