染色质分割使用裂殖体分析

概述

染色质细分分析基因组ChIP-seq数据转换成信号。后者代表观察到的州在多元马尔可夫模型预测染色质的基本(隐藏)。ChromHMM,写在Java组蛋白的化学修饰,集成学习新创的染色质状态数据集。我们开发了一个R利用现有的包在这个项目R / Bioconductor工具和数据结构的细分分析上下文。裂殖体包装了Java模块调用ChromHMM和捕获输出S4对象。这允许重复使用不同的参数,给出了R语法。捕获中的输出R使它容易使用和集成在下游分析结果。最后,裂殖体提供了额外的工具来测试,选择和可视化模型。

安装

包可以从Bioconductor安装使用BiocManager或者使用“遥控器”从GitHub的

#安装从bioconductorBiocManager::安装(“裂殖体”)#安装从github遥控器::install_github(“MahShaaban / segmenter@devel”)

背景

隐马尔可夫模型

隐马尔可夫模型(HMM)假设一个系统(过程)和不可见的或隐藏的状态可以被建模相关的可观察到的过程。在应用这个模型细分分析,染色质构型是隐藏的状态和它们可以使用组蛋白修饰建模标记与这些相关配置。

ChromHMM

ChromHmm是一个Java程序学习染色质状态从多个套组蛋白修饰标记ChIP-seq数据集。美国被建模为标志的结合不同地区的基因组。多元隐马尔可夫模型用于模型标记的存在与否。此外,美国的fold-enrichment基因组注释和位置计算。这些模型可用于注释基因组通过展示在发生和解释这是一个特定的染色质组蛋白标记配置。通过比较不同细胞或条件,可以确定特定的染色质的变化和研究细胞或条件如何影响基因调控。

这个包!

的目标裂殖体包是

开始

这是一个快速使用的例子裂殖体调用Java模块并将在以下部分中详细描述。

首先,我们需要加载方案

#装载库图书馆(裂殖体)

Java模块和示例文件打包裂殖体。我们可以找到这些文件执行。所需文件的关键数据,基因组坐标,定位文件和染色体的大小文件。当需要多个文件时,通过它们所在的目录就足够了。

#定位输入和注释文件inputdir < -之类执行(“extdata / SAMPLEDATA_HG18”,包=“裂殖体”)coordsdir < -执行(“extdata /坐标”,包=“chromhmmData”)anchorsdir < -执行(“extdata / ANCHORFILES”,包=“chromhmmData”)chromsizefile < -执行(“extdata / CHROMSIZES”,“hg18.txt”,包=“chromhmmData”)

其他参数是需要确保Java模块正确识别的输入和输出正确的文件名。包括国家的数量,基因组组装的名字,细胞/条件的名称、注释和箱子尺寸用于生成的关键输入文件。

#运行命令obj < -learn_model(inputdir =之类inputdir,之类coordsdir =coordsdir,anchorsdir =anchorsdir,chromsizefile =chromsizefile,numstates =3,组装=“hg18”,细胞=c(“K562”,“GM12878”),注释=“RefSeq”,binsize =200年)

返回对象上的匆匆一瞥,就叫显示方法。

#显示对象显示(obj)# > #类“分割”的一个对象# > #包含一个染色质分割模型:# > # #:1 2 3# > # #标志:H3K27me3 H3K4me3 H3K9ac H3K27ac H3K4me2 WCE H3K4me1 CTCF H4K20me1 H3K36me3:# > # #细胞K562 GM12878# > #包含九个槽:# > # #模型:使用模型(对象)的访问# > # #排放:使用排放(对象)的访问# > # #转型:使用过渡(对象)的访问# > # #重叠:使用重叠(对象)的访问# > # # TSS:使用TSS(对象)的访问# > # #测试:使用te(对象)的访问# > # #段:使用段(对象)的访问# > # #箱:使用垃圾箱(对象)的访问# > # #计数:使用计数(对象)的访问# > #更多信息关于如何使用对象,使用?访问器

本文的其余部分将讨论在细节上面提到的输入和输出中提供的一些工具裂殖体探索导致染色质模型。

市场细分分析使用裂殖体

输入

ChromHMM需要两种类型的输入文件。这些都是

基因组注释分为三个不同的文件

ChromHMM包含预格式化文件常用的基因组。我们将使用人类基因组(hg18)。

关键信号文件是文本文件,通常每个染色体,染色体长度划分为给定大小的箱子(行)和二进制值1或0为每个组蛋白标记(列)。从ChIP-seq ChromHMM提供模块生成这些文件读入保持一致bam床上。这些模块是用两个函数,可以从内部被称为R。

