前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >十行代码完成circRNA多种ID相互转换

十行代码完成circRNA多种ID相互转换

作者头像
生信技能树
发布2020-04-07 16:07:03
2.3K1
发布2020-04-07 16:07:03
举报
文章被收录于专栏:生信技能树生信技能树

科研热点层出不穷,从技术层面来看miRNA,lncRNA,circRNA,ceRNA各领风骚一两年,现在又是m6A和单细胞。前面我们在生信技能树已经系统性的总结了circRNA的相关背景知识

而且在单细胞天地平台也探索一下单细胞circRNA技术的进展,这个链接就不放了,感兴趣的自己去单细胞天地搜索哈。

最近有人咨询,他在某自学网买的circRNA多种ID相互转换代码运行不了,而且还是perl语言编写的代码,打开一看,一两百行,头都大了。鉴于他恳请我出手解决这个bug的心非常诚恳,我就勉为其难打开电脑,三下五除二写了10行代码,打完收工。

查看3个输入数据

首先是circRNA的表达矩阵

> a=fread('probeMatrix.txt',data.table = F)
> a[1:4,1:4]
       ID_REF GSM2561829 GSM2561830 GSM2561831
1 ASCRP000002   9.042573   9.238902   8.997313
2 ASCRP000004  10.219584   9.999965  10.246754
3 ASCRP000005   5.997230   6.022147   6.075589
4 ASCRP000006   7.918213   7.954153   8.005365

可以看到,探针ID,是ASCRP开通的数字,熟悉circRNA芯片的就知道这个是circRNA芯片厂家规定好的。通常呢,我们需要把这样的探针ID转换为circRNA的基因名字,虽然说circRNA基因名字也有两种:

首先看看 探针ID 和 circRNA 的6位数代号基因名字的转换:

> tail(head(b,20))
                    ID            circRNA            SPOT_ID PROBE_TYPE BUILD                                       SEQUENCE
15 AS_circRNA_control9                               control    control       TGTCAGTCTGCAGCTACTCAGATCAACCTCTCCACTTCTCCTACAC
16         ASCRP000001 hsa_circRNA_000006 hsa_circRNA_000006    circRNA  HG19 TGGGCTTGAGGCCTGATCTTTTGGCCAGAAGGAGATTAAAAAGATG
17         ASCRP000002 hsa_circRNA_000010 hsa_circRNA_000010    circRNA  HG19 TCCTTTTGGCCTCACCCAATGACCTGGCTGAAGAAGAGCCCAAGGA
18         ASCRP000003 hsa_circRNA_000028 hsa_circRNA_000028    circRNA  HG19 TAAGCCAAATGACTAACAGTAATTAAAATGGAAATGGCACAGGGAG
19         ASCRP000004 hsa_circRNA_000031 hsa_circRNA_000031    circRNA  HG19 ATTGGCACTCAGTGACCATCAGGCTGGCTGTGTGCGGCAGCTTCCT
20         ASCRP000005 hsa_circRNA_000041 hsa_circRNA_000041    circRNA  HG19 GCAGGTTGAGGATTTTATTTGATCCCTGCTCTAATTTTTAGCTTCA

其实你查阅GEO数据库就可以发现,目前经常使用的人类circRNA芯片主要有以下几种:

  • GPL21825:074301 Arraystar Human CircRNA microarray V2
  • GPL19978:Agilent-069978 Arraystar Human CircRNA microarray V1
  • GPL26925:Agilent-084217 CapitalBio Technology Human CircRNA Array v2
  • GPL23467:Agilent-082557 CBChuman circRNA array V2.0

对我们感兴趣的GSE,下载相应的GPL信息即可获得circRNA_ID,当然还有其他物种的circRNA芯片,可自行探索。

我们需要circRNA的基因名字就是想对它进行功能注释,但是很多生物学功能数据库,并没有对6位数代号基因名字的注释,还需要再转换为7位数的数字基因名字,需要读入如下所示的文件:

> e=read.table('ID.txt',header = T)
> head(e)
             circRNA            Alias
1 hsa_circRNA_000001 hsa_circ_0000001
2 hsa_circRNA_100003 hsa_circ_0000002
3 hsa_circRNA_100011 hsa_circ_0000007
4 hsa_circRNA_100017 hsa_circ_0000008
5 hsa_circRNA_000031 hsa_circ_0000009
6 hsa_circRNA_092361 hsa_circ_0000010

这样我们的3个文件, 就通过桥梁连接起来了,前面的探针ID 就可以一步步转为hsa_circ_0000001这样的7位数的数字基因名字。

这样的7位数的数字基因名字就可以去各大数据库查询其生物学功能啦。

十行代码

全部的R代码是:

library(data.table)
a=fread('probeMatrix.txt',data.table = F)
a[1:4,1:4]
b=read.table('ann.txt',sep = '\t',header = T)
tail(head(b,20))
d=merge(a,b,by.x='ID_REF',by.y='ID')
e=read.table('ID.txt',header = T)
head(e)
f=merge(e,d,by='circRNA')
head(f[,1:6])

是不是10行代码啊,多一行都是算我输。基本上我要讲解的知识点清晰明了,但是如果你需要测试数据和代码,就需要付费啦!看文末

文末友情宣传

强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶:

付费内容分割线

为有效杜绝黑粉跟我扯皮,设置一个付费分割线,这样它们就没办法复制粘贴我的代码,也不可能给我留言骂街了!(付费6元,拿到测试数据和代码

世界顿时清净很多!

综合脚本

链接在:http://49.235.27.111/pay/circRNA-ID-convert-6RMB.zip (因为不能复制,所以只能是麻烦你手动这个url到浏览器进行进行下载了,辛苦啦!)

内容如下:

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

本文分享自 生信技能树 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看3个输入数据
  • 十行代码
    • 文末友情宣传
      • 付费内容分割线
  • 综合脚本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档