sRNADiff包

马提亚Zytnicki

2018年4月30日

sRNADiff旨在寻找有或没有注释的差异表达的短rna。为此,sRNADiff使用多达4种不同的策略:

例子

已从GEO数据集中下载原始数据GSE62830,详见Violletet al。, 2015年(Viollet et al. 2015).适配器被删除fastx_clipper并与bowtie2(Salzberg and Langmead 2012)人类基因组版本GRCh38。

本例提供了该数据,仅限于chr14上的一个小位点。它使用全基因组注释(带有编码基因等)并提取miRNAs。

该文件data.csv每个BAM文件包含三列:

dir < -执行“extdata”包=“srnadiff”mustWork =真正的数据< -read.csvfile.path(dir,“data.csv”))gtfFile < -file.path(dir,“Homo_sapiens.GRCh38.76.gtf.gz”注释< -readWholeGenomeAnnotation(gtfFile)bamFiles < -file.path(dir、数据文件名)< -复制数据SampleName条件< -因素(数据条件)exp < -sRNADiffExp(注释,bamFiles,复制,条件)diffRegions < -runAll(实验)

为了方便起见,可以使用唯一的命令加载示例exp <- sRNADiffExample(),所以剧本可以归结为:

exp < -sRNADiffExample()diffRegions < -runAll(实验)

一揽子计划的基本原理和范围

目前还没有找到差异表达短rna的真正方法。最常用的方法集中在mirna上,并且只对这些基因使用标准的RNA-Seq管道。

然而,注释的tRF, siRNAs, piRNA等因此超出了这些分析的范围。一些特别的方法已经被使用,这个包实现了一个统一的方法,找到任何类型的差异表达基因或区域。

解释不同的策略

每种策略都以自己的方式分割基因组,并发现潜在的差异表达区域。每种策略都假设了差异表达区域的轮廓。这些假设在不同的策略中有所不同,因此将它们结合起来是有用的。

注释

这是标准的流水线,该方法简单地提供从给定的GTF文件中提取的miRNA基因列表。

如果您没有提供GTF文件,则跳过此步骤。

不幸的是,注释格式没有明确的标准。我们在这里提供了四种解析注释文件的方法。

全基因组文件注释

此GTF文件可在中央存储库(NCBI运用),并包含在生物体中发现的所有注释(编码基因、转位因子等)。下面的函数读取注释文件并提取mirna。注释文件可能有不同的格式,但是这个命令已经在Ensembl的几个模型生物(包括人类)上进行了测试。

miRBase注释

miRBase(Kozomara and griffith - jones 2014)是miRNAs的中心存储库。如果你的生物可用,你可以下载其GFF3格式的miRNA注释(检查“浏览”选项卡)。下面的函数解析一个GFF3 miRBase文件,并提取前体miRNAs。

因此,每个pre-miRNA将被计数,并且5 '和3 '臂、miRNA和miRNA*将合并到同一特征中。如果你想分开这两个,使用:

其他格式

当前面的函数不起作用时,你可以使用自己的解析器:

参数保持所有行,使第二个字段匹配给定的参数(例如。microrna的).的功能参数保留所有行,使得第三个字段匹配给定的参数(例如。基因).特性的名称将由标记给出的名字(如。gene_name).功能而且的名字可以.在这种情况下,不对其执行选择功能.如果的名字为空,则给出系统名称(annotation_N).

天真的

这是寻找转录单位最简单,最常用的策略。它分两步进行。

第一步合并所有BAM文件。保留最小数量覆盖的区域(所有输入BAM文件中的所有读取之和)。

第二步合并给定距离内的区域(也由用户提供)。默认距离可以用这个函数改变:

当一个基因在整个转录本上有差异表达时,这种方法是有效的。

该策略首先计算基因组中每个核苷酸的每个输入BAM文件的覆盖率。如果两个基因组核苷酸具有完全相同的覆盖剖面,我们将它们合并。我们把这些覆盖概要给DESeq2(Love, Huber, and Anders 2014),并计算p值。因此,我们对基因组的每个位置都有一个p值。然后,我们在基因组的每个染色体上使用非常粗糙的隐马尔可夫模型(HMM)。HMM有两种状态:“非差异表示”和“差异表示”。每个状态使用二项分布,发出p值<的概率\ \ (t),发射p值>=的概率\ \ (t)(\ \ (t)是一个可以调优的阈值,最初设置为0.1)。我们没有尝试优化HMM的参数,因为这需要时间,并且不会改善结果。相反,HMM被用作一种粗糙(但有效)的方法来分割基因组。

可以通过以下功能修改HMM的参数:

地点:

当一个区域高度差异表达时,这种方法是有效的,即使它隐藏在较长的转录本中。

切片

这一策略分为三步:

显然,许多假定的区域可能具有非常相似的起点和终点。如果两个区域仅相差几个碱基对,则最小的区域将被丢弃。

可以使用以下函数更改默认值:

当差异表达区域较大时,这种方法尤其有效,即使折叠变化是适度的。

一般参数

最后三个策略可以通过指定来调优:

可以使用以下函数更改默认值:

策略组合

策略选择

然后将每种策略给出的所有区域组合成一个区域列表。你可以选择不使用一些策略,使用函数

在哪里注释天真的而且逻辑变量是否设置为如果你想跳过这一步。

特征的量化

所选区域然后量化使用summarizeOverlaps的功能GenomicAlignments包中。请注意,读取可以重叠两个不同的区域(例如,从naive方法和切片方法中提取),因此可以计数两次进行量化。

你可以调整读取和区域之间重叠核苷酸的最小数量来声明命中,使用:

DESeq2然后用于获得这些区域的调整p值。

提取区域

区域,并提供相应的信息DESeq2(mean expression, fold-change, p-value, adjusted p-value等),可以用这个命令提取:

在哪里pvalue是(调整后的)p值阈值。的输出。GenomicRanges对象,该信息可通过mcols ()函数。

可视化

方法可以获取所选区域的读覆盖配置文件plotRegion方法。例如,如果经验值是你的srnadiff对象,您可以键入:

plotRegion(实验区域(1])

每行提供输入样本的读取密度。深灰色矩形强调所选区域。

Misc

命名条件

条件可以被排序(WT之前突变体未经处理的之前治疗)这样:

使用多个核

量化和差分表达式步骤可以使用几个核心和以下命令加速:

故障排除

在安装包时,如果编译器报错并说

该文件需要ISO c++ 2011标准的编译器和库支持。这种支持目前是实验性的,必须通过-std=c++11或-std=gnu++11编译器选项启用。

添加这一行

Sys.setenv(“PKG_CXXFLAGS”=“化c + + 11”)

安装包之前。

会话信息

devtools::session_info()
##设置值## R版本3.5.0(2018-04-23)##系统x86_64,linux-gnu ## ui X11 ## language (EN) ## collate c## tz America/New_York ## date 2018-04-30 ## ## package *版本日期来源## acepack 1.4.1 2016-10-29 CRAN (R 3.5.0) ## annotate 1.58.0 2018-04-30 Bioconductor ## AnnotationDbi 1.42.0 2018-04-30 Bioconductor ## assertthat 0.2.0 2017-04-11 CRAN (R 3.5.0) ## backports 1.1.2 2017-12-13 CRAN (R 3.5.0) ## base * 3.5.0 2018-04-27 local ## base64enc 0.1-3 2015-07-28 CRAN (R 3.5.0) ## Biobase 2.40.0 2018-04-30 Bioconductor ## BiocGenerics 0.26.02018-04-30 Bioconductor ## bit1.1 -12 2014-04-09 CRAN (R 3.5.0) ## bit64 0.9-7 2017-05-08 CRAN (R 3.5.0) ## bitops 1.0-6 2013-08-17 CRAN (R 3.5.0) ## blob 1.1.1 2018-03-25 CRAN (R 3.5.0) ## checkmate 1.8.5 2017-10-24 CRAN (R 3.5.0) ##集群2.0.7-1 2018-04-13 CRAN (R 3.5.0) ## colorspace 1.3-2 2016-12-14 CRAN (R 3.5.0) #3.5.0)编译器3.5.0 2018-04-27本地##数据。表1.10.4-3 2017-10-27 CRAN (R 3.5.0) ##数据集* 3.5.0 2018-04-27本地## DBI 0.8 2018-03-02 CRAN (R 3.5.0) ## DelayedArray 0.6.0 2018-04-30 Bioconductor ## DESeq2 1.20.0 2018-04-30 Bioconductor ## devtools 1.13.5 2018-02-18 CRAN (R 3.5.0) ##摘要0.6.15 2018-01-28 CRAN (R 3.5.0) ##评估0.10.1 2017-06-24 CRAN (R 3.5.0) ##国外0.8-70 2017-11-28 CRAN (R 3.5.0) ##公式1.2-2 2017-07-10 CRAN (R 3.5.0) ## genefilter 1.62.0 2018-04-30 Bioconductor ## geneplotter 1.58.0 2018-04-30Bioconductor ##基因组比对1.16.0 2018-04-30 Bioconductor ##基因组特征1.32.0 2018-04-30 Bioconductor ##基因组范围1.32.0 Bioconductor ## ggplot2 2.2.1 2016-12-30 CRAN (R 3.5.0) ##图形* 3.5.0 2018-04-27 local ## grDevices * 3.5.0 2018-04-27 local ## gridExtra 2.3 2017-09-09 CRAN (R 3.5.0) ## gtable 0.2.0 2016-02-26 CRAN (R 3.5.0) ##Hmisc 4.1-1 2018-01-03 CRAN (R 3.5.0) ## htmlTable 1.11.2 2018-01-20 CRAN (R 3.5.0) ## htmlwidgets 1.2 2018-04-19 CRAN (R 3.5.0) ## httr 1.3.1 2017-08-20 CRAN (R 3.5.0) ## IRanges 2.14.0 2018-04-30 Bioconductor ## knitr * 1.20 2018-02-20 CRAN (R 3.5.0) ## labeling 0.3 2014-08-23 CRAN (R 3.5.0) ## lattice 0.20-35 2017-03-25 CRAN (R 3.5.0) ## latticeExtra 0.6-28 2016-02-09 CRAN (R 3.5.0) ## lazyeval 0.2.1 2017-10-29 CRAN (R 3.5.0) ## locfit 1.5-9.12013-04-20 CRAN (R 3.5.0) ##矩阵1.2-14 2018-04-13 CRAN (R 3.5.0) ## matrixStats 0.53.1 2018-04-11 CRAN (R 3.5.0) ## memoise 1.1.0 2017-04-21 CRAN (R 3.5.0) ##方法* 3.5.0 2018-04-27本地## munsell 0.4.3 2016-02-13 CRAN (R 3.5.0) ## nnet 7.3-12 2016-02-02 CRAN (R 3.5.0) ##并行3.5.0 2018-04-27本地##支柱1.2.2 2018-04-26 CRAN (R 3.5.0) ## plyr 1.8.4 2016-06-08 CRAN (R 3.5.0) ## prettyunits 1.0.2 2015-07-13 CRAN (R 3.5.0) ## progress1.1.2 2016-12-14 CRAN (r3.5.0) ## RSQLite 2.1.0 ## Rcpp 0.12.16 2017-03-13 CRAN (r3.5.0) ## RCurl 1.95-4.10 2018-01-04 CRAN (r3.5.0) ## reshape2 1.4.3 2017-12-11 CRAN (r3.5.0) ## rlang 0.2.0 2018-02-20 CRAN (r3.5.0) ## rmarkdown * 1.9 2018-03-01 CRAN (r3.5.0) ## rpart 4.1-13 2018-02-23 CRAN (r3.5.0) ## rprojroot 1.3-2 2018-01-03 CRAN (r3.5.0) ## Rsamtools 1.32.0 2018-04-30 Bioconductor ## RSQLite 2.1.0 2018-03-29 CRAN(R 3.5.0) ## rstudioapi 0.7 2017-09-07 CRAN (R 3.5.0) ## rtracklayer 1.40.0 2018-04-30 Bioconductor ## S4Vectors 0.18.0 2018-04-30 Bioconductor ## scales 0.5.0 2017-08-24 CRAN (R 3.5.0) ##样条3.5.0 2018-04-27 local ## srnadiff * 1.0.0 2018-05-01 Bioconductor ## stats * 3.5.0 2018-04-27 local ## stats4 3.5.0 2018-04-27 local ## stringi 1.1.7 2018-03-12 CRAN (R 3.5.0) ## stringr 1.3.0 2018-04-19 CRAN (R 3.5.0) ##总结实验1.10.0 2018-04-30 Bioconductor ## survival 2.42-3 2018-04-16 CRAN (R 3.5.0) ## tibble 1.4.2 2018-01-22 CRAN (R 3.5.0) ## tools 3.5.0 2018-04-27 local ## utils * 3.5.0 2018-04-27 local ## withr 2.1.2 2018-03-15 CRAN (R 3.5.0) ## XML 3.98-1.11 2018-04-16 CRAN (R 3.5.0) ## xtable 1.8-2 2016-02-05 CRAN (R 3.5.0) ## XVector 0.20.0 2018-04-30 Bioconductor ## yaml 2.1.18 2018-03-08 CRAN (R 3.5.0) ## zlibbioc 1.26.0 2018-04-30 Bioconductor

参考文献

科佐马拉,安娜和山姆·格里菲思-琼斯。2014.“基础:使用深度测序数据注释高置信度microrna。”NAR42: D68-D73。

《爱》,迈克尔一世,沃尔夫冈·胡贝尔,西蒙·安德斯,2014。“用DESeq2对RNA-seq数据的折叠变化和离散度进行适度估计。”基因组生物学15(12): 550。

史蒂文·萨尔茨伯格和本·朗米德,2012。“蝴蝶结2号快速间隙读取对齐。”自然方法9:357-59。

Viollet, Coralie, David A. Davis, Martin Reczko, Joseph M. Ziegelbauer, Francesco Pezzella, Jiannis Ragoussis, Robert Yarchoan. 2015。“新一代测序分析揭示了kshv感染细胞中Mirna-mRNA目标对的差异表达谱。”《公共科学图书馆•综合》10:1-23。