这些文件通常需要提前做好准备。在这里,我们只显示使用一个例子bam随机读取文件。因为多个文件通常需要生成染色质模型,一个表需要为每个文件分配一个染色质标记和细胞类型或状态。此外,一个文件包含每个染色体的大小是必需的。最后,期望本大小显示,默认是200 kb。

注意,cell /条件和染色体的名字写在第一行和最后一本通常是删除的染色体不达到200 kb大小。

两个例子文件由ChromHMM提供。那些来自两个芯片- seq实验九组蛋白修饰标记GM12878和K562细胞株。对齐读取计算,关键在垃圾箱0或1 200 kb的染色体11。

模型的学习

的主要功能裂殖体被称为learn_model。这个包装了Java模块学习的染色质分割模型给定的状态。除了输入文件解释之前,函数所需的数量的统计数据,numstates和信息用于生成的关键文件。那些是基因组的名称组装的类型,注释,binsize和的名字细胞或条件。

这个函数调用的返回是一个S4分割对象,我们描述下。

输出分割对象

显示方法打印的内容对象的一个总结。的三个主要变量数据,标记和细胞。学习过程的输出保存在槽的

最后两个插槽是空的,除非另有说明在前面的电话。计算时只加载路径bam文件被提供。

对于每一个槽,提供一个访问器函数名称相同的访问其内容。例如,访问发射概率发射在对象上。

一些读写方法对象参数子集。例如,方法取一个细胞名字返回段的相应的细胞。

对比模型

选择一个模型,该模型与数据的吻合程度,可以用不同的参数学习多个模型,例如国家和比较它们的数量。在本例中,我们将调用learn_model多次使用拉普兰人用同样的投入除了数量的州(numstates)。的输出将是一个列表分割对象。裂殖体包含函数来进行基本的模型之间的比较。

#重新学习3到8个州的模型obj < -拉普兰人(3:8,函数(x) {learn_model(inputdir =之类inputdir,之类coordsdir =coordsdir,anchorsdir =anchorsdir,chromsizefile =chromsizefile,numstates =x,组装=“hg18”,细胞=c(“K562”,“GM12878”),注释=“RefSeq”,binsize =200年)})
#比较模型最大州之间的相关性compare_models(obj)# > [1]0.6992815 0.9911192 0.9935068 0.9925634 0.9936017 1.0000000
#比较模型的可能性compare_models(obj,类型=“可能性”)# > [1]-889198.8 -834128.3 -806108.9 -790283.4 -773662.1 -766802.5

设置情节= TRUE返回一个阴谋与数据点对应于模型在列表中。

#比较模型图票面价值(mfrow =c(1,2))compare_models(obj,情节=真正的,xlab =“模型”,ylab =“国家相关”)compare_models(obj,类型=“可能性”,情节=真正的,xlab =“模型”,ylab =“可能性”)

随着国家的数量增加,规模较小的州之一将分成多个模型及其发射概率与美国将有更高的相关性更大的模型。

解释模型参数

这部分处理的输出模型,分别保存的插槽分割对象。如前所述,包提供函数来访问这些槽和与它交互可视化的目的或计算摘要。

排放和转换

第一和最重要的排放模型的输出和转换概率。发射是一个特定组蛋白标记的频率在给定的染色质状态。转换的频率是一个状态(行)转换到另一个(列)。这些概率捕获标记之间的空间关系(排放)和美国(过渡)。

要访问这些概率,我们使用访问器相应的名称。在这两种情况下的输出是一个矩阵的值在0和1之间。每个国家的排放矩阵有一个行和列的每个标记。转移矩阵的行(从)和列()为每个状态。

plot_heatmap分割对象和可视化的槽类型。默认情况下,这是发射。输出是一个的热图对象的ComplexHeatmap包中。这些对象是非常灵活的,可以定制生产多样化的信息数据。

在这里,发射过渡在一个热图概率相结合。

重叠Enrichemnt

重叠槽在基因组中包含每个状态的褶皱浓缩坐标中提供主要的电话。计算出的浓缩是第一个分基地的数量在一个国家和一个注释和基地的数量在注释和基因组。

这些值可以访问和使用可视化重叠plot_heatmap

这里要注意的重要一点是,浓缩分别计算出每个单元或条件。这些值和比较它们之间可以是非常有用的。

在这个例子中,8个不同类型的坐标或注释中调用。这些列所示的热图和褶皱浓缩每个州的行。

基因位点富集

相似褶皱浓缩转录周围的地区开始计算(TSS)和结束(te)中定义的anchordir目录中。访问器和绘图功能提供了相同的名称。这些值也分别计算每个单元/条件。

