EpiCompare
:开始的EpiCompare软件包旨在促进表观基因组数据集的比较,以进行质量控制和基准测试。该软件包结合了几个下游分析工具的表观基因组数据,并生成一个单一的报告,整理所有的分析结果。这允许用户同时对多个表观基因组数据集进行下游分析,并以简单有效的方式比较结果。
多年来,ChIP-seq一直是表观基因组分析的标准方法,但它存在许多局限性。最近,许多其他表观基因组技术(如CUT&Run, CUT&Tag和TIP-seq等)被开发出来,旨在克服这些限制。为了更好地理解这些新方法的性能,我们有必要系统地比较这些技术,并以“黄金标准”作为基准。
R中有很多工具(例如。ChIPseeker),可用于进行下游分析和比较表观基因组数据集。然而,它们通常分散在不同的包中,对于没有或几乎没有计算经验的研究人员来说很难使用。
EpiCompare旨在提供一种简单而全面的分析和比较表观基因组数据集的方法。它结合了许多有用的下游分析工具,用户可以很容易地控制这些工具,并将结果整理在一个报告中。这使得研究人员能够系统地比较不同的表观基因组技术。
而主要的功能EpiCompare是对表观基因组技术的对比,也可以用来比较一种技术使用不同实验条件和数据分析工作流程生成的数据集。这可以帮助研究人员就该方法的最佳使用达成共识。
目前,EpiCompare仅适用于人类基因组,因为它使用了基于人类的hg19和/或hg38基因组参考。
的EpiCompare包包含组蛋白标记H3K27ac的一小部分数据,从以下文件获得/生成:
它还包含从ENCODE获得的人类基因组hg19和hg38黑名单区域。ENCODE黑名单包括基因组中具有与细胞系或实验无关的异常和/或非结构化信号的区域。建议去除ENCODE黑名单进行质量测量。
这些数据集将被用来展示EpiCompare功能
安装包的操作步骤如下:
如果(!require("BiocManager", quiet = TRUE)) install.packages("BiocManager")
在本例分析中,我们将组蛋白标记H3K27ac的CUT&Run和CUT&Tag与ENCODE ChIP-seq进行比较。
安装完成后,加载包:
库(EpiCompare)
# #
##警告:替换之前的导入'Biostrings::pattern'由'grid::pattern'当##加载' genome '
加载本分析中使用的示例数据集:
data("encode_H3K27ac") # ENCODE ChIP-seq数据("CnT_H3K27ac") # CUT&Tag数据("CnR_H3K27ac") # CUT&Run数据("hg19_blacklist") # hg19基因组黑名单数据("CnT_H3K27ac_picard") # CUT&Tag皮卡德汇总输出数据("CnR_H3K27ac_picard") # CUT&Run皮卡德汇总输出
EpiCompare接受数据集为农庄
对象和作为BED文件的路径。Peakfiles (农庄
或路径),你想要分析必须列出和命名(见下文)。
#导入BED文件作为GRanges对象peak_GRanges <-ChIPseeker::readPeakFile("/path/ To /peak/file. txt ")peak_path <- "/path/to/ bed /file1. bed",as = "GRanges") # EpiCompare也接受路径(到bed文件)作为输入peak_path <- "/path/to/ bed /file1. "#创建命名的峰值列表peaklist <- list(peak_GRanges, peak_path) names(peaklist) <- c("sample1", "sample2")
在本例中,我们将使用内置数据,这些数据已被转换为农庄
对象(CnT_H3K27ac
而且CnR_H3K27ac
).
peaklist <- list(CnT_H3K27ac, CnR_H3K27ac) #创建文件名列表(peaklist) <- c("CnT", "CnR") #设置文件名
ENCODE黑名单包含基因组中独立于细胞系或实验的异常和/或非结构化信号区域。建议从峰值文件中删除这些区域以进行质量度量。
EpiCompare包含两个黑名单文件hg19和hg38在这里.
在本例分析中,由于所有峰值文件(encode_H3K27ac
,CnT_H3K27ac
,CnR_H3K27ac
)使用人类基因组参考构建hg19生成,hg19_blacklist
将被使用。对于hg38,使用数据(hg38_blacklist)
.
请确保您指定了正确的黑名单。
注意这是可选.如果您希望报告包括DNA片段的度量(例如映射片段和复制率),请从Picard输入摘要文件。
皮卡德MarkDuplicates可用于标记在对齐中找到的重复读取。这个工具输出一个带有结尾的度量文件.MarkDuplicates.metrics.txt
.要将这个文本文件作为数据帧导入到R中,请使用:
picard <- read.table("/path/to/ picard /.MarkDuplicates.metrics.txt", header = TRUE, fill = TRUE)
在这个例子中。我们将使用内置数据,这些数据之前已经转换为数据帧(CnT_H3K27ac_picard
而且CnR_H3K27ac_picard
).文件必须列出并命名:
#创建Picard汇总列表Picard <- list(CnT_H3K27ac_picard, CnR_H3K27ac_picard) names(Picard) <- c("CnT", "CnR") #集合名称
这是可选的。如果提供了参考峰值文件,stat_plot
而且chromHMM_plot
报告中包含了重叠高峰(见可选的情节章节)。
引用文件必须列出并命名。在本例中,我们将使用内置数据(encode_H3K27ac
),已转换为农庄
以前:
reference_peak <- list("ENCODE_H3K27ac" = ENCODE_H3K27ac)
运行时EpiCompare ()
,请确保您指定output_dir
.所有输出(图形和HTML报告)将保存在指定的output_dir
.
运行EpiCompare使用函数,EpiCompare ()
.用户可以通过设置参数来选择要运行哪些分析并将其包含在报告中真正的
或假
.
EpiCompare(peakfiles = peaklist, genome_build = "hg19", blacklist = hg19_blacklist, picard_files = picard, reference = reference_peak, upset_plot = FALSE, stat_plot = FALSE, chromHMM_plot = FALSE, chromHMM_annotation = "K562", chipseeker_plot = FALSE, ment_plot = FALSE, tss_plot = FALSE, interact = FALSE, save_output = FALSE, output_filename = "EpiCompare_test", output_timestamp = FALSE, output_dir = tempdir()))
##假设所有文件输入的genome_build相同:## 'peakfiles': hg19 ## 'reference': hg19 ## 'blacklist': hg19
##准备高峰名单。
## grlist已经是output_build格式。跳过liftover。
准备引用。
## grlist已经是output_build格式。跳过liftover。## grlist已经是output_build格式。跳过liftover。
##——运行peak_info()——
# #。
##——运行width_boxplot()——
# #。
##——运行overlap_heatmap()——
# #。
##[1]“0.078分钟完成。”
##所有输出保存到:/tmp/RtmpQcmgWy
## [1] "/tmp/RtmpQcmgWy/EpiCompare_test.html"
默认情况下,除非进行了设置,否则这些图不会包含在报表中真正的
.
upset_plot
:表示样本间重叠峰数的打乱图。EpiCompare使用UpSetR
包中。stat_plot
:一个参考
Peakfile必须包含在这个情节中。该图显示了与的重叠/不重叠的样本峰的统计显著性(q值)分布参考
数据集。chromHMM_plot
:ChromHMM峰的注释。如果参考
, ChromHMM注释的重叠峰和非重叠峰与参考
也包括在报告中。chipseeker_plot
:ChIPseeker
峰的功能注释。enrichment_plot
: KEGG通路及GO峰富集分析。tss_plot
:转录起始位点(+/- 3000bp)附近的峰值频率。请注意,对于大样本量,生成此图可能需要一段时间。chromHMM_annotation
: ChromHMM的Cell-line注释。默认为K562。选项有:交互
:默认情况下,报告中的所有热图(重叠百分比和ChromHMM热图)都是交互式的。如果设置为FALSE,所有热图将是静态的。注意:如果互动= TRUE
,交互式热图将被保存为HTML文件,这可能需要更大的样本量。output_filename
:默认情况下,报表名称为“epicompar .html”。您可以在这里指定报告的文件名。output_timestamp
:默认为FALSE。如果为TRUE,则报告的文件名包含日期。EpiCompare输出
EpiCompare_file
包含EpiCompare if生成的所有图save_output = TRUE
.两个输出都保存在指定的output_dir
.
在当前版本中,EpiCompare只识别某些BED格式。我们希望改善这一点。此外,如果有其他下游分析工具,可能适用于EpiCompare,请随时报告Github.
跑龙套:sessionInfo ()
## R版本4.2.1(2022-06-23)##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.5 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack。所以## ## 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]stats graphics grDevices utils datasets methods基础## ##其他附加包:## [1]EpiCompare_1.2.0 BiocStyle_2.26.0 ## ##通过命名空间加载(且未附加):# # # # [1] utf8_1.2.2 [2] tidyselect_1.2.0 # # [3] htmlwidgets_1.5.4 # # [4] RSQLite_2.2.18 # # [5] AnnotationDbi_1.60.0 # # [6] grid_4.2.1 # # [7] BiocParallel_1.32.0 # # [8] scatterpie_0.1.8 # # [9] munsell_0.5.0 # # [10] codetools_0.2-18 # # [11] withr_2.5.0 # # [12] colorspace_2.0-3 # # [13] GOSemSim_2.24.0 # # [14] Biobase_2.58.0 # # [15] filelock_1.0.2 # # [16] highr_0.9 # # [17] knitr_1.40 # # [18] stats4_4.2.1 # # [19] DOSE_3.24.0 # # [20] labeling_0.4.2 # # [21] MatrixGenerics_1.10.0 # # [22]GenomeInfoDbData_1.2.9 # # [23] polyclip_1.10-4 # # [24] seqPattern_1.30.0 # # [25] bit64_4.0.5 # # [26] farver_2.1.1 # # [27] vctrs_0.5.0 # # [28] treeio_1.22.0 # # [29] generics_0.1.3 # # [30] xfun_0.34 # # [31] BiocFileCache_2.6.0 # # [32] R6_2.5.1 # # [33] GenomeInfoDb_1.34.0 # # [34] graphlayouts_0.8.3 # # [35] locfit_1.5 - 9.6 # # [36] bitops_1.0-7 # # [37] BRGenomics_1.10.0 # # [38] cachem_1.0.6 # # [39] fgsea_1.24.0 # # [40] gridGraphics_0.5-1 # # [41] DelayedArray_0.24.0 # # [42] assertthat_0.2.1 # # [43]promises_1.2.0.1 # # [44] BiocIO_1.8.0 # # [45] scales_1.2.1 # # [46] ggraph_2.1.0 # # [47] enrichplot_1.18.0 # # [48] gtable_0.3.1 # # [49] tidygraph_1.2.2 # # [50] rlang_1.0.6 # # [51] genefilter_1.80.0 # # [52] splines_4.2.1 # # [53] rtracklayer_1.58.0 # # [54] lazyeval_0.2.2 # # [55] impute_1.72.0 # # [56] BiocManager_1.30.19 # # [57] yaml_2.3.6 # # [58] reshape2_1.4.4 # # [59] GenomicFeatures_1.50.0 # # [60] httpuv_1.6.6 # # [61] qvalue_2.30.0 # # [62] tools_4.2.1 # # [63] bookdown_0.29 # # [64] ggplotify_0.1.0# #[65] gridBase_0.4-7 ## [66] ggplot2_3.3.6 ## [67] ellipsis_0.3.2 ## [68] gplots_3.1.3 ## [69] jquerylib_0.1.4 ## [70] RColorBrewer_1.1-3 ## [71] BiocGenerics_0.44.0 ## [72] Rcpp_1.0.9 ## [73] plyr_1.8.7 ## [74] progress_1.2.2 ## [75] zlibbioc_1.44.0 ## [76] purrr_0.3.5 ## [77] RCurl_1.98-1.9 ## [78] prettyunits_1.1.1 ## [79] viridis_0.6.2 ## [80] cowplot_1.1.1 ## [81] S4Vectors_0.36.0 ## [82] SummarizedExperiment_1.28.0 ## [83] ggrepel_0.9.1 ## [84] magrittr_2.0.3 ## [85] magick_2.7.3 ## [86] data.table_1.14.4 ## [87] matrixStats_0.62.0 ## [88] hms_1.1.2 ## [89] patchwork_1.1.2 ## [90] mime_0.12 ## [91] evaluate_0.17 ## [92] xtable_1.8-4 ## [93] HDO.db_0.99.1 ## [94] XML_3.99-0.12 ## [95] IRanges_2.32.0 ## [96] gridExtra_2.3 ## [97] compiler_4.2.1 ## [98] biomaRt_2.54.0 ## [99] tibble_3.1.8 ## [100] KernSmooth_2.23-20 ## [101] crayon_1.5.2 ## [102] shadowtext_0.1.2 ## [103] htmltools_0.5.3 ## [104] ggfun_0.0.7 ## [105] later_1.3.0 ## [106] tzdb_0.3.0 ## [107] tidyr_1.2.1 ## [108] geneplotter_1.76.0 ## [109] aplot_0.1.8 ## [110] DBI_1.1.3 ## [111] tweenr_2.0.2 ## [112] ChIPseeker_1.34.0 ## [113] genomation_1.30.0 ## [114] dbplyr_2.2.1 ## [115] MASS_7.3-58.1 ## [116] rappdirs_0.3.3 ## [117] boot_1.3-28 ## [118] Matrix_1.5-1 ## [119] readr_2.1.3 ## [120] cli_3.4.1 ## [121] parallel_4.2.1 ## [122] igraph_1.3.5 ## [123] GenomicRanges_1.50.0 ## [124] pkgconfig_2.0.3 ## [125] TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2 ## [126] GenomicAlignments_1.34.0 ## [127] plotly_4.10.0 ## [128] xml2_1.3.3 ## [129] ggtree_3.6.0 ## [130] annotate_1.76.0 ## [131] bslib_0.4.0 ## [132] XVector_0.38.0 ## [133] yulab.utils_0.0.5 ## [134] stringr_1.4.1 ## [135] digest_0.6.30 ## [136] Biostrings_2.66.0 ## [137] rmarkdown_2.17 ## [138] fastmatch_1.1-3 ## [139] tidytree_0.4.1 ## [140] restfulr_0.0.15 ## [141] curl_4.3.3 ## [142] shiny_1.7.3 ## [143] Rsamtools_2.14.0 ## [144] gtools_3.9.3 ## [145] rjson_0.2.21 ## [146] lifecycle_1.0.3 ## [147] nlme_3.1-160 ## [148] jsonlite_1.8.3 ## [149] viridisLite_0.4.1 ## [150] BSgenome_1.66.0 ## [151] fansi_1.0.3 ## [152] pillar_1.8.1 ## [153] lattice_0.20-45 ## [154] KEGGREST_1.38.0 ## [155] fastmap_1.1.0 ## [156] httr_1.4.4 ## [157] plotrix_3.8-2 ## [158] survival_3.4-0 ## [159] GO.db_3.16.0 ## [160] interactiveDisplayBase_1.36.0 ## [161] glue_1.6.2 ## [162] png_0.1-7 ## [163] BiocVersion_3.16.0 ## [164] bit_4.0.4 ## [165] ggforce_0.4.1 ## [166] stringi_1.7.8 ## [167] sass_0.4.2 ## [168] blob_1.2.3 ## [169] DESeq2_1.38.0 ## [170] AnnotationHub_3.6.0 ## [171] caTools_1.18.2 ## [172] memoise_2.0.1 ## [173] dplyr_1.0.10 ## [174] ape_5.6-2