在之前一期内容(走近NCBI(三)——GEO数据库,“生信分析”基础一)中我们介绍过如何利用GEO数据库内置分析工具(Analyze with GEO2R)筛选Expression profiling by array(其实就是microarray)上的差异表达基因。那么如何利用GEO数据库中的原始数据(raw data)自己分析呢?或者像RNA-seq这样无法直接在GEO上分析的高通量测序数据又该如何处理呢?(如图1所示)
![e070b5e843ab4f8061d013501b4ce0fb.png](https://i-blog.csdnimg.cn/blog_migrate/c34d816e7a83aa0f572df64007d53d5b.jpeg)
尽管测序数据的在线分析工具已逐渐进入市场,其操作简单(只需点一点“下一步”按钮即可完成),非常适合毫无经验的生信小白使用,但是这些软件应用不够广泛,功能不够全面,尚无法取代R语言在生信分析领域的核心地位。R语言是实现统计分析、数据可视化的一种计算机语言和操作环境。其最主要的三个特点是:开源免费,程序包(函数包)丰富,绘图功能强大。
首先,R语言完全免费,并开放源代码。软件下载、安装非常简单。一般可以在国内的镜像网站上下载,如图2所示,一幅图搞定R语言软件的下载。安装R语言基本默认安装过程即可。
![9d6900487129f61ffa3af739b4f6c180.png](https://i-blog.csdnimg.cn/blog_migrate/f0b77ff519c13521143756dd29b9f054.jpeg)
由于R语言本身的界面不友好(软件界面交互性不好,容易劝退新人),所以我们还需要下载并安装RStudio软件,具体的下载过程见图3。默认安装即可。下载、安装完成后,以后每次操作只需要打开RStudio即可调用R的所有功能。
![c7beee43bf64c4dc34cae2ce1eba3e02.png](https://i-blog.csdnimg.cn/blog_migrate/35226d1297890e3c164638a0c674a2d8.jpeg)
打开RStudio,界面如图4所示。主要包括脚本区、程序运行区、环境区和绘图区四部分。为了方便大家理解(我也是非计算机科班出身),我们尽量简化这些概念。程序运行区,顾名思义,就是显示程序运行至哪行代码,有无报错的区域。脚本区,类似于我们算数的草稿纸,这上面展示了我们的想法及计算过程。环境区类似于一个自动提取器,可以提取当前环境下的变量信息等。而绘图区则会显示当前安装的所有函数包(Packages)及函数绘制的图形(Plots)。
![6224f3ce34e0597762e45717cdd44ca1.png](https://i-blog.csdnimg.cn/blog_migrate/67730331883fcf3352a426ff2cf86381.jpeg)
尽管R语言也是一种计算机语言,但是大家尽管放心,对于医学或者生物学专业的我们只需要搞清楚一些基本概念和原则,能调用函数解决我们的问题即可(甚至有时候我们只需要把文献中、论坛里的代码copy过来,稍微修改一下,可以分析我们的数据即可,非常方便)。R语言中有非常丰富的函数包可供调用,这是它的第二大特点。在绘图区的Packages选项卡中可显示当前已安装的所有函数包(R本身自带一些基础函数包),如图5所示,是我目前已安装的所有函数包。我们不需要了解每一个函数包的具体用法,只需要掌握共性规律,然后根据自己的研究内容,择情选择某一函数包学习即可(大致能看懂即可)。正所谓“有舍才有得”。要学会取舍,才是成功之道。不然,非生信专业学生可能会“淹死”在函数包的汪洋大海中。我们可以将每一个Package理解为一套特定功能的函数集合,好比我们需要计算n个值的平均数,本应先将n个数相加,所得的和再除以n得到结果,这里我们说“来个函数”,均数包就来了,结果就直接出来了。这就是调用大佬们编好的Packages的妙处。
![e4ac0d74a5e5a5a65c4f956a1d1e76ce.png](https://i-blog.csdnimg.cn/blog_migrate/8f7c307fdf59b70834757b319ec84110.jpeg)
学习是为了解决问题,进而改善生活,而不是没事给自己添堵。所以一切不以解决问题的学习就像是无源之水,无本之木,很难让人坚持下去(这只是个人想法)。R语言的使用也是类似,学到哪一程度、学会哪些内容都要根据自己的需求来定。
首先我们在脚本区写入:
# 计算1+2的值
1+2
如图6所示,#标注的为注释信息,程序会直接自动跳过这行(不运行该行内容),计算得到1+2的结果为3。
![234268f688d803d8b8d12a4b89ad009e.png](https://i-blog.csdnimg.cn/blog_migrate/0e664cb576a57fd355250dffbcefc055.jpeg)
赋值语句的符号为英文状态下的小于号(<)和减号(-)合在一起,为<-;比如a<-1+2可以理解为:将1+2的值赋给变量a。我们在脚本区写入:
a<-1+2
a
如图7所示,运行结果为a=3。
![03717d9cb53126cb0c722c60ec52f9bc.png](https://i-blog.csdnimg.cn/blog_migrate/abf9e9ce9555b093d8513e6854d5561b.png)
当然,这只是R语言最基础的知识。后面有机会我们还会展开再讲。R语言第三个特点是绘图功能强大。我们来看一看利用R语言可以完成哪些好看的图吧。搜索https://www.r-graph-gallery.com/可以看到R语言绘制的丰富多彩的图形(并告知该图可用什么Packages绘制),如图8所示:
![697a377d88d597b423eec40bf66aba7c.png](https://i-blog.csdnimg.cn/blog_migrate/8aff13c543f4795ad792670ccb995494.jpeg)
比如图9中这些“时髦”的图都可以用R语言完成。
![767788fddb5ee60b2f7a2b7586b8dd21.png](https://i-blog.csdnimg.cn/blog_migrate/29cbf8d6c0f3e202a6c0c2fccca116f9.jpeg)
R语言的学习非一蹴而就,大家闲暇时间慢慢学习即可。也要分清当前生活的主要矛盾和次要矛盾,不要误了自己的主业工作(该做实验的同学们还是要好好做实验的(囧))。期待大家一起进步!