
前些天群主给了我们学徒一个任务,下载数据集:GSE84073 做一些批量分析!
群主想看到,HCC,CHC,CC这3组,跟healthy的分开比较,然后3个火山图,3个热图。
那么首先需要下载counts值矩阵,样本信息如下:
肯定是不能一个个手动点击样本信息进入寻找文件下载链接,那样低效。
压缩包解压的方式下载表达矩阵后,发现,每个样本都是一个文本文件:
格式很统一,如下:
现在就需要批量依次读取这些文件,然后合并成为表达矩阵!
当时群主的代码是linux的shell脚本+R里面的dcast函数,如果大家感兴趣群主的WGCNA教程,见:
我仔细看了看代码其实,就是首先在linux是把多个文件合并成为 tmp.txt 文本。
这个文本有点特殊,其实就是把每个txt文件夹,按照行的方式首尾连接起来成为一个大文本,但是第一列加上了样本信息!
然后在R里面读取后,使用reshape2包的dcast函数即可,如下所示,一句话搞定!
上面的方法当然是可行的,但是依赖于linux环境,在mac下面稍微有点不一样,在Windows就需要借助于git等软件来使用shell脚本。我猜想应该是那个WGCNA教程已经是四年前的啦,当时群主的主要编程语言并不是R,所以这样的文本合并需求,会采取LINUX+R的方式搞定!
这个是纯粹的R语言解决方案,我也是在群主的指点下完成的,可以看到里面使用了 do.call 和 lapply 函数 批量读取txt文本文件:
我不知道什么样的函数叫做优雅,但是看起来这个就有点高大上!
反正数据集就是GSE84073,进入就看到了可以下载的txt文件,自行摸索合并!
这个群主的教程已经足够多了,走标准分析流程,火山图,热图,GO/KEGG数据库注释等等。这些流程的视频教程都在B站和GitHub了,目录如下:
第一讲:GEO,表达芯片与R
第二讲:从GEO下载数据得到表达量矩阵
第三讲:对表达量矩阵用GSEA软件做分析
第四讲:根据分组信息做差异分析
第五讲:对差异基因结果做GO/KEGG超几何分布检验富集分析
第六讲:指定基因分组boxplot指定基因list画热图
仅仅是最后得到的差异分子,并不是以前的mRNA后面的基因名,而是miRNA,lncRNA,甚至circRNA的ID,看起来很陌生罢了。感兴趣可以细读表达芯片的公共数据库挖掘系列推文 ;
解读GEO数据存放规律及下载,一文就够
解读SRA数据库规律一文就够
从GEO数据库下载得到表达矩阵 一文就够
GSEA分析一文就够(单机版+R语言版)
根据分组信息做差异分析- 这个一文不够的
差异分析得到的结果注释一文就够
也可以看群主在2019年的尾巴推出3个R包:
第一个是整合全部的bioconductor里面的芯片探针注释包。
第二个是整合全部GPL的soft文件里面的芯片探针注释包。
第三个是下载全部的GPL的soft文件里面的探针碱基序列比对后注释包。
配合着详细的介绍:
第三个万能芯片探针ID注释平台R包
第二个万能芯片探针ID注释平台R包
第一个万能芯片探针ID注释平台R包
GEO数据库中国区镜像横空出世
因为这些包暂时托管在GitHub平台,但是非常多的朋友访问GitHub困难,尤其是我打包了好几百个GPL平台的注释信息后, 我的GitHub包变得非常臃肿,大家下载安装困难,所以我重新写一个精简包。也在:芯片探针ID的基因注释以前很麻烦 和 :芯片探针序列的基因注释已经无需你自己亲自做了, 里面详细介绍了。最重要的是idmap函数,安装方法说到过:芯片探针序列的基因注释已经无需你自己亲自做了, 使用起来也非常简单:
仅仅是一句话,就拿到了这个平台的探针的注释信息。需要注意的是,这个函数的type参数,其实是有3个选择,这里我演示的是选择soft这个来源的基因注释信息。
并不是所有的平台都是有soft注释,也不是所有的平台都被我的这个工具囊括哦。