在过去的几年中,由于似乎无穷无尽的应用组合,新一代测序技术的使用激增,这产生了对新的NGS数据分析工具的需求,这些工具能够在几种实验设置和因素下提供全面而灵活的可视化。NGS实验中已建立的可视化工具是应用每种NGS协议后由短读取产生的信号的可视化。基因组浏览器(例如UCSC基因组浏览器)在考虑单个基因组区域时很好地实现了这一目的。当涉及到单个或几个基因的丰度或几个蛋白质- dna相互作用位点的强度的可视化时,它们是非常好的。然而,当涉及到多个基因组位置(基因区域或其他如DNA甲基化位点或转录因子结合位点)的平均信号剖面的可视化时,基因组浏览器无法以全面的方式描述这些信息。此外,他们无法可视化因子数据的平均信号剖面,例如,一组基因按高、中、低表达分类,甚至按链分类,他们无法以紧凑的方式将所有感兴趣的信号映射到所有感兴趣的基因组区域上,这可以使用热图等方法来实现。
在这种情况下,生物信息学家使用几个工具包,如BEDTools和R/Bioconductor的工具来读取/导入短读,并将它们与感兴趣的基因组区域重叠,通过对重叠部分进行分组/平均来总结它们,以控制最终图形的分辨率等。此过程通常需要使用多个工具和具有多个步骤的自定义脚本。目前最全面和最易于使用的工具之一是ngs.plot.对于大多数应用程序来说,它已经足够快了,而且内存占用也很低,这使得用户可以在低端机器上运行它。它基于命令行,大多数时候用户可以使用一个简单的配置文件来运行它,拥有丰富的基因组注释和基因组特征数据库,并使用R/Bioconductor进行底层计算和绘制轮廓。然而,上天。情节is not up to date with modern R graphics systems likeggplot2
而且ComplexHeatmap
.因此,除其他外,不可能使用统计设计创建多面基因组轮廓,在这种情况下,需要大量额外的手工工作和计算时间才能达到预期的结果。这同样适用于热图配置文件。此外,基因组图谱的分辨率(例如每个碱基覆盖率或碱基对覆盖率的每箱)无法控制,这可能会导致在需要极端分辨率(例如DNAse-Seq实验)才能得出有意义的生物学结论的情况下出现问题。最后但并非最不重要的,ng。情节requires a not so straightforward setup in order to run, does not run in a unified working environment (e.g. R environment with its graphics displaying mechanisms) and in some cases produces oversized and complex output.
补偿方案通过踩在巨人的肩膀上来填补这些空白。它使用现在标准化和稳定的Bioconductor设施,从BAM/BED文件读取和导入短读,或从BIGWig文件和现代R图形系统中处理基因组信号ggplot2而且ComplexHeatmap为了创建全面的平均基因组图谱和基因组图谱热图。此外,它还提供了许多(易于使用的)自定义选项和各种级别的自动化。经验不足的用户可以在一个简单的文本文件中收集数据,只需选择一个受支持的组织,然后补偿为他们完成其余的工作。经验丰富的用户可以尝试多个选项,并提供更灵活的输入,从而产生最佳结果。这个小插图虽然涵盖了包的基本用法,但它为更复杂的用法提供了基础。补偿不像ng那么快。情节but we are working on this! Also, recoup is not here to replace other more mature packages. It is here to offer more options to users that need more sophisticated genomic profile visualizations. Finally, it offers a very flexible way to reuse genomic profiles whose calculations may be computationally and time expensive by offering a smart way to recognize which parameters have changed and acting based on these.
具体来说,recop创建了三种类型的图:
所有的图都可以使用一个设计文件进行切面设计,其中包含应该将图分离到的类别。以上所有内容都在该软件包的插图中的示例中进行了说明。
关于如何运行回收基因组配置文件创建管道的详细说明可以在包的主要文档下找到:
库(收回)帮助(收回)
简单地说,要运行补偿,你需要:
收回
手册页)。它们也可以作为一个有机版本关键字提供,例如。hg19
或mm9
并且将从本地检索相应的区域收回
注释数据库设置,或动态下载(由于需要一些额外的操作,需要花费更多的时间)。该包包含一个小型数据集,仅用于包构建和测试目的,并符合Bioconductor指南。这些数据对于用户检查要回收的输入数据应该是什么样子很有用。要获得更完整的测试数据集(一个小数据集),请查看并下载在这里
下面的命令应该提供一些关于嵌入式测试数据的信息,这些数据是上面链接中完整测试数据的子集。
Help (test.input) Help (test.genome) Help (test.design) Help (test.exons)
为了顺利地运行一些使用示例并产生一些实际结果,您需要从以下网站下载一组示例BAM文件、基因组区域和设计文件在这里.以下是档案中每个文件的描述(组织始终是肝脏):
收回
注释数据库为了运行小插图示例,您应该下载存档并将其提取到您喜欢的路径,例如。/home/me/recoup_tutorial
.
除了用户指定的文件外,recop用于构建平均剖面的参考基因组区域可以是由recop支持的一些常见生物预定义的基因集。看到收回
这些生物体列表的手册页。为了使用预定义基因组区域的“数据库”,您应该运行该函数buildAnnotationStore
一个生物列表,一个注释源列表(支持Ensembl, RefSeq和UCSC)和一个存储注释的所需路径(默认为/home/me/.recoup
).例如:
buildAnnotationDatabase (c(“hg19”、“mm9”,“rn4”),c(“运用”、“refseq”))
的手册页buildAnnotationStore
欲知详情。对于运行recop来说,这个步骤是不必要的,因为这些注释也可以动态下载。但是,如果要经常使用受支持的生物的子集,那么更可取的做法是花一些时间构建本地商店,因为在开始构建这个商店时投入一些时间可以节省大量的运行时间。
的收回
函数可用于从ChIP-Seq类实验(连续基因组区域上的信号)或RNA-Seq实验(非连续基因组区域上的信号)中创建覆盖剖面。由于Bioconductor开发核心团队施加的限制(逻辑上的限制),实际教程所需的数据收回
不能包含软件包。因此,本页以及关于如何从ChIP-Seq或RNA-Seq数据创建基因组配置文件的教程的其余部分都可以找到在这里或者在维基上收回
页面github
在处理基因体时,为了能够创建平均曲线和热图轮廓,经常会发生基因长度比它们应该被分割和平均的箱子数量小一点或小得多的情况。而其他包行ng。情节deal with this by always plotting in a pre-specifed axis system (e.g. 1-100 in the x-axis for ngs.plot) and using splines to sample coverages at equal spaces, recoup supports a more dynamic resolution by allowing the user to set the number of bins into which genomic areas will be binned or by allowing a per-base resolution where possible. Thus, when genes are smaller than the desired number of bins, there might be a problem.收回
应对方法有四种:
样条
函数的默认方法)约
函数的默认方法)NA
值在小面积覆盖向量上随机分布(例如长度小于期望箱数的基因),排除第一个和最后两个位置,以达到期望箱数。然后,每个NA
的前后两个值的平均值填充PositionNA
的位置。当扩展向量的值为>的20%时,应避免此方法NA
因为它可能会导致撞车。然而,在相反的情况下,它应该是最准确的NA
的)。看到收回
详细信息请参见手册页。在解释用法的两个小插图中收回
包及其函数和在例子中,你会注意到的直接使用情节
函数,而不是直接绘图(plotParams美元= FALSE
而不是默认真正的
)或recoupPlot
函数。这是故意的,因为在这一点上,它是不直接告诉knitr
Vignette构建器如何绘制在调用函数中创建的对象。
由于严格的Bioconductor关于包大小的指导方针,这些小插图也可以在github包中找到页面再举几个例子。
## R正在开发中(不稳定)(2022-10-25 r83175) ##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 22.04.1 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.17-bioc/R/lib/libRblas。so ## LAPACK: /usr/lib/x86_64-linux-gnu/ LAPACK /liblapack.so.3.10.0 ## ## locale: ## [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]grid stats4 stats graphics grDevices utils datasets ##[8]方法基础## ##其他附加包:[5] Rsamtools_2.15.0 Biostrings_2.67.0 ## [7] XVector_0.39.0 SummarizedExperiment_1.29.0 ## [9] Biobase_2.59.0 MatrixGenerics_1.11.0 ## [7] matrixStats_0.62.0 genomicranges_1.1.1.0 ## [13] GenomeInfoDb_1.35.0 IRanges_2.33.0 ## [1] vectors_0.37.0 BiocGenerics_0.45.0 ## [17] BiocStyle_2.27.0 ## ##通过命名空间加载(并且没有附加):## [1] DBI_1.1.3 bitops_1.0-7 biomaRt_2.55.0 ## [4] rlang_1.0.6 magrittr_2.0.3 lue_3 .0 RSQLite_2.2.18 ##[10]基因组features_1.5.1 png_0.1-7 vctrs_0.5.0 ## [13] string_1 .4.1 pkgconfig_2.0.3 shape_1.4.6 ## [19] crayon_1.5.2 fastmap_1.1.0 dbplyr_2.2.1 ## [19] ellipsis_0.3.2 utf8_1.2.2 rmarkdown_2.17 ## [22] bit_4.0.4 xfun_0.34 zlibbioc_1.45.0 ## [28] blob_1.2.3 DelayedArray_0.25.0 BiocParallel_1.33.0 ## [28] blob_1. 3## [43] Rcpp_1.0.9 bookdown_0.29 assertthat_0.2.1 ## [43] iterators_1.0.14 knitr_1.40 Matrix_1.5-1 ## [46] tidyselect_1.2.0 yaml_2.3.6 doParallel_1.0.17 ## [52] tibble_3.1.8 withr_2.5.0 KEGGREST_1.39.0 ## [55] evaluate_0.17 BiocFileCache_2.7.0 xml2_1.3.3 ## [58] circlize_0.4.15pillar_1.8.1 BiocManager_1.30.19 ## [61] filelock_1.0.2 foreach_1.5.2 generics_0.1.3 ## [64] RCurl_1.98-1.9 hms_1.1.2 munsell_0.5.0 ## [67] scales_1.2.1 glue_1.6.2 tools_4.3.0 ## [70] BiocIO_1.9.0 XML_3.99-0.12 AnnotationDbi_1.61.0 ## [73] colorspace_2.0-3 GenomeInfoDbData_1.2.9 restfulr_0.0.15 ## [76] cli_3.4.1 rappdirs_0.3.3 fansi_1.0.3 ## [79] dplyr_1.0.10 gtable_0.3.1 sass_0.4.2 ## [85] htmltools_0.5.3 lifecycle_1.0.3 httr_1.4.4 ## [88]GlobalOptions_0.1.2 bit64_4.0.5