periodicDNA

雅克Serizay

2021-05-19

周期性dna简介

短DNA序列基序为解释DNA中的指令提供了关键信息,例如通过为蛋白质提供结合位点或改变双螺旋结构。DNA序列基序的一个较少研究但重要的特征是它们的周期性。一个著名的例子是许多k-mers在核小体定位中的10-bp周期性(在Travers et al. 2010或Struhl and Segal 2013中进行了综述)。

periodicDNA提供了一个框架来量化DNA序列中感兴趣的k-mers的周期性。对于一个选定的k-mer,周期性dna可以通过使用随机洗牌方法来计算经验p值来识别在一组序列中统计丰富的周期。它还可以在基因组位点上生成k-mer周期性强度的连续线性轨迹。

周期性dna的内部步骤

为了估计给定k-mer在一个或几个序列中的周期性强度,周期性dna执行以下步骤:

  1. 将k-mer事件映射,并计算它们的成对距离。
  2. 生成所有产生的成对距离的分布(也称为“图”)。
  3. 该图表转换为频率直方图,并使用3的移动窗口进行平滑,以掩盖普遍的三碱基基因组周期性。为了使距离衰减的频率归一化,然后从平滑的频率中减去局部平均值(通过对移动窗口为10的频率进行平均得到)。
  4. 最后,通过对归一化频率直方图应用快速傅里叶变换(图1F)来估计功率谱密度(PSD)。PSD值的大小表示给定周期对感兴趣的k-mer的总体周期性的贡献。

量化一组序列上的k-mer周期性

基本用法

周期性dna的主要目标是量化给定k-mer在一组序列中的周期性。例如,我们可以利用无所不在启动子tss周围的序列来评估TT二核苷酸的周期性getPeriodicity ()

在下面的例子中,getPeriodicity ()直接使用GRanges对象运行,指定GRanges来自哪个基因组。

主要输出getPeriodicity ()是一个与离散频率相关的功率谱密度(PSD)值的表,使用快速傅里叶变换计算。对于给定的频率,高PSD分数表示感兴趣的k-mer的高周期性。

在前面的例子中,TT二核苷酸在无所不在启动子tss周围的序列是高度周期性的,周期性为10 bp。

图表输出getPeriodicity ()可以通过plotPeriodicityResults ()功能:

第一个图显示了在提供的grange序列中“TT”对之间距离的原始分布。第二个图显示的是衰减归一化分布。最后,第三个图显示了“TT”k-mer的PSD分数,由归一化分布测量。

输入序列的反复变换

周期性dna提供了一种方法来比较一组序列中给定k-mer的周期性与背景比较。对于一组输入序列中给定的k-mer在周期T时,通过迭代洗牌输入序列并估计得到的PSD值来估计其PSD对背景的折叠变化。
最终,计算观测到的PSD值与洗牌后测量到的PSD值的中值之间的log2 fold-change (l2FC)如下所示:

l2FC = log2(观察到的PSD /中位数(打乱的PSD))。

如果>= 100,还计算了相关的经验p值(North et al 2002)。该指标表明,对于每个单独的周期T,观察到的PSD是否显著大于洗牌输入序列后测量到的PSD值。请注意,经验p值只是对真实p值的估计。值得注意的是,小的p值被系统性地低估了(North et al 2002)。

请注意

getPeriodicity ()也可以直接运行一组感兴趣的序列,如下所示:

一组基因组范围的周期性跟踪

周期性dna的另一个目的是在感兴趣的基因组位点上生成k-mer周期性强度的连续线性轨迹。getPeriodicityTrack ()可以用来生成吸吮基因组轨迹。在下面的例子中,

WW_10bp_track < -getPeriodicityTrack基因组=“BSgenome.Celegans.UCSC.ce11”农庄=ce11_proms,主题=“WW”时间=10BPPARAM =setUpBPPARAM1),bw_file =“WW-10-bp-periodicity_over-proms.bw”