#基因组位置浓缩TSS(obj)# > K562美元# > X.2000 X.1800 X.1600 X.1400 X.1200 X.1000 X.800 X.600 X.400# > [1]0.70688 0.68787 0.66703 0.64863 0.61553 0.58733 0.55667 0.52479 0.49843# > [2]2.01130 1.96501 1.85561 1.67047 1.62839 1.49375 1.32123 1.13609 0.98882# > (3)4.38597 4.98405 5.83846 6.89223 7.80360 8.91434 10.21019 11.57724 12.68798# > X.200 X0 X200型X400 X600 X800 X1000 X1200# > [1]0.48494 0.47881 0.47513 0.48372 0.50456 0.52295 0.54012 0.55361# > [2]1.03090 1.08139 0.98461 0.92991 0.90466 0.94253 1.03931 1.26232# > (3)12.85886 12.83038 13.24334 13.22910 12.83038 12.27501 11.54876 10.48075# > X1400 X1600 X1800 X2000# > [1]0.57752 0.59591 0.60695 0.61982# > [2]1.46009 1.69572 1.90190 2.06600# > (3)9.25610 8.03145 7.07736 6.22295# ># > GM12878美元# > X.2000 X.1800 X.1600 X.1400 X.1200 X.1000 X.800 X.600 X.400# > [1]0.79777 0.77828 0.75331 0.72347 0.69303 0.64613 0.60229 0.55966 0.52373# > [2]1.50944 1.50944 1.46865 1.39612 1.27827 1.22841 1.14228 1.01989 0.77059# > (3)3.87878 4.29810 4.95330 5.80506 6.80096 7.95411 9.14658 10.41766 11.91151# > X.200 X0 X200型X400 X600 X800 X1000 X1200# > [1]0.48597 0.47684 0.47379 0.49023 0.50180 0.51764 0.54139 0.55539# > [2]1.01989 1.06522 0.82498 0.87484 0.90204 0.96097 0.99270 1.07429# > (3)12.00324 12.06876 12.82879 12.33084 12.00324 11.49219 10.88940 10.35214# > X1400 X1600 X1800 X2000# > [1]0.57914 0.60899 0.62299 0.63700# > [2]1.23294 1.38706 1.61370 1.81314# > (3)9.38245 8.29482 7.33823 6.46026测试工程师(obj)# > K562美元# > X.2000 X.1800 X.1600 X.1400 X.1200 X.1000 X.800 X.600 X.400# > [1]0.71834 0.71481 0.71975 0.71975 0.72328 0.71834 0.71551 0.71128 0.71551# > [2]2.37056 2.41904 2.40934 2.42389 2.39965 2.39480 2.34632 2.36571 2.37056# > (3)2.90390 2.82187 2.73984 2.69062 2.69062 2.82187 3.05156 3.08437 2.96952# > X.200 X0 X200型X400 X600 X800 X1000 X1200 X1400# > [1]0.71904 0.72611 0.72470 0.72893 0.72823 0.73247 0.74094 0.74235 0.74730# > [2]2.39965 2.35117 2.30269 2.25422 2.25422 2.24452 2.20089 2.15241 2.14272# > (3)2.78906 2.78906 2.98593 3.05156 3.06796 3.00234 2.95312 3.08437 3.00234# > X1600 X1800 X2000# > [1]0.74942 0.75012 0.76001# > [2]2.16211 2.12333 2.05546# > [3]2.88749 3.00234 3.00234# ># > GM12878美元# > X.2000 X.1800 X.1600 X.1400 X.1200 X.1000 X.800 X.600 X.400# > [1]0.72407 0.73038 0.73249 0.73389 0.72968 0.73389 0.73319 0.74161 0.74161# > [2]2.51717 2.48062 2.47017 2.46495 2.48584 2.50151 2.50151 2.42317 2.42317# > (3)2.55143 2.52123 2.50614 2.49104 2.52123 2.38536 2.40046 2.44575 2.44575# > X.200 X0 X200型X400 X600 X800 X1000 X1200 X1400# > [1]0.74442 0.74512 0.73950 0.74582 0.75284 0.76757 0.77038 0.77459 0.77669# > [2]2.39706 2.43884 2.41795 2.37095 2.31350 2.16728 2.12550 2.10983 2.12028# > (3)2.46085 2.32497 2.50614 2.50614 2.52123 2.62692 2.68730 2.64201 2.56653# > X1600 X1800 X2000# > [1]0.79353 0.79283 0.79563# > [2]2.06805 2.04194 2.00538# > [3]2.35517 2.44575 2.49104

