GEO探针转换为symbol

本文介绍了如何从GEO数据库下载GSE12417的数据,并处理 GPL96 平台的表达矩阵,包括数据下载、测序平台确认、表达矩阵获取、anno数据合并和标准化。重点在于处理多个探针对应同一基因的情况,最终得到标准格式的表达矩阵。
摘要由CSDN通过智能技术生成

用首先下载GEO数据 有的下载会有几个对象 有的就只有一个 但是不影响 因为GSE就是数据的集合,这几个不同的对象只是测序平台不同而已 这里选择第二个对象

gset = getGEO('GSE12417', destdir=".",getGPL = F)
e2=gset[[2]]   #取下载geo数据list中的第一个对象 可以看见它测序用哪一个GPL平台
               #也可以取其他的对象,反正记住对应的测序GPL平台
expr=e2@assayData[["exprs"]]   #获取表达矩阵
expr=exprs(e2)    #用function直接获得了表达矩阵  二者一样

附三个对象:可以看到第二个对象测序平台为GPL96

去geo数据库搜索GSE12417,往下翻

 点击GPL96进入该界面

download到当前工作路径下 ,然后读入

anno=fread("GPL96-57554.txt",header = T,data.table = F)#一定要data.table=F
gene.1=anno[,c("ID","Gene Symbol")]     #获得探针对应symbol的data.frame
#由于一个探针可能对应多个symbol 而我们只要一个 对应多个时,文件会帮我们把不同的symbol按照不同形式分#开
#检查一下是什么分割  
x1=x[,2]  #将Gene Symbol列提取出来
x1[c(1:25)]  #发现是" // "分割
#先处理symbol
a1=strsplit(x1,split = " // ",fixed = T) #分割symbol
##把分割后的字符串的第一个元素提取出来,合并成为一个新的向量
gene.all = sapply(a1,function(x){x[1]})
a3=data.frame(anno$ID,gene.all) #创建一个id与对应data.frame
#开始merge
expr=as.data.frame(expr)  #由于merge函数是对两个数据框进行merge 而表达矩阵为matrix 要转
exp1=merge(x=a3,y=expr,by.x =1 ,by.y =0 )    #这里有一个小技巧 将a3放前面 exp的第0列就是id号
exp1=merge(x=a3,y=expr,by.x ="anno.ID" ,by.y =0 )  ###用1和"anno.ID"的效果是一样的
#已经merge好了 修改为标准表达矩阵
View(exp1)#对应后发现 不是标准的表达矩阵 因为rownames为1,2,3,4,5......
#所以要让exp1的rownames为gene.symbol
#首先要对gene.symbol这一列进行处理
exp2=distinct(exp1,gene.all,.keep_all = T)  #首先删除重复的基因名 因为多个探针对应同一个基因,这时候行名已经从22283变成了13238
exp3=na.omit(exp2)  #删除缺失值
rownames(exp3)=exp3$gene.all  
View(exp3)
###将多余的删除
exp4=exp3[,-c(1,2)]  #这样就整理好了表达矩阵  标准的表达矩阵为exp4    练习成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值