当在泛在、种系或体细胞tss上绘制时,所得到的轨迹清楚地显示出WW比泛在和种系tss增加10个bp的周期性,而体细胞tss没有显示这种增加。

数据(ce11_TSSs)plotAggregateCoverageWW_10bp_track,ce11_TSSs,xlab =“与TSS的距离”ylab =10-bp周期性强度(正向舞会)

会话信息

sessionInfo()#> R版本4.1.0 (2021-05-18)#>平台:x86_64-pc-linux-gnu(64位)运行在Ubuntu 20.04.2 LTS下# >矩阵产品:默认值#> BLAS: /home/biocbuild/bbs-3.13-bioc/R/lib/libRblas.so#> LAPACK: /home/biocbuild/bbs-3.13-bioc/R/lib/libRlapack.so# ># >语言环境:#> [1] LC_CTYPE=en_US。utf - 8 LC_NUMERIC = C#> [3] LC_TIME=en_GB LC_COLLATE=C#> [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。utf - 8#> [7] LC_PAPER=en_US。utf - 8 LC_NAME = C#> [9] lc_address = c lc_phone = c#> [11] LC_MEASUREMENT=en_US。utf - 8 LC_IDENTIFICATION = C# >#>附加基础包:#> [1] parallel stats4 stats graphics grDevices utils数据集#>[8]方法基础# >#>其他附加包:#> [1] BSgenome.Celegans.UCSC.ce11_1.4.2 periodicDNA_1.2.0#> [3] BiocParallel_1.26.0 BSgenome_1.60.0#> [5] rtracklayer_1.2.0 Biostrings_2.60.0#> [7] XVector_0.32.0 magrittr_2.0.1#> [9] ggplot2_3.3.3基因组范围_1.44.0#> [11] GenomeInfoDb_1.28.0 IRanges_2.26.0#> [13] S4Vectors_0.30.0 BiocGenerics_0.38.0# >#>通过命名空间加载(并且没有附加):#> [1] lattice_0.20-44 Rsamtools_2.8.0#> [3] zoo_1.8-9 assertthat_0.2.1#> [5] digest_0.6.27 utf8_1.2.1#> [7] R6_2.5.0 evaluate_0.14#> [9] highr_0.9 pillar_1.6.1#> [11] zlibbioc_1.38.0 rlang_0.4.11#> [13] jquerylib_0.1.4 Matrix_1.3-3#> [15] rmarkdown_2.8 labeling_0.4.2#> [17] string_1 .4.0 RCurl_1.98-1.3#> [19] munsell_0.5.0 DelayedArray_0.18.0#> [21] compiler_4.1.0 xfun_0.23#> [23] pkgconfig_2.0.3 htmltools_0.5.1.1#> [25] tidyselect_1.1.1摘要实验_1.22.0#> [27] tibble_3.1.2 GenomeInfoDbData_1.2.6#> [29] matrixStats_0.58.0 XML_3.99-0.6#> [31] fansi_0.4.2 crayon_1.4.1#> [33] dplyr_1.0.6 withr_2.4.2#> [35] genome alignments_1.28.0 bitops_1.0-7#> [37] grid_4.1.0 jsonlite_1.7.2#> [39] gtable_0.3.0 lifecycle_1.0.0 . ##> [41] DBI_1.1.1 scales_1.1.1#> [43] stringi_1.6.2 farver_2.1.0#> [45] bslib_0.2.5.1 ellipsis_0.3.2#> [47] generics_0.1.0 vctrs_0.3.8#> [49] cowplot_1.1.1 rjson_0.2.20#> [51] restfulr_0.0.13 tools_4.1.0#> [53] Biobase_2.52.0 glue_1.4.2#> [55] purrr_0.3.4 MatrixGenerics_1.4.0#> [57] yaml_2.2.1 colorspace_2.0-1#> [59] knitr_1.33 sass_0.4.0#> [61] BiocIO_1.2.0