前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >探针注释之其他基因id转换

探针注释之其他基因id转换

作者头像
用户11414625
发布2024-12-20 15:01:11
发布2024-12-20 15:01:11
8000
代码可运行
举报
文章被收录于专栏:生信星球520生信星球520
运行总次数:0
代码可运行

0.介绍一下find_anno

我搞了一个函数,名叫find_anno,可以根据GPL平台编号给出探针注释的代码

第一种情况是有两个代码可以用

例如

代码语言:javascript
代码运行次数:0
复制
library(tinyarray)
find_anno("GPL570")
代码语言:javascript
代码运行次数:0
复制
## `library(hgu133plus2.db);ids <- toTable(hgu133plus2SYMBOL)` and `ids <- AnnoProbe::idmap('GPL570')` are both avaliable

## if you get error by idmap, please try different `type` parameters

给出的红色字里面就有代码啦,注意看字,就是下面这两句都可以,选其中一个即可:

代码语言:javascript
代码运行次数:0
复制
library(hgu133plus2.db);ids <- toTable(hgu133plus2SYMBOL)
ids <- AnnoProbe::idmap('GPL570')
第二种情况是只有AnnoProbe的代码可以用
代码语言:javascript
代码运行次数:0
复制
find_anno("GPL16570")

## no annotation packages avliable,please use `ids <- AnnoProbe::idmap('GPL16570')`

## if you get error by this code ,please try different `type` parameters
代码语言:javascript
代码运行次数:0
复制
#然后原样抄代码就会报错了嘞
ids <- AnnoProbe::idmap('GPL16570')
代码语言:javascript
代码运行次数:0
复制
## Error in download.file(paste0(up, down), dt, mode = "wb"): cannot open URL 'http://49.235.27.111/GEOmirror/GPL/GPL16570_bioc.rda'

其实find_anno给出结果的最后一句就是答案

注意看:if you get error by this code ,please try different type parameters

唉,表达能力有限,多写点字解释一下。

就是说idmap它有不同的type参数,我打出来的代码没带上这个参数,如果直接用报错了,就得试试看哪个能得出结果。

查帮助文档会发现type参数有三个选择

挨个试试嘛就!然后就试出来了呀。

代码语言:javascript
代码运行次数:0
复制
ids <- AnnoProbe::idmap('GPL16570',type = "soft")
第三种情况是没有查到可用的注释

比如今天的GPL30971

代码语言:javascript
代码运行次数:0
复制
find_anno("GPL30971")

## no annotation avliable in Bioconductor and AnnoProbe

没有注释可用,没有就是没有。所以我们可以去GPL网页上看看有没有相应的注释

好消息,有,坏消息,不能直接用还得转换一下id

再介绍一个函数get_gpl_txt

他可以给出GPL网页上的表格文件下载链接,有的页面没给下载键,用这个函数获取下载地址然后下载。

代码语言:javascript
代码运行次数:0
复制
get_gpl_txt("GPL30971")

## https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL30971&targ=self&form=text&view=data

网址复制到浏览器,就可以下载到这个文件了。放在工作目录下

最后是转换id啦
代码语言:javascript
代码运行次数:0
复制
f = data.table::fread("GPL30971.txt",data.table = F)
colnames(f)

## [1] "ID"             "ENTREZ_GENE_ID" "Description"    "SPOT_ID"

ids = f[,c("ID","ENTREZ_GENE_ID")]
#转换id
library(clusterProfiler)
library(org.Hs.eg.db)
e2s = bitr(ids$ENTREZ_GENE_ID,
           fromType = "ENTREZID",
           toType = "SYMBOL",
           OrgDb = "org.Hs.eg.db")
#合并在一起
ids = merge(ids,e2s,by.x = "ENTREZ_GENE_ID",by.y = "ENTREZID")
colnames(ids)

## [1] "ENTREZ_GENE_ID" "ID"             "SYMBOL"

#卸磨杀驴,不再需要ENTREZID了
ids = ids[,-1]
colnames(ids) =  c("probe_id","symbol")
ids = na.omit(ids)
head(ids)

##   probe_id   symbol
## 1     1_at     A1BG
## 2     2_at      A2M
## 3     3_at    A2MP1
## 4     9_at     NAT1
## 5    10_at     NAT2
## 6    12_at SERPINA3

可以啦。就是这样。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信星球 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.介绍一下find_anno
    • 第一种情况是有两个代码可以用
    • 第二种情况是只有AnnoProbe的代码可以用
    • 第三种情况是没有查到可用的注释
    • 再介绍一个函数get_gpl_txt
    • 最后是转换id啦
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档