最后一个模型输出和包含的分配状态的基因组。这也是为每个细胞/条件的形式农庄对象与染色体的名字,开始和结束网站的范围对象的一部分,在一个元数据列的名称。

可视化这些部分,我们可以利用Bioconductor注释和可视化工具子集和呈现的视觉表示部分在给定的基因组区域。

作为一个例子,我们提取基因的基因组坐标ACAT1 11号染色体上和大小为10 kb在转录起始站点。然后,我们使用GvizAnnotationTrack呈现跟踪组合的范围状态农庄对象为每个细胞株。

其他跟踪可以添加到情节更丰富。在这里,我们使用

这些可以放在一起使用在一个阴谋plotTracks

此外,我们可以总结分割输出以不同的方式显示染色质标记的组合排列或比较不同细胞和条件。

一个简单的总结,就是整个基因组数州的发生。get_frequency,并返回表格或图形格式的输出。

每个单元中的状态的频率也可以规范化的总数国家跨单元和条件比较容易。

最后的评论

最后,染色质状态模型——排放和过渡概率显示组蛋白标记或其组合的频率发生在基因组(州)。这些国家的意义取决于生物标记的意义。一些标记与特定地区(如启动子、增强子、等)或配置(如活性、压抑等)。——Fold-enrichment可用于定义某些州发生的地区或他们如何改变细胞间的频率或条件。——这些概率的基因组的细分定义可用于可视化或整合这些信息在其他分析如代表或调查感兴趣的特定区域的规定。

