的conumee
包提供执行的工具有限公司py -ν使用Illumina 450k或EPIC DNA进行成员数变异(CNV)分析我thylation数组。虽然这些阵列的主要目的是检测全基因组DNA甲基化水平[1],它还可以用于提取有关拷贝数改变的有用信息,例如在临床癌症样本中。Sturm等人在2012年首次描述了这种方法[2].遵循类似策略的其他工具包括冠军
[3]而且CopyNumber450k
(现在弃用)。
CNV分析采用两步方法进行。首先,每个CpG的“甲基化”和“非甲基化”通道的组合强度值使用一组正常对照进行归一化(即使用不显示任何拷贝数变化的平坦基因组)。该步骤用于校正探针和样品偏差(例如,由gc含量、I/II型差异或技术可变性引起的偏差)。其次,相邻的探测以一种混合方法组合,从而得到最小大小和最小探测数量的容器。这一步是必要的,以减少剩余的技术可变性,并实现有意义的分割结果。
的conumee
软件包已编写与常用的Bioconductor软件包无缝集成。方法加载甲基化数组数据minfi
包[4].中实现的循环二进制分割(CBS)算法进行分割DNAcopy
包[5].每个样品的处理时间通常小于一分钟。
最后,conumee
软件包还提供了一套绘图方法来创建出版级的全基因组、选定的染色体或先前定义的感兴趣区域的CNV图。也支持在其他工具(例如IGV浏览器)或下游处理(例如使用GISTIC)中编写基于文本的输出文件以实现可视化。
建议输入格式为Mset
对象从原始IDAT文件生成minfi
包中。根据分析工作流,这些对象可能已经可用。一个用于测试的450k数据集的好例子conumee
包可从TCGA下载(971.6 MB):
更新2016年10月:TCGA数据门户不再运作。TCGA DNA甲基化数据现在可以从NCI GDC遗留档案下载:https://gdc-portal.nci.nih.gov/legacy-archive
该数据集包括42个原发性乳腺癌样本、2个乳腺癌细胞系和16个对照样本。请确保解压存档文件。属性只下载了两个说明性示例read.450k.url
方法。
library("minfi") library("conumee") #RGsetTCGA <- read.450k。exp(base = "~/conumee_analysis/jhu-usc. edu_brca . humanmethylation450 . level_name .8.8.0") #调整路径RGsetTCGA <- read.450k.url() #使用缺省参数为插图示例MsetTCGA <- preprocessIllumina(RGsetTCGA) MsetTCGA ##类:MethylSet ## dim: 485512 2 ##元数据(0):## assays(2): Meth Unmeth ## rownames(485512): cg00050873 cg00212031…ch. 22.47579720r# # ch. 22.48274842r# # rowData names(0): ## colnames(2): 6042324037_R05C02 6042324037_R06C01 ## colData names(0): ## Annotation ##数组:IlluminaHumanMethylation450k ## Annotation: ilmn12。方法:Illumina, bg. hg19;有限公司rrect = TRUE, normalize = controls, reference = 1 ## minfi version: 1.42.0 ## Manifest version: 0.4.0
或者,您可以使用minfiData
示例数据集,包括3个癌症样本和3个正常对照。
library("minfiData") data(MsetEx) MsetEx ## class: MethylSet ## dim: 485512 6 ## metadata(0): ## assays(2): Meth Unmeth ## rownames(485512): cg00050873 cg00212031…ch. 22.47579720r# # ch. 22.48274842r# # rowData names(0): ## colnames(6): 5723646052_R02C02 5723646052_R04C01…5723646053_R05C02 ## 5723646053_R06C02 ## colData names(13): Sample_Name Sample_Well…注释:IlluminaHumanMethylation450k注释:ilmn12。hg19 ##预处理##方法:Raw(没有归一化或bg校正)## minfi版本:1.21.2 ## Manifest版本:0.4.0
的CopyNumber450k
Package提供了一个包含52个控制样本的大型数据集,可用于归一化。
2017年4月更新CopyNumber450k
而且CopyNumber450kData
软件包现在已被弃用。我们将使用3个正常的控制minfiData
现在打包。使用更大的对照样本集会得到更好的结果。
# library("CopyNumber450kData") # data(RGcontrolSetEx) # MsetControls <- preprocessIllumina(RGcontrolSetEx)
如果原始IDAT文件不可用,也可以通过导入基于文本的输入文件来提供数据,例如由GenomeStudio生成的文件或从GEO存储库下载的文件。后面会给出更多细节。
方法生成的注释对象首先进行CNV分析CNV.create_anno
函数,是必需的。该对象保存的信息只需要生成一次,与处理的样本数量无关。
参数bin_minprobes
而且bin_minsize
定义每个bin的最小探测数量和最小bin大小(为450k数据优化的默认值分别为15和50000)。论点exclude_regions
定义要排除的区域(例如,多态区域,在数据(exclude_regions)
).请参阅CNV.create_anno ?
欲知详情。
论点detail_regions
定义要详细检查的区域(例如,专用的细节图或文本输出,见下文)。例如,细节区域可以包含已知的癌基因或肿瘤抑制基因。这些区域应该以BED文件的路径或GRanges对象的形式提供(在数据(detail_regions)
).开始和停止坐标表示详细分析探测的区域。详细图的绘制范围在GRanges对象值(或7th和8th列在BED文件)。
数据(exclude_regions)数据(detail_regions)头(detail_regions, n = 2) # #农庄对象2和5元数据列:# # seqnames范围链|名称厚# # < Rle > < IRanges > < Rle > | <人物> < IRanges > # # [1] chr11 69453874 - 69453874 + | CCND1 68961558 - 68961558 # # [2] chr19 30300902 - 30300902 + | CCNE1 29808059 - 29808059 # #得分probes_gene probes_promoter # # <整数> <整数> <整数> # # [1]70 38 32 # # 16 10 6 [2] ## ------- ## seqinfo: 11因基因组序列;no seqlengthanno <- CNV。create_anno (array_type = 450 k, exclude_regions = exclude_regions detail_regions = detail_regions)使用从UCSC基因组注释# # # # 450 # # - 470870 k注释探针使用# #从分析进口地区排除# #进口区域详细分析创建垃圾箱# # # # # # - 53891箱创建合并垃圾箱# # - 15820箱剩余庵野# # # #创建CNV注释对象:2022年四月26日16:24:58 # # @genome:染色体22 # # @gap: 313 # # @probes区域:470870探针## @排除:3个区域(重叠570探针)## @细节:20个区域(重叠768探针)## @箱子:15820箱子(最小/平均/最大大小:50/168.5/5000kb,探针:15/29.7/478)
“甲基化”和“非甲基化”通道的强度值使用CNV.load
函数。输入可以是Mset
对象(推荐使用,请参见上文),或者data.frame
或矩阵
包含由GenomeStudio生成或从GEO下载的强度的对象(使用例如导入)。read.table
,对于大多数表应在无需重新格式化的情况下工作,请参阅CNV.load ?
有关详情)。
TCGA样本id由conumee包sampleNames(MsetTCGA) <- tcgaBRCA.sentrix2name[sampleNames(MsetTCGA)] TCGA提供。data <- CNV.load(MsetTCGA) tcga。有限公司ntrols <- grep("-11A-", names(tcga.data)) names(tcga.data) ## [1] "TCGA-AR-A1AU-01A-11D-A12R-05" "TCGA-AR-A1AY-01A-21D-A12R-05" tcga.data ## CNV data object ## created : ## @intensity : available (2 samples, 485512 probes) minfi.data <- CNV.load(MsetEx) minfi.controls <- pData(MsetEx)$status == "normal" # controls.data <- CNV.load(MsetControls)
CNV分析主要分为四个部分:
CNV.fit
用于通过多元线性回归将单个查询样本归一化为一组控制样本。为了获得最佳结果,在同一实验中使用了匹配的正常组织对照样本(它们可能具有相同的技术偏差)。从本质上讲,这种回归分析产生的控制样本的线性组合与查询样本的强度最接近。随后,计算查询样本与控制样本组合的探测强度的log2比,并用于进一步分析。更多细节见出版物。CNV.bin
用于在预定义的基因组箱中组合探针。以前使用CNV.create_anno
.转移强度值以使所有箱子的中位数绝对偏差最小化至零,以确定副本数中性状态。CNV.detail
用于详细分析详细区域。此步骤是可选的,但如果需要在图和文本文件中输出详细区域,则必须执行此步骤。使用定义详细区域CNV.create_anno
.CNV.segment
用于将基因组分割成具有相同拷贝数状态的区域。类的包装器中央社
,段
,segments.summary
而且segments.p
的功能DNAcopy
包中。默认参数针对450k数据进行了优化,但可以更改。看到CNV.segment ?
欲知详情。x <- CNV.fit(minfi. fit)数据(“GroupB_1”),minfi.data [minfi。有限公司ntrols], anno) # y <- CNV.fit(tcga.data["TCGA-AR-A1AU-01A-11D-A12R-05"], controls.data, anno) # CopyNumber450kData package is deprecated # z <- CNV.fit(tcga.data["TCGA-AR-A1AY-01A-21D-A12R-05"], controls.data, anno) y <- CNV.fit(tcga.data["TCGA-AR-A1AU-01A-11D-A12R-05"], minfi.data[minfi.controls], anno) # minfiData control samples z <- CNV.fit(tcga.data["TCGA-AR-A1AY-01A-21D-A12R-05"], minfi.data[minfi.controls], anno) x <- CNV.bin(x) x <- CNV.detail(x) x <- CNV.segment(x) y <- CNV.segment(CNV.detail(CNV.bin(y))) z <- CNV.segment(CNV.detail(CNV.bin(z))) x ## CNV analysis object ## created : Tue Apr 26 16:25:26 2022 ## @name : GroupB_1 ## @anno : 22 chromosomes, 470870 probes, 15820 bins ## @fit : available (noise: 0.237) ## @bin : available (shift: -0.018) ## @detail : available (20 regions) ## @seg : available (48 segments)
的conumee
包支持两种类型的图:
CNV.genomeplot
方法生成完整基因组或一条或多条染色体的图谱。每个箱子的强度值用彩色点表示。分段显示为蓝线。看到CNV.genomeplot ?
欲知详情。CNV.detailplot
方法生成单个细节区域的图,如CNV.create_anno
.每个探针的强度值用彩色十字表示。箱子显示为蓝色线。CNV.detailplot_wrap
是一个包装器函数,它生成所有详细区域的单个图形。属性生成文本输出CNV.write
方法。参数什么
指定是否应该返回" probes ", " bins ", " detail "或" segments "。如果参数文件
,则输出被写入文件,否则data.frame
返回。看到CNV.write ?
欲知详情。
#pdf("~/conumee_analysis/CNVplots.pdf", height = 9, width = 18) CNV.genomeplot(x) CNV.genomeplot(y) CNV.genomeplot(y) CNV.genomeplot(x)genomeplot(y, chr = "chr6") CNV.genomeplot(z)genomeplot(z, chr = "chr10") CNV.detailplot(z, name = "PTEN") CNV.detailplot_wrap(z) #dev.off() head(CNV.;write(y, what = "segments"), n = 5) ## ID chrom loc。疯狂的开始。1 TCGA-AR-A1AU-01A-11D-A12R-05 chr1 635684 88100000 726 29.32946 ## 2 TCGA-AR-A1AU-01A-11D-A12R-05 chr1 119000000 249195311 704 NA ## 4 TCGA-AR-A1AU-01A-11D-A12R-05 chr10 105000 135462374 840 NA ## 5 TCGA-AR-A1AU-01A-11D-A12R-05 chr11 130000 50516927 326 22.74454 ## pval seg意味着凹陷。我dian ## 1 2.906752e-186 0.009 0.015 ## 2 1.991610e-224 -0.264 -0.254 ## 3 NA 0.097 0.098 ## 4 NA -0.023 -0.021 ## 5 5.343554e-112 0.141 0.136 #CNV.write(y, what = "segments", file = "~/conumee_analysis/TCGA-AR-A1AU.CNVsegments.seg") # adjust path #CNV.write(y, what = "bins", file = "~/conumee_analysis/TCGA-AR-A1AU.CNVbins.igv") #CNV.write(y, what = "detail", file = "~/conumee_analysis/TCGA-AR-A1AU.CNVdetail.txt") #CNV.write(y, what = "probes", file = "~/conumee_analysis/TCGA-AR-A1AU.CNVprobes.igv")
关于错误报告,评论和功能要求,请写信给conumee@hovestadt.bio.
当使用conumee
在您的工作中,请引用为:
引用(“conumee”)## ##在出版物中引用包装“conumee”使用:## ## Hovestadt V, Zapatka M(2017)。“conumee:使用Illumina DNA甲基化阵列进行增强拷贝数变异分析”,R软件包1.9.0版。< URL: //www.andersvercelli.com/packages/conumee/ >。## ## LaTeX用户的BibTeX条目是## ## @Manual{, ## title = {conumee:使用Illumina DNA甲基化##阵列进行增强拷贝数变异分析},##作者= {Volker Hovestadt和Marc Zapatka}, ##地址={德国海德堡德国癌症研究中心(DKFZ)分子遗传学部门},## note = {R包版本1.9.0},## url = {//www.andersvercelli.com/packages/conumee/}, ##}
sessionInfo() ## R version 4.2.0 RC (2022-04-19 r82224) ##平台:x86_64-pc-linux-gnu(64位)##运行在:Ubuntu 20.04.4 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.15-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.15-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]并行stats4统计图形grDevices utils数据集##[8]方法基础## ##其他附加包:# # # # [1] minfiData_0.41.0 [2] conumee_1.30.0 # # [3] IlluminaHumanMethylationEPICmanifest_0.3.0 # # [4] IlluminaHumanMethylationEPICanno.ilm10b2.hg19_0.6.0 # # [5] IlluminaHumanMethylation450kmanifest_0.4.0 # # [6] IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.1 # # [7] minfi_1.42.0 # # [8] bumphunter_1.38.0 # # [9] locfit_1.5 - 9.5 # # [10] iterators_1.0.14 # # [11] foreach_1.5.2 # # [12] Biostrings_2.64.0 # # [13] XVector_0.36.0 # # [14] SummarizedExperiment_1.26.0 # # [15] Biobase_2.56.0 # # [16][22] BiocGenerics_0.42.0 ## [23] BiocStyle_2.24.0 ## ##通过命名空间加载(并且没有附加):# # # # [1] BiocFileCache_2.4.0 plyr_1.8.7 [3] splines_4.2.0 BiocParallel_1.30.0 # # [5] digest_0.6.29 htmltools_0.5.2 # # [7] magick_2.7.3 fansi_1.0.3 # # [9] magrittr_2.0.3 memoise_2.0.1 # # [11] tzdb_0.3.0 limma_3.52.0 # # [13] readr_2.1.2 annotate_1.74.0 # # [15] askpass_1.1 siggenes_1.70.0 # # [17] prettyunits_1.1.1 blob_1.2.3 # # [19] rappdirs_0.3.3 xfun_0.30 # # [21] dplyr_1.0.8 crayon_1.5.1 # # [23] rcurl_1.98 - 1.6 jsonlite_1.8.0 # # [25] genefilter_1.78.0 GEOquery_2.64.0 # # [27] survival_3.3-1glue_1.6.2 # # [29] zlibbioc_1.42.0 DelayedArray_0.22.0 # # [31] Rhdf5lib_1.18.0 HDF5Array_1.24.0 # # [33] DBI_1.1.2 rngtools_1.5.2 # # [35] Rcpp_1.0.8.3 xtable_1.8-4 # # [37] progress_1.2.2 bit_4.0.4 # # [39] mclust_5.4.9 preprocessCore_1.58.0 # # [41] httr_1.4.2 RColorBrewer_1.1-3 # # [43] ellipsis_0.3.2 pkgconfig_2.0.3 # # [45] reshape_0.8.9 xml_3.99 - 0.9 # # [47] sass_0.4.1 dbplyr_2.1.1 # # [49] utf8_1.2.2 DNAcopy_1.70.0 # # [51] tidyselect_1.1.2 rlang_1.0.2 # # [53] AnnotationDbi_1.58.0 tools_4.2.0 # #[55] cachem_1.0.6 cli_3.3.0 ## [57] generics_0.1.2 RSQLite_2.2.12 ## [59] evaluate_0.15 string_1 .4.0 ## [61] fastmap_1.1.0 yaml_2.3.5 ## [63] knitr_1.38 bit64_4.0.5 ## [65] beanplot_1.3.1 scrime_1.3.5 ## [67] purrr_0.3.4 KEGGREST_1.36.0 ## [69] nlme_1 .3.1 -157 doRNG_1.8.2 ## [71] sparseMatrixStats_1.8.0 nor1mix_1. 1.3-0 ## [73] xml2_1.3.3 biomaRt_2.52.0 ## [75] compiler_4.2.0 filelock_1.0.2 ## [77] curl_4.3.2 png_0.1-7 ## [81] stringi_1.7.6 highr_0.9 ## [83] GenomicFeatures_1.48.0 lattice_0.20-45 ## [85] Matrix_1.4-1 multtest_2.52.0 ## [87] vctrs_0.4.1 pillar_1.7.0 ## [89] lifecycle_1.0.1 rhdf5filters_1.8.0 ## [91] BiocManager_1.30.17 jquerylib_0.1.4 ## [93] data.table_1.14.2 bitops_1.0-7 ## [95] rtracklayer_1.56.0 R6_2.5.1 ## [97] BiocIO_1.6.0 bookdown_0.26 ## [99] codetools_0.2-18 MASS_7.3-57 ## [101] assertthat_0.2.1 rhdf5_2.40.0 ## [103] openssl_2.0.0 rjson_0.2.21 ## [105] GenomicAlignments_1.32.0 Rsamtools_2.12.0 ## [107] GenomeInfoDbData_1.2.8 hms_1.1.1 ## [109] quadprog_1.5-8 grid_4.2.0 ## [111] tidyr_1.2.0 base64_2.0 ## [113] rmarkdown_2.14 DelayedMatrixStats_1.18.0 ## [115] illuminaio_0.38.0 restfulr_0.0.13
1.Bibikova M, Barnes B, Tsan C, Ho V, Klotzle B, Le JM, Delano D, Zhang L, Schroth GP, Gunderson KL, Fan JB, Shen R:单CpG位点分辨率的高密度DNA甲基化阵列。基因组学2011年,98: 288 - 295。
2.Sturm D, Witt H, Hovestadt V, Khuong-Quang D-A, Jones DT, Konermann C, Pfaff E, Toenjes M, Sill M, Bender S, Kool M, Zapatka M, Becker N, Zucknick M, Hielscher T, Liu XY, Fontebasso AM, Ryzhova M, Albrecht S, Jacob K, Wolter M, Ebinger M, Schuhmann MU, Meter T van, Fruehwald MC, Hauch H, Pekrun A, Radlwimmer B, Niehues T, Komorowski G von,等:H3F3A和IDH1的热点突变定义了不同的胶质母细胞瘤表观遗传和生物学亚群。癌症细胞2012年,22: 425 - 437。
3.Feber A, Guilhamon P, Lechner M, Fenton T, Wilson GA, Thirlwell C, Morris TJ, Flanagan AM, Teschendorff AE, Kelly JD, Beck S:使用高密度DNA甲基化阵列分析拷贝数改变。基因组生物学2014年,15.
4.Aryee MJ, Jaffe AE, Hector C, Christine L, Feinberg AP, Hansen KD, Irizarry RA:Minfi:用于无限DNA甲基化微阵列分析的灵活而全面的生物导体包。生物信息学2014年,30.: 1363 - 1369。
5.Olshen AB, Venkatraman E, Lucito R, Wigler M:圆形二进制分割用于基于阵列的DNA拷贝数数据分析。生物统计学2004年,5: 557 - 572。