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

科研热点层出不穷,从技术层面来看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到浏览器进行进行下载了,辛苦啦!)
内容如下:
推荐阅读

(0)

相关推荐