在全网最系统的表达芯片数据处理教程我没有做过多芯片注释的讲解,不过后期推文倒是很多。
实际上,很多时候,策略是没有标准的, 比如最近处理大名鼎鼎的hgu133plus2芯片:
library(GEOquery)
#Download GPL file, put it in the current directory, and load it:
gpl <- getGEO('GPL570', destdir=".")
colnames(Table(gpl))
head(Table(gpl)[,c(1,11)]) ## you need to check this , which column do you need
colnames(probe2gene)=c('probe_id','symbol')
library(stringr)
probe2gene$symbol=trimws(str_split( probe2gene$symbol,'///',simplify = T)[,1])
save(probe2gene,file='probe2gene.Rdata')
可以看到,有些探针会被注释到蛋白编码基因和miRNA,因为这个探针所在序列,就是有两个基因。
如果是简单的字符串切割,就容易出现感兴趣的基因被淹没掉,有时候选择的是MIR,有时候是蛋白编码基因。
但是如果你载入R包呢
library(hgu133plus2.db)
ids=toTable(hgu133plus2SYMBOL)
这个时候有趣的事情发生了,你会发现有基因注释的探针只剩下四万多了,明明是有5万多探针的呀!
两个问题:
- 如果保留这个探针,你希望这个探针注释到蛋白编码的基因还是miRNA的基因呢?
- 是否应该保留这样的探针呢?
表达芯片数据处理教程,早在2016年我就系统性整理了发布在生信菜鸟团博客:http://www.bio-info-trainee.com/2087.html
配套教学视频在B站:https://www.bilibili.com/video/av26731585/
代码都在:https://github.com/jmzeng1314/GEO 早期目录如下:
- 第一讲:GEO,表达芯片与R
- 第二讲:从GEO下载数据得到表达量矩阵
- 第三讲:对表达量矩阵用GSEA软件做分析
- 第四讲:根据分组信息做差异分析
- 第五讲:对差异基因结果做GO/KEGG超几何分布检验富集分析
- 第六讲:指定基因分组boxplot指定基因list画热图
- 第七讲:根据差异基因list获取string数据库的PPI网络数据
- 第八讲:PPI网络数据用R或者cytoscape画网络图
- 第九讲:网络图的子网络获取
- 第十讲:hug genes如何找
公众号推文在: