其他
多个探针对应同一个基因取最大表达量探针极简代码
这个需求实在是太常见了,很多时候我们下载的表达矩阵,都是基因的探针ID作为行名来标记,如下:
这个变量是 dat,一个表达矩阵, 所以需要对探针进行注释,并且筛选。
首先看看注释的结果:
很明显可以看到,很多基因都是有多个探针的,而且每个探针的中位表达量不一样,这里我们可以选择最大的探针保留。
代码很简单:
dat[1:4,1:4]
library(hgu133plus2.db)
ids=toTable(hgu133plus2SYMBOL)
head(ids)
dat=dat[ids$probe_id,]
dat[1:4,1:4]
ids$median=apply(dat,1,median)
ids=ids[order(ids$symbol,ids$median,decreasing = T),]
ids=ids[!duplicated(ids$symbol),]
dat=dat[ids$probe_id,]
rownames(dat)=ids$symbol
dat[1:4,1:4]
过滤后的表达矩阵如下:
可以手动简单检查一些探针的转换情况来验证代码是否准确无误。
不过,如果你连表达矩阵都不知道如何生成,那么你需要补充的基础知识就比较多了。
目录:
■ ■ ■
生信基础知识大全系列:生信基础知识100讲
史上最强的生信自学环境准备课来啦!! 7次改版,11节课程,14K的讲稿,30个夜晚打磨,100页PPT的课程。
如果需要组装自己的服务器;代办生物信息学服务器
如果需要帮忙下载海外数据(GEO/TCGA/GTEx等等),点我?
如果需要线下辅导及培训,看招学徒
如果需要个人电脑:个人计算机推荐
如果需要置办生物信息学书籍,看:生信人必备书单
如果需要实习岗位:实习职位发布
如果需要售后:点我
如果需要入门资料大全:点我