TCGA数据库在2022年4月初进行更新之后,RNAseq的数据格式发生了很大变化,给我们广大的科研工作者带来了极大的不便。小编也是在第一时间给大家展示了TCGA数据库的变化,用图文的方式详细介绍了新版TCGA数据库RNAseq数据下载方法。
☞ TCGA数据库悄咪咪更新了—RNAseq没有HTSeq-Counts了
小编也针对新版TCGA数据库格式,为各位小伙伴提供了两种合并新版TCGA中RNAseq表达谱数据的方法
☞R代码合并新版TCGA数据库RNAseq表达谱数据
☞ 零代码合并新版TCGA数据库RNAseq表达谱数据
最近小编在基于合并的表达谱数据做下游分析的时候,发现了一个很诡异的事情。想把合并的表达矩阵再读到R里面,得到了一个error
count=read.table("RNAseq_STARcounts.txt",header=T,sep="\t",row.names=1)
一开始不能接受这个事实,理论上导出来的矩阵带有行名,没有报错。为什么再读进去会报这个错了。冷静下来,去找原因。我们从最开始的count文件开始查找。一顿操作猛如虎,基因名字数一数。这一数还真有重复。这个文件原本基因名字是没有重复的,只是在我们处理的过程中产生的重复。怎么听起来这么像鲁迅先生的说过的一句话。问题的元凶长这样的。
PAR_Y是个什么鬼,摆渡一下。
PAR(Pseudoautosomal Region,拟常染色体区域)。X和Y染色体上与常染色体同源的区域。发现3段PAR: PAR1, PAR2和PAR3。
PAR1和PAR2位置分别为:
chrY:10,000-2,781,479 and chrY:56,887,902-57,217,415
chrX:10,000-2,781,479 and chrX:155,701,382-156,030,895
这个应该是根mapping时用到的reference相关的,既然Y染色体上有根常染色体同源的区域。那么比对的时候,能比对到常染色体上的reads,也可以比对到Y染色体上相应的同源区域。一般我们制作reference的时候会排除PAR。count文件里面虽然有带PAR的基因,但是表达量都是0。不仅没有实质性的作用,还在这里添乱。查了一下,一共44个这样的害群之马。
接下来,我们把这44个带PAR的基因删掉。至于删除的方法,有两种。都会用到我们前面介绍过的正则表达式
☞正则表达式
☞R中的替换函数gsub
1)正向筛选,筛选匹配ENSG+数字+.+数字的基因名,保留。
2)反向筛选,筛选以_PAR_Y为后缀的基因名字,删除。
这里小编用的第一种方法,因为这种方法筛选出来的肯定是正常的基因名。而第二种方法,不能排除其他的幺蛾子。但是小编可以负责人的告诉大家,目前TCGA中RNAseq的数据,只有这44个基因是幺蛾子,所以两种方法的结果是一样的。筛选前基因总数60660,删选之后基因总数60616,正好差值44。
我们在来验收一下,没有任何问题。删除重复基因之后,可以顺利读到R里面,基因名作为行名。
注意:小编已经更新了R代码和零代码合并工具,已付费用户可以原链接下载更新后的代码和工具,链接参考下面两篇文章。
☞R代码合并新版TCGA数据库RNAseq表达谱数据
☞ 零代码合并新版TCGA数据库RNAseq表达谱数据
后记:小编也是一个普普通通的人,肯定会有考虑不周的地方。熟话说,知错能改,善莫大焉。大家如果发现其他bug,请给小编留言。小编一定与时俱进,第一时间亡羊补牢!
新版TCGA中RNAseq数据基因名居然有重复?!