前言
因为工作需求,接下来一段时段需要大量的R绘图操作,而我并没有学习过R,因此特地补充一下基础。其实R和python非常像。python中有交互式和脚本式两种运行方式,R也同样有这两种运行方式,而且安装工具包的方式也相近,因此有python基础可以有利于我们快速学习R。当然,两者也存在很多的区别,比如数据类型和数据结构不太一样,当然还有其他区别,不一一列举。R到底能做到些什么,而又该怎么做呢?这是我们接下来要探索的问题。
最近在做毕设内容,也是转录组的基因数据挖掘工作。这个项目题目是:“黄鳍鲷脑组织转录组性别相关功能基因的数据挖掘”。在前面的分析中,我们已经得到了黄鳍鲷的样本的RNA数据,并进行了无参转录组的组装,salmon的定量mapping,R中edgeR的差异分析,得到了差异基因的table文件,并且将这些差异基因进行了blastx到nr数据库的注释工作,得到了nr注释的table文件,有了这些文件后,我们就可以着手筛选我们的目标基因了。当然,另一个工作是对nr的注释结果进行GO、KEGG的注释与富集分析,这个是从整体层面上来了解我们差异分析得到的差异基因的总体情况,与我们现在进行的特定功能的基因的筛选关联性并不密切。
在得到了测序结果之后,我们需要评估一下测序的质量,因此我们需要对测序的数据进行统计评价,这里采用的软件组合就是fastqc和multiqc,fastqc用于对每一组的测序结果进行评价并且输出html结果文件,但是当同时有比较多组的测序数据时,一份份html文件去翻阅是非常麻烦的,此时multiqc就派上用场了,multiqc可以对这些结果进行整合,生成一份html文件,方便查阅。
为什么要进行质量评价呢?因为我们后期的所有分析都是基于测序数据展开的,测序数据质量的高低直接影响了我们分析的结果,因此在所有分析步骤之前,我们必须要对测序的数据的质量进行评价,只有达到我们的要求的测序数据才能用于下一步分析。
质量控制是在测序信息的分析开始之前的尤为重要的一步,因为后期的分析都是建立在这些数据的基础上的,所以前期数据的好坏直接影响了后期分析结果的质量高低、优良,因此做好质量控制非常重要。在二代测序中,测出来的片段都不长,而且还有一些PCR使用的接头也在其中,这些都会影响到后面的分析,因此我们要做的就是先把接头去掉,然后再筛选掉比较短的序列,比如使用Trinity进行拼接时,kmer的长度最小为50bp,小于这个阈值就无法拼接,因此在这个基础上,我们可以开始做质量控制了。
二代测序数据的特点:大量的短序列(150-250bp)、双末端测序、末端质量较低。因此,在利用我们的测序数据进行分析之前,首先需要过滤掉低质量的碱基与序列,以确保分析结果的准确性。
继上一篇edgeR基因差异分析,通过采用R中的edgeR/limma这两个包,完成了差异基因的分析。在这个分析中总共分为了9组进行差异分析,最终结果取了并集,然后对并集进行blast,进而统一进行blast2go注释,再对每一组差异分析单独的从结果中匹配出相应的注释。现在,我需要做的就是这个并集的blast,为blast2go做准备。值得注意的是,这里的blast效率可能并不高,因此会耗费大量时间,可以考虑拆分文件,开启多个进程同时比对。
blast全称是Basic Local Alignment Search Tool,是NCBI运营的一个基础序列比对软件,通过这个软件可以做到很好的多序列比对,比对到蛋白质或者核酸数据库中。众所周知,序列比对是生信分析的基础,不管是哪一个组学的内容,都必须进行比对才能开启下一步的工作。blast不是单纯的一个program,而是多个program的综合称呼:
|program|progress|
|:—-|:—-|
|blastn|nr–>nr|
|blastx|nr–>pro|
|tblastn|pro–>nr|
|blastp|pro–>pro|
这部分内容还是第一次转录组的实操练习,之前已经完成了序列的拼接、去冗余,并且已经做了层次聚类,统计了每个transcript的raw counts,现在进入了差异基因分析的步骤。因为不管采用什么软件,本质的方法是一致的,因此也具有一定的通用性,或者可以迁移到其他基因分析的项目中,因此要用心学习。
这里采用的是R中的edgeR包来进行分析,因此需要先做环境准备,现在开始。
if (!requireNamespace(“BiocManager”, quietly = TRUE))
install.packages(“BiocManager”)
if (!requireNamespace(“edgeR”, quietly = TRUE))
BiocManager::install(“edgeR”)
if (!requireNamespace(“airway”, quietly = TRUE))
BiocManager::install(“airway”)
这是来自实验室的数据,开始做无参转录组第一次尝试,在此记录过程。这个记录会详尽的记录在时间过程中遇到的问题以及一些学习的细节,但是为了避免文章过于冗长,采用了Markdown中插入HTML标签的方式进行折叠,需要查看即点击查看即可。