sessionInfo()# > R版本以下4.4.1 (2021-08-10)# >平台:x86_64-pc-linux-gnu(64位)# >下运行:Ubuntu 20.04.3 LTS# ># >矩阵产品:违约# >布拉斯特区:/home/biocbuild/bbs - 3.14 - bioc / R / lib / libRblas.so# > LAPACK: /home/biocbuild/bbs - 3.14 - bioc / R / lib / libRlapack.so# ># >语言环境:# > [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C# >[3]而= 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 = C LC_TELEPHONE =# > [11]LC_MEASUREMENT = en_US。utf - 8 LC_IDENTIFICATION = C# ># >附加基本包:# >[1]网格stats4统计图形grDevices跑龙套的数据集# >[8]方法基础# ># >其他附加包:# > [1]TxDb.Hsapiens.UCSC.hg18.knownGene_3.2.2# > [2]GenomicFeatures_1.46.0# > [3]AnnotationDbi_1.56.0# > [4]Biobase_2.54.0# > [5]ComplexHeatmap_2.10.0# > [6]Gviz_1.38.0# > [7]GenomicRanges_1.46.0# > [8]GenomeInfoDb_1.30.0# > [9]IRanges_2.28.0# > [10]S4Vectors_0.32.0# > [11]BiocGenerics_0.40.0# > [12]segmenter_1.0.0# ># >加载通过名称空间(而不是附加):# > [1]utf8_1.2.2# > [2]tidyselect_1.1.1# > [3]htmlwidgets_1.5.4# > [4]RSQLite_2.2.8# > [5]BiocParallel_1.28.0# > [6]scatterpie_0.1.7# > [7]munsell_0.5.0# > [8]codetools_0.2-18# > [9]colorspace_2.0-2# > [10]GOSemSim_2.20.0# > [11]filelock_1.0.2# > [12]highr_0.9# > [13]knitr_1.36# > [14]rstudioapi_0.13# > [15]DOSE_3.20.0# > [16]MatrixGenerics_1.6.0# > [17]GenomeInfoDbData_1.2.7# > [18]polyclip_1.10-0# > [19]bit64_4.0.5# > [20]farver_2.1.0# > [21]vctrs_0.3.8# > [22]treeio_1.18.0# > [23]generics_0.1.1# > [24]xfun_0.27# > [25]biovizBase_1.42.0# > [26]BiocFileCache_2.2.0# > [27]R6_2.5.1# > [28]doParallel_1.0.16# > [29]clue_0.3-60# > [30]graphlayouts_0.7.1# > [31]AnnotationFilter_1.18.0# > [32]bitops_1.0-7# > [33]cachem_1.0.6# > [34]fgsea_1.20.0# > [35]gridGraphics_0.5-1# > [36]DelayedArray_0.20.0# > [37]assertthat_0.2.1# > [38]BiocIO_1.4.0# > [39]scales_1.1.1# > [40]ggraph_2.0.5# > [41]nnet_7.3-16# > [42]enrichplot_1.14.0# > [43]gtable_0.3.0# > [44]ensembldb_2.18.0# > [45]tidygraph_1.2.0# > [46]rlang_0.4.12# > [47]GlobalOptions_0.1.2# > [48]splines_4.1.1# > [49]rtracklayer_1.54.0# > [50]lazyeval_0.2.2# > [51]dichromat_2.0-0# > [52]checkmate_2.0.0# > [53]yaml_2.2.1# > [54]reshape2_1.4.4# > [55]backports_1.2.1# > [56]qvalue_2.26.0# > [57]Hmisc_4.6-0# > [58]tools_4.1.1# > [59]ggplotify_0.1.0# > [60]ggplot2_3.3.5# > [61]ellipsis_0.3.2# > [62]gplots_3.1.1# > [63]jquerylib_0.1.4# > [64]RColorBrewer_1.1-2# > [65]Rcpp_1.0.7# > [66]plyr_1.8.6# > [67]base64enc_0.1-3# > [68]progress_1.2.2# > [69]zlibbioc_1.40.0# > [70]purrr_0.3.4# > [71]rcurl_1.98 - 1.5# > [72]prettyunits_1.1.1# > [73]rpart_4.1-15# > [74]GetoptLong_1.0.5# > [75]viridis_0.6.2# > [76]SummarizedExperiment_1.24.0# > [77]ggrepel_0.9.1# > [78]cluster_2.1.2# > [79]magrittr_2.0.1# > [80]magick_2.7.3# > [81]data.table_1.14.2# > [82]DO.db_2.9# > [83]circlize_0.4.13# > [84]ProtGenerics_1.26.0# > [85]matrixStats_0.61.0# > [86]hms_1.1.1# > [87]patchwork_1.1.1# > [88]evaluate_0.14# > [89]xml_3.99 - 0.8# > [90]jpeg_0.1-9# > [91]gridExtra_2.3# > [92]shape_1.4.6# > [93]compiler_4.1.1# > [94]biomaRt_2.50.0# > [95]tibble_3.1.5# > [96]KernSmooth_2.23-20# > [97]crayon_1.4.1# > [98]shadowtext_0.0.9# > [99]htmltools_0.5.2# > [100]ggfun_0.0.4# > [101]Formula_1.2-4# > [102]tidyr_1.1.4# > [103]aplot_0.1.1# > [104]chromhmmData_0.99.2# > [105]DBI_1.1.1# > [106]tweenr_1.0.2# > [107]ChIPseeker_1.30.0# > [108]dbplyr_2.1.1# > [109]MASS_7.3-54# > [110]rappdirs_0.3.3# > [111]boot_1.3-28# > [112]Matrix_1.3-4# > [113]parallel_4.1.1# > [114]igraph_1.2.7# > [115]pkgconfig_2.0.3# > [116]TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2# > [117]GenomicAlignments_1.30.0# > [118]foreign_0.8 - 81# > [119]xml2_1.3.2# > [120]foreach_1.5.1# > [121]ggtree_3.2.0# > [122]bslib_0.3.1# > [123]XVector_0.34.0# > [124]yulab.utils_0.0.4# > [125]VariantAnnotation_1.40.0# > [126]stringr_1.4.0# > [127]digest_0.6.28# > [128]Biostrings_2.62.0# > [129]rmarkdown_2.11# > [130]fastmatch_1.1-3# > [131]tidytree_0.3.5# > [132]htmlTable_2.3.0# > [133]restfulr_0.0.13# > [134]curl_4.3.2# > [135]Rsamtools_2.10.0# > [136]gtools_3.9.2# > [137]rjson_0.2.20# > [138]lifecycle_1.0.1# > [139]nlme_3.1 - 153# > [140]jsonlite_1.7.2# > [141]viridisLite_0.4.0# > [142]BSgenome_1.62.0# > [143]fansi_0.5.0# > [144]pillar_1.6.4# > [145]lattice_0.20-45# > [146]KEGGREST_1.34.0# > [147]fastmap_1.1.0# > [148]httr_1.4.2# > [149]plotrix_3.8-2# > [150]survival_3.2-13# > [151]GO.db_3.14.0# > [152]glue_1.4.2# > [153]bamsignals_1.26.0# > [154]png_0.1-7# > [155]iterators_1.0.13# > [156]bit_4.0.4# > [157]ggforce_0.3.3# > [158]stringi_1.7.5# > [159]sass_0.4.0# > [160]blob_1.2.2# > [161]latticeExtra_0.6-29# > [162]caTools_1.18.2# > [163]memoise_2.0.0# > [164]dplyr_1.0.7# > [165]ape_5.5