基因芯片分析R语言差异基因流程:下载数据、基因注释/ID转换、差异分析


自学了基因芯片差异分析后这几天试着操作一下,遇到了不少问题,在园里看到了很多前辈的经验,决定把这个流程写下来,希望能帮助到和我一样的小白,也相当于自己做个笔记。整个分析过程大部分是通过R软件,我基础不好,看了几节基础视频和网上的分析视频,照搬了代码下来,照着跑了。那我们开始吧!注:本文所有代码在附件上传。
一.数据下载。这里讲的是GEO数据库里的基因芯片分析,有两种方式,一种是直接下载原始文件,以CEL结尾的。如下:
另一种是直接下载上传者分析好的数据矩阵,省了处理原始数据、标准化等过程。如下:
先说第一种情况。先下载原始文件压缩包,解压缩到目的文件夹,为了后续分析方便,先在目录下新建三个文件夹,一组是control组,一组是tumor组,还有一组是所有cel文件汇合一起的。根据GEO官网的介绍把对应的sample放到这三个文件夹里。
下面开始分析原始数据过程,(下载矩阵txt文件的接二/2)
二.数据预处理
1、贴上代码,打开Rstudio直接跑(先下载好用到的包)
接下来对normal组和tumor组分开分析,先处理normal组
再处理tumor组
得到了两组处理后的数据,接下来进行合并
至此,就得到了处理后的数据,类似这样
2、从官网下载series_matrix文件的情况。省略以上步骤,直接下载下来解压到工作目录,得到以下文件
为了方便后续处理,将名字改为同原始数据处理得的文件名cancer.probeid.exprs.txt,这样代码就不用改来改去了,将文件拷贝到excel删掉红框部分,只留下ID号和sample信息
这样,我们两种方法得到的结果格式是一样的了
三、基因注释/ID转换
这里我遇到了几种情况,1、直接在GEO数据库找到相应GPL注释文件,用R注释转换
2、GPL平台没有直接的gensymbol,也有两种方法,一种找到平台对应的R包,另一种直接用R下载平台注释。
先说第一种。1、从GEO官网上得知我的GSE对应的平台是GPL570
点击进去,直接下载download full table 解压到目标目录。
打开平台注释文件,删除不需要的列,只剩下ID、genesymbol、entrez-geneid这三列
代码走起!
照步骤来做一般是没什么问题,至此我们注释完成,得到了bladder1.cancer.geneid.exprs、bladder1.cancer.genesyb.exprs两个文件。
2、
我发现不是所有GPL的格式都是以上那样直接给出genesymbol和entrez id的,这时候就不用去GEO下载平台注释文件了,找到平台对应的R包即可,R包怎么找,参考文章:http://www.bio-info-trainee.com/1399.html
比如我要找GPL6244,对应的R包为,hugene10sttranscriptcluster
下载好这个包,接下来,代码走起!
从而得到注释好的bladder1.cancer.genesyb.exprs文件,那找不到R包怎么办,用以下代码
这样也注释好了,但是有一个问题,gene_assignment并不就是genesymbol,观察到规律基因名在gene_assignment第一个//后面,首先excel打开bladder1.cancer.genesyb.exprs,选择gene_assignment列,数据---分列---分隔符号选其他---,输入“/”完成,最后得到这样的格式
这样我们三种基因注释方法完成。
四、补充缺失值
啰嗦两句,此过程可能会出现”出现重复值“报错,那就需要把bladder1.cancer.genesyb.exprs文件里有重复的基因名筛选出来删掉重复值,或者只显示日期的基因名也查找出来删掉即可。
五、差异表达分析
值p<0.05, |FC|>2已经设置好了
这里要注意的是,我们前面已经按 normal和tumor分组,合并起来前几列是normal组,后几列是tumor组,把两个组的sample数分别在代码里面改过来。如果是直接下载矩阵的话则同理把矩阵sample顺序调一下再改代码即可。
diffEXp.xls就是我们需要的差异分析结果
还可以画个热图
火山图
接下来就可以拿这个结果去做下一步分析啦!所有代码在附件,因为是初学者,所以知道这条路上碰到问题多难解决,这篇文章很啰嗦,但是希望能帮助到初学者们,如果文章中有错误,请指出!
最后编辑于 2020-04-08 · 浏览 1.2 万