TCGA数据库的利用(二)—— 数据处理!

上一篇文章介绍的是关于TCGA数据的下载,如果不太清楚怎么下载数据的读者请参考这篇文章:TCGA数据库的利用(一)—— 数据下载!,而本篇文章主要介绍一下数据的处理过程,因为数据下载之后都是单一样本存储而且样本名称都是以非规则性超长字符命名,进行数据分析之前需要把样本名称转化为TCGA样本编号,例如这种形式的:TCGA-A8-A07I-01A-11R-A00Z-07;这里我以乳腺癌的RNA-seq数据作为样例,从数据库中下载了200个乳腺癌样本,每个样本中都含6万多个基因的表达数据。

样本名称转化为TCGA样本编号

数据下载之后如下,每个样本有一个文件夹,里面都会有一个压缩包,解压后会生成一个txt文本,里面含有我们需要的数据;

把每个压缩包的名称变成TCGA样本编号需要借助我们之前从网站下载数据相应的json文件:TCGA数据库的利用(一)—— 数据下载!json文件打开后,会发现每个样本名称跟它的TCGA样本编号被一个大括号所包含,形成一一对应的关系;

这里我就利用了python脚本把样本名与TCGA样本编号建立一个字典,然后进行逐一修改,

修改后的结果如下(注意:修改后的文件还是一个以.gz结尾的压缩包,这里只是修改了前面的名称而已):

数据合并

把下载的所有样本名称转化为TCGA样本编号之后,就需要进行数据整合,把所有样本数据整合到一个文件中;

这里先创建一个空矩阵作为公共矩阵,利用R语言中的gzfile函数读取第一个样本压缩包里面的数据转化为一个二维矩阵,TCGA样本编号设置为数据的列名,基因的ensembl编号设置为数据的行名;

把这个二维矩阵赋给那个公共矩阵,随后的样本数据写一个for循环,读取方式跟第一个相同,不同的是这里创建好的二维矩阵不是赋给公公矩阵,而是以第一列为参照列与前面合成的公共矩阵进行合并,最终可以把最后的矩阵写入一个csv文件夹中;

数据合并结果如下:

基因注释

这一步是把行名为基因的ensembl编号转化为基因官方id,这里利用的是R程序包clusterProfiler和org.Hs.eg.db(这种注释方法会导致注释的基因大大减少):

以上使用的R程序包基本上都需要下载,R语言自身没有,下载方式参照下面的两行代码(把里面的包的名称换成自己需要的名称即可)

最终处理后的数据如下,接下来我们既可以正常地进行分析了,最好在分析之前把处理好的数据备份一下防止数据损坏。

以上涉及的python和R语言代码的完整版,获取方式为:关注微信公众号:程序员大飞,后台回复关键字TCGA处理即可。TCGA系列的下一篇文章将介绍怎么利用程序包limma、edgeR和DESeq2作差异分析,想了解的读者可以提前关注一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 她声音很低 语气温缓平静 那一头却惊涛骇浪如临大敌 她默默聆听 那自成一派的嚣张调调 冷冷的透露着自卑和怀疑 她略...
    乔又阅读 221评论 0 5
  • 因为不知道见了这次什么时候还可以再见,妈妈给我拍了很多照片,有我的,她的,还有她抱着我的。妈妈在镇上住了两天就走了...
    一尘不染静女子阅读 245评论 0 0
  • 多少次多少次 提笔又放下 真的不忍心 眼眶里涌出泪花 那段深藏的记忆 仍在心头滚爬 . 多少回多少回 捏着笔放不下...
    孔孟之乡阅读 314评论 0 0
  • 卷半生烟雨 寻找山谷中阳光的味道 沐满世繁华 聆听幽芳中花开的声音
    琦琦格阅读 431评论 4 7
  • 人的一生选择很多,无论结局如何,自有因果。但请相信,真情会换来真情,感动也会换来感动。 鱼和熊掌不可兼得,所以你可...
    苏铼阅读 650评论 0 0