内容

1概述

这个描述走过3使用数据访问和分析的例子recountmethylation包中。首先,预测和实足年龄比较样本的元数据。然后质量信号(甲基化和unmethylated log2中等规模)之间的比较样本存储使用福尔马林固定石蜡包埋(FFPE)或冻结。最后,组织调查集高DNA甲基化(DNAm)分数差异identifed使用肝脏和脂肪样本和分析。注意,版本的这些分析也出现在手稿马登et al。(2020)

1.1分析脚本和有限块评估

伴随着“data_analyses这一幕。R”脚本。注意脚本编写与新的和更大的可扩展性比较器组。虽然脚本运行完成应该没有错误,总共需要几个小时才能完成(不含时间下载大型数据库文件)。由于这个冗长的脚本运行时,这只小插图评估代码块利用最后/脚本生成的合成数据对象(例如表、测试和数据)。出于完整性的考虑,剩下的脚本步骤和代码都包含但不评估。

“data_analyses加载文件。RData”recountmethylation包文件。这包含合成/最后的脚本生成的数据对象,这将用于评估下面的代码块。

科幻小说< -执行(文件。路径(“extdata”、“data_analyses”),包=“recountmethylation”)负载(文件。路径(科幻小说,“data_analyses.RData”))

1.2数据集和数据对象

分析脚本使用示例2元数据和数据库文件。检索提供元数据的示例recountmethylation包文件。

#本地元数据mdpath < -系统。文件(“extdata”、“gsm_metadata”,“md_final_hm450k_0-0-1。rda”,包= " recountmethylation”) md < -得到(负载(mdpath))

也获得2HDF5-SummarizedExperiment数据库文件,GenomicRanges MethylSet文件。查阅users_guide装饰图案细节的数据库文件格式和下载说明。一旦下载数据集,它们可以被加载到一个R会话如下。

#负载methylset gmdn < -“remethdb-h5se_gm_0-0-1_1590090412”通用< - loadHDF5SummarizedExperiment (gmdn) #负载grset grdn < -“remethdb-h5se_gr_0-0-1_1590090412 gr < - loadHDF5SummarizedExperiment (grdn)

2示例1:比较挖掘和预测年龄

这个示例使用元数据样本比较挖掘和预测的年龄年龄predage变量,分别。值年龄从地理记录元数据挖掘和包含可用年龄单位。值predage计算从noob-normalized (Triche et al。(2013))DNAm Beta-values与agep,的功能西瓜霍瓦特包实现生理年龄时钟(阅读(2013))。

2.1使新变量和筛选样本

得到这两个样本年龄predage年龄是可用的。从年龄,使一个新的数值变量chron.age

mdf < - md [!md = =“valm: NA”时代,美元]mdf时美元。年龄< - as.numeric (gsub (”;。*”、“”,gsub (“^ valm: ", " ", mdf时代美元)))mdf predage < - as.numeric (mdf predage美元)中密度板< - [! is.na (mdf chron.age美元)]中密度板< - [! is.na (mdf predage美元),)

接下来,创建一个新变量药布sampletype和删除样品用缺失值。

mdf药栓< - as.character (gsub (”;。*”、“”,gsub (“^ msraptype: ", " ", mdf sampletype美元)))中密度板< - [! is.na (mdf药栓美元),)

现在新建一个变量is.cx从查询癌症疾病术语。这反映了一个样本是否可能从癌症或癌症患者。

mdf是美元。残雪< - ifelse (grepl(”。*癌症。*”,mdf疾病美元),真的,假的)

接下来,商店study-wise年龄差异xdif变量使用平均绝对差(也称为“疯狂”)之间chron.agepredage在相同的样本研究。也存储大小的研究ngsm策划。

xdif < - ngsm < - c()在独特的(mdf gseid美元)(g) {mdff < -中密度纤维板(mdf gseid美元= = g) xdif < - c (xdif,意味着(abs (mdff时美元。年龄——as.numeric (mdff predage美元))))ngsm < - c (ngsm, nrow (mdff))}名称(xdif) < -名称(ngsm) < -独特(mdf gseid美元)

新建一个过滤mdff数据帧使用新的变量。保留可能非癌症样本研究了< = 10年。预处理和终滤器数据集(组1和2,分别)总结如下。

filt < - mdf药栓美元= = "组织" & ! mdf是美元。残雪filt <——filt & ! mdf gseid美元% %名称(xdif [xdif > 10]) mdff < - mdf (filt,)

2.2分析和汇总统计

进行统计分析mdf(组1)和mdff(组2)。首先,生成多个回归。

lm1 < - lm (mdf predage ~ mdf时美元。年龄+ mdf$gseid + mdf$stype + mdf$is.cx) lm2 <- lm(mdff$predage ~ mdff$chron.age + mdff$gseid)

现在执行的方差分析(方差分析)在多个回归。总结协变量方差的百分比和假定值在每个模型。列“Vperc”和“Pval”百分比方差和协变量假定值调整每个模型。

#方差分析av1 < -方差分析(lm1) av2 < -方差分析(lm2) #结果总结sperc1 < -轮(* av1 100平方之和的[1:4]/笔(av1平方之和的美元),2)pval1 < -格式(av1美元“公关(> F)”[1:4],科学= TRUE,位数= 3)sperc2 < -轮(* av2 100平方之和的[1:2]/笔(av2平方之和的美元),2)pval2 < -格式(av2美元“公关(> F)”[1:2],科学= TRUE,位数= 3)#汇总表丹< - data.frame (Vperc1 = c (sperc1) pval1 = c (pval1) Vperc2 = c (sperc2、“-”、“-”), pval2 = c (pval2、“-”、“-”), stringsAsFactors = FALSE) rownames(丹)< - c(“时间。年龄”、“GSEID”、“SampleType”、“癌症”)knitr: kable(丹,对齐=“c”)
Vperc1 Pval1 Vperc2 Pval2
Chron.Age 51.73 0.00 e + 00 92.77 0.00 e + 00
GSEID 24.40 0.00 e + 00 1.52 2.42 e - 274
SampleType 0.07 1.27 e-09 - - - - - - - - - - - -
癌症 0.01 1.55 e-02 - - - - - - - - - - - -

现在calcualte平方,斯皮尔曼相关系数(ρ),为每个模型和疯狂。

# rsquared rsq1 < -轮(总结(lm1) $ r。平方,2)rsq2 < -轮(总结(lm2) $ r。#相关系数的平方,2)rho1 < -轮(软木。测试(中密度板predage美元,美元时。年龄, method = "spearman")$estimate, 2) rho2 <- round(cor.test(mdff$predage, mdff$chron.age, test = "spearman")$estimate, 2) # mean absolute difference mad1 <- round(mean(abs(mdf$chron.age - mdf$predage)), 2) mad2 <- round(mean(abs(mdff$chron.age - mdff$predage)), 2)

最后,组织和显示结果

dss < - data.frame (= c组(“1”、“2”),ngsm = c (nrow (mdf) nrow (mdff)), ngse = c(长度(独特(mdf gseid美元)),长度(独特(mdff gseid美元))),r。²= c (rsq1 rsq2)ρ=。字符(c (rho1 rho2)),疯狂= c (mad1 mad2) stringsAsFactors = FALSE) knitr:: kable (dss,对齐=“c”)
集团 ngsm ngse r.squared ρ 疯了
1 16510年 105年 0.76 0.76 12.87
2 6019年 37 0.94 0.96 4.53

2.3散点图的研究错误和样本的年龄

情节样本计数为每个GSE和疯狂的记录,在十年疯狂的垂直线截止用于组2过滤器。

情节(xdif ngsm ylab =”研究大小(Num GSM)。”,xlab = "年龄差距,疯狂(时间,Pred)”) abline (v = 10,坳=“红色”)

最后,情节的实足年龄,并预测组2样本。

ggplot (mdff aes (x =时间。年龄, y = predage)) + geom_point(size = 1.2, alpha = 0.2) + geom_smooth(method = "lm", size = 1.2) + theme_bw() + xlab("Chronological Age") + ylab("Epigenetic (DNAm) Age")

3示例2:信号比较FFPE和冷冻样本

本节比较甲基化和unmethylated信号(log2样本平均规模)之间的样本存储FFPE或新鲜冷冻(FF)。

3.1得到样品存储类型信息

识别和总结和样品存储可用的变量。使用值存储通知一个新的sgroup变量。

mdf < - md [!md存储= =“NA”美元,美元]mdf sgroup < - ifelse (grepl (“FFPE”, mdf储存美元),“FFPE”、“冻结”)
#海温< get_sst (sgroup汇总表。实验室= c (“ffpe”、“冻结”),mdf) knitr: kable(海温,对齐=“c”) #表格显示

3.2使用阻塞log2中位数计算信号

子集的MethylSet对象和提取完整的信号矩阵getMethgetUnmeth从minfi包功能。

gmf < - - - gm(通用gsm %, % mdf gsm美元]# filt h5se对象mdf < - mdf(顺序(匹配(mdf gsm美元,gmf gsm)美元),)相同(gmf美元gsm、mdf gsm美元)gmf存储< - mdf存储#美元附加存储信息
冰毒。所有< - getMeth unmeth (gmf)。所有< - getUnmeth (gmf)

接下来,准备计算log2值信号。管理活动内存中的数据,处理它在较小的单位或块。使用get_blockshelper函数,分配样本指数大小1000块使用bsize论点。

块< - getblocks (slength = ncol (gmf) bsize = 1000)

现在计算每个块log2样本值信号。Vectorize计算块内应用。data.frame存储结果ds

< -矩阵女士(nrow = 0, ncol = 2) l2meth < - l2unmeth < - c()(我在1:长度(块)){b < -块[[我]]gmff < - gmf [b] methb < - as.matrix(冰毒。所有的[b]) unmethb < - as.matrix (unmeth。所有的[b]) l2meth < - c (l2meth,应用(methb 2函数(x) {log2(中位数(as.numeric (x)))})) l2unmeth < - c (l2unmeth,应用(unmethb 2函数(x) {log2(中位数(as.numeric (x)))})) < - rbind女士(ms,矩阵(c (l2meth l2unmeth), ncol = 2))消息(i)} rownames (ms) < - colnames (meth.all) colnames (ms) < - c(“冰毒。l2med”、“unmeth.l2med”) ds < - as.data.frame (ms) ds美元存储< - ifelse (grepl (“FFPE”, gmf储存美元),“FFPE”、“冻结”)

3.3信号绘制存储类型

评估信号模式存储类型使用阴谋使用ggplot2包。首先,使甲基化的二维散点图和unmethylated信号使用geom_point函数。颜色通过存储类型scale_color_manual函数(FFPE样本是橙色,冷冻样品紫色)。

ggplot (ds, aes (x =冰毒。l2med, y = unmeth。l2med,颜色=存储))+ geom_point(α= 0.35,cex = 3) + theme_bw () + scale_color_manual(值= c (“ffpe”=“橙色”,“冻结”=“紫色”))

接下来,使得信号和单独的小提琴阴谋团体使用geom_violin为每个存储类型函数相同的颜色。画出通过设置的水平值draw_quantiles0.5参数。

副总裁< -矩阵(nrow = 0, ncol = 2) < - rbind(副总裁,副总裁矩阵(c (ds冰毒美元。l2med paste0(“冰毒。”,ds存储)美元),ncol = 2) < - rbind(副总裁,副总裁矩阵(c (ds unmeth美元。l2med paste0 (“unmeth。”,ds存储)美元),ncol = 2) < - as.data.frame副总裁(副总裁,stringsAsFactors = FALSE)副总裁[1]< - as.numeric([1])副总裁colnames (vp) < - c(“信号”,“集团”)副总裁坳< - ifelse (grepl(美元集团副总裁“ffpe”),“橙色”,“紫色”)#让情节ggplot (vp, aes (x =组,y =信号,颜色=集团))+ scale_color_manual(值= c(“冰毒。ffpe”=“橙色”、“unmeth。ffpe”=“橙色”、“meth.frozen”=“紫色”、“unmeth.frozen”=“紫色”))+ geom_violin (draw_quantiles = c (0.5)) + theme_bw() +主题(传奇。位置= "没有")

4示例3:识别和分析组织最高的探针

方差

这个例子描述了方差分析在肝脏和脂肪,2 7组织分析的手稿马登et al。(2020)。这包括一个质量评估,研究ID DNAm分数的线性调整,ANOVA-based和探针过滤,两步方差分析,和结果的情节。

4.1样本识别和总结

总结样品感兴趣的。用两个向量的GSM id、adipose.gsmvliver.gsmv过滤的元数据(参见data_analyses向量。R脚本)。还定义组织的新组变量sgroup。总结样品组表

gsmv < - c(脂肪。gsmv liver.gsmv) mdf < - md (md gsm % % gsmv,美元)mdf sgroup < ifelse (mdf gsm美元% %脂肪。gsmv,“脂肪”、“肝”)。tvar < - get_sst (sgroup。实验室= c(“肝”、“脂肪”),mdf) knitr:: kable (sst。tvar对齐=“c”)
脂肪
ngsm 112年 104年
meangsm.gse 16 26
sdgsm.gse 17.3 19.41
numgse 7 4
min.predage 1.91 36.07
max.predage 73.75 79.27
mean.predage 42.72 54.17
sd.predage 17.06 7.63
numna.predage 0 0
percfemale.predsex 45.54 68.27
numna.predsex 0 0

4.2中位数计算log2甲基化和unmethylated信号

子集的MethylSet数据集,然后添加sgroup变量的mdf并将对象映射到基因组使用mapToGenome函数的minfi包中。

< - - - gm女士(colnames (gm) %, % rownames (mdf)] < -女士女士(、订单(匹配(colnames(女士),rownames (mdf))))相同(colnames(女士),rownames (mdf)) #[1]真正的女士sgroup < - mdf sgroup美元< - mapToGenome女士(ms)的(ms) # 252年[1]485512

如上例2中,计算样本log2信号中值信号矩阵。过程中的数据块使用within-block向量化应用

# log2中位数冰毒。tx < - getMeth unmeth(女士)。tx < - getUnmeth (ms)块< - getblocks (slength = ncol(女士),bsize = 50) #过程中的数据块l2m < -矩阵(nrow = 0, ncol = 2)(我在1:长度(块)){b < -块[[我]][b] methb女士gmff < - < as.matrix(冰毒。tx [b]) unmethb < - as.matrix (unmeth。tx [b]) l2meth < - l2unmeth < - c () l2meth < - c (l2meth,应用(methb 2函数(x) {log2(中位数(as.numeric (x)))})) l2unmeth < - c (l2unmeth,应用(unmethb 2函数(x) {log2(中位数(as.numeric (x)))})) l2m < - rbind (l2m,矩阵(c (l2meth l2unmeth), ncol = 2))消息(i)} ds2 < - as.data.frame (l2m) colnames (ds2) < - c (“l2med。冰毒”、“l2med.unmeth”) ds2组织< - as.factor(女士sgroup美元)

做散点图log2值信号的组织类型geom_point函数。

ggplot (ds2、aes (x = l2med。冰毒,y = l2med。unmeth,颜色=组织))+ geom_point(α= 0.3,cex = 3) + theme_bw ()

4.3对研究DNAm id执行线性校正

访问noob-normalized DNAm Beta-values从GenomicRatio对象gr加载。提取DNAm分数作为M-values (logit2 Beta-values转换)getMminfi函数。对研究ID与执行线性校正removeBatchEffect通过设置函数从limma包批处理参数“gseid”变量。

lmv < - lgr < lmd < -磅<局域网电视< < -列表()- c(“脂肪”、“肝”)#新手规范数据gr < - gr [, colnames (gr) % % colnames (ms)] gr < - gr(、订单(匹配(colnames (gr) colnames(女士))))相同(colnames (gr) colnames(女士))gr sgroup < - $ sgroup #女士做研究的ID在电视(t) {lmv [[t]] < - gr (gr sgroup美元= = t) msi < - lmv [[t]] madj < - limma:: removeBatchEffect (getM (msi)批= msi gseid美元)#将调整后的数据存储在一个新的se对象lgr [[t]] < - GenomicRatioSet (GenomicRanges:农庄(msi), M = madj,注释=注释(msi)) #附加元数据样本lmd [[t]] < - pData (lgr [[t]]) < - pData (lmv [[t]]) #添加预处理元数据的元数据(lgr [[t]]) < -列表(“预处理”=“noobbeta; removeBatchEffect_gseid”) #列出betavals磅[[t]] < - getBeta (lgr [[t]]) #β值列表}

4.4执行array-wide方差分析和过滤探针

准备和常染色体探针上运行方差分析。首先,识别和消除性染色体探针通过访问注释的getAnnotationminfi函数。过滤后的数据列表磅力对象。

庵野< - getAnnotation (gr)对应。xy < - c (“chrY”、“chrX”) cg。xy < - rownames(伊斯兰教纪元[伊斯兰教纪元$ % % chr.xy,从而向])磅力< -列表()在电视(t) {bval < -磅磅力[[t]] [[t]] < - bval [! rownames (bval) % % cg。xy,]} bv < -磅力([1])

接下来,选择和格式的9协变量模型方差分析测试。从元数据样本,选择变量研究ID (“gseid”),预计性(“predsex”),预测年龄(“predage”),并预测分数6细胞类型(“predcell . . *”)。这些因素或数值类型转换函数as.factoras.numeric,分别。

cnf lvar < -列表()< - c (“gseid”、“predsex”,“predage”,“predcell。CD8T”、“predcell。CD4T”、“predcell。NK”、“predcell。Bcell”、“predcell。Mono”、“predcell.Gran”)在电视(t) {cnf (c){如果(c % % c (“gseid”、“predsex”)) {lvar [[t]] [[c]] < - as.factor (pData (lgr [[t]]) [c])其他}{lvar [[t]] [[c]] < - as.numeric (pData (lgr [[t]]) [c])}}}

在探针Beta-values运行方差分析。使用上面的blocking-with-vectorization策略在这里,大量的100000样本指标。计算应该完成在大约1小时。对于每个测试,保留未经调整的假定值和方差的百分比9协变量。存储矩阵在18日的专栏文章的结果局域网对象列表。

bv < -磅力[[1]]块< - getblocks (slength = nrow (bv)、bsize = 100000) < -矩阵先生(nrow = 0, ncol = 18)局域网< -列表(“脂肪”=先生,先生“肝”=)t1 < - Sys.time () (bi在1:长度(块)){为电视(t) {datr < -磅力[[t]] [[[bi]],块]tvar < - lvar [[t]] newchunk < - t(应用(datr 1函数(x){#多元回归和方差分析x < - as.numeric (x) ld < - lm (x ~ tvar [[1]] + tvar [[2]] + tvar [[3]] + tvar [[4]] + tvar [[5]] + tvar [[6]] + tvar [[7]] + tvar [[8]] + tvar[[9]]) <——方差分析(ld)据美联社< - #得到结果(c (1:9), 5) # pval av < -圆(100 * (c(1:9), 2) /([2]),和3)# % var(作为回报。数字(c(美联社,av)))})) #追加新的结果局域网[[t]] < - rbind (lan [[t]], newchunk)}消息(bi、“tdif:“Sys.time () - t1)} #附加colnames为电视(t) {colnames (lan [[t]]) < -代表(cnf, 2)}

接下来,删除调查显示剩余协变量的混淆的证据。协变量调整假定值的p.adjust功能,保持探头与调整假定值> = 0.001和方差方差协变量对所有9 < 10%。保留DNAm过滤后的调查数据GenomicRatioSet列表中的每个组织的年代lgr.filt

pfilt < - 1 e - 3 varfilt < - 10 lcgkeep < -过滤的列表()#探针集电视(t){点< - lan [[t]] [c (1:9)] vm < - lan [[t]] [c(10:18)] # <解析变量阈值厘米- as.data.frame(矩阵(nrow = nrow (pm), ncol = ncol (pm)))为(c 1: ncol (pm)) {pc < - pm [c];电脑。的< - as.numeric (p.adjust (pc)电脑。filt < - pc。的< pfilt vc。filt < - vm [c] > [c] < = varfilt厘米(电脑。filt & vc.filt)} cgkeep < -应用(厘米,1,函数(x){返回((长度(x (x = = TRUE)) = = 0))}) lcgkeep [[t]] < - rownames (pm) [cgkeep]} lgr。filt < -列表(“脂肪”= lgr [[1]] [lcgkeep[[1]]],“肝”= lgr [[2]] [lcgkeep [[2]]])

4.5得到探针DNAm汇总统计和分析差异

计算探测器DNAm汇总统计。对于每一个组织,计算最小值,最大值,意味着、中位数、标准差、方差的Beta-values样本。结果存储在lcg.ss列表。

cnv < - c(“分钟”,“马克斯”、“意思”,“中等”,“sd”、“var”) bv < - getBeta (lgr.filt [[t]]) lbt < - lcg。党卫军< -列表()bsize = 100000 (t在电视){lcg。党卫军[[t]] < -矩阵(nrow = 0, ncol = 6) lbt [[t]] < - bt < - as.matrix (getBeta (lgr.filt [[t]])) blockst < - getblocks (slength = nrow (bt), bsize = bsize)为(bi在1:长度(blockst)) {bc < - bt (blockst [[bi]]] newchunk < - t(应用(公元前1,函数(x){启动< - c (min (x)马克斯(x),意味着(x),中等(x), sd (x) var (x))返回(as.numeric(启动))lcg}))。党卫军[[t]] < - rbind (lcg。党卫军[[t]], newchunk)消息(t)”;“(bi)} colnames lcg.ss [[t]]) < - cnv}

执行2的主要方差分析策略。这个选择最高的2000调查类属特异性的差异。

首先,使用一个方差截止,或“绝对”分位数截止,每组。探针在第99分位数方差列表中的每个组织lmvp.abs对象。

qiv = seq (0.01 0 1) qwhich = c (100) lmvp。abs() < -列表lci < -列表()在电视(t) {cgv < - c () sa < - lcg。党卫军[[t]] sa < - as.data.frame (sa, stringsAsFactors = FALSE) q < -分位数(sa) $ var, qiv) qwhich lmvp。abs [[t]] < - rownames (sa) [sa $ var > q])}

现在选择高方差探针与面元为每个组织。分配探测1的10箱使用0.1意味着β值的间隔。选择探头在前99分位数方差为每个垃圾桶,并存储lmvp.bin

#箱分位数法qiv = seq(0.01 0 1) #分位数过滤器qwhich = c (100)。xint < - 0.1 binv = seq (0, 1, bin.xint)[1:10] #封存bval意味着# iter nct lmvp。本=列表()在电视(t) {sa < - as.data.frame (lcg.ss [[t]]) cgv < - c() #迭代betaval垃圾箱binv (b) {bf < - sa (sa)的意思是> = b & sa意味着美元< b +本。xint] #得到探针在本q < -《<分位数(bf $ var, qiv) [qwhich] #做本滤波器cgv < - c (cgv, rownames (bf) [bf $ var > q]) #附加探测器}lmvp列表。本[[t]] < - cgv}

方差分析完成后,过滤lmvp.abslmvp.bin组织特异性探针。组织调查应该只发生在高方差探头为一个组织。探测器分类为“组织”或“非特异性”使用跨组织函数来确定其发生的频率。

cgav < - c()在电视(t) {txcg < -独特(c (lmvp。abs [[t]], lmvp.bin [[t]])) cgav < - c (cgav txcg)} cgdf < - as.data.frame(表(cgav)) cgdf类型< - ifelse (cgdf[2] > 1,“特异性”、“组织”)表(cgdf类型)美元
# # # #非特异性组织# 4572 # 3217

过滤后由组织特异性探针,通过降序排名DNAm方差。选择1000调查lmvp.abs,然后1000重叠探针lmvp.bin,保留2000 highest-variance探测器的组织ltxcg列表。

cgfilt < - cgdf $ type = =“特异性”cgdff < - cgdf [!cgfilt] ltxcg < -列表()在电视(t) {cgtx < - c () cgabs < lmvp。abs [[t]] cgbin < - lmvp。本圣< - [[t]] as.data.frame (lcg.ss [[t]]) #得到t组织特定的探测filtbt < - rownames (st) % % cgdff[1]圣< -圣[filtbt,] #得到最高1 k t组织特定的abs探针filt。bf1 < - rownames (st) % % cgabs sf1 < -圣[filt。bf1,] sf1 < - sf1[牧师(订单(sf1 $ var))) cgtx <——rownames (sf1)[1:1000] #得到最高1 k t组织特定本调查,之后filt filt。bf2 < - rownames (st) % % cgbin & ! rownames (st) % % rownames (sf1) [filt sf2 < -圣。bf2,] sf2 < - sf2[牧师(订单(sf2 $ var))) cgtx < - c (cgtx, rownames (sf2) [1:1000]) ltxcg [[t]] < - cgtx}

4.6小提琴探针集的情节和热图DNAm均值和方差

首先,获取探测器设置DNAm总结和注释的数据。

#过滤cg lfcg < -拉普(lcg摘要。ss、功能(x) {x < - x [rownames (x) % %独特(unlist (ltxcg)),)}) #注释庵野< - getAnnotation子集(gr) #拯救伊斯兰教纪元的海巡署庵野< -伊斯兰教纪元(c(“名字”,“UCSC_RefGene_Name”,“UCSC_RefGene_Group”、“Relation_to_Island”)]庵野< -伊斯兰教纪元(rownames(伊斯兰教纪元)% %独特(unlist (ltxcg)),] #过滤β值lcgssf < -列表()在电视(t) {bv < - lcg。党卫军[[t]] bvf < - bv (rownames (bv) % % ltxcg [[t]]] lcgssf [[t]] < - bvf}

使用makevp ()helper函数使小提琴的情节与单杠分布中位数。这个函数格式数据和调用geom_violin让DNAm小提琴情节分数均值和方差。块存储在lvp列表,然后使用垂直显示它们grid.arrange函数从gridExtra包。

lvp < - makevp (lfcg ltxcg)网格。安排(lvp [[1]], lvp [[2]], ncol = 1,底部=“组织”)

汇总的方式调查统计数据的组织。

tcgss < -矩阵(nrow = 0, ncol = 6)在电视(t) {datt < -应用(lcgssf [[t]], 2,函数(x){轮(意味着(x),数字= 2)})太< -矩阵(datt nrow = 1) tcgss < - rbind (tcgss mt)} colnames (tcgss) < - colnames (lcgssf脂肪美元)rownames (tcgss) <——电视knitr:: kable (t (tcgss),对齐=“c”)
脂肪
最小值 0.19 0.10
马克斯 0.80 0.76
的意思是 0.52 0.35
中位数 0.52 0.35
sd 0.12 0.11
var 0.02 0.01

接下来,准备基因组区域的热图3辅助功能。这些将汇总调查丰度按地区和使用探针β值方法计算意味着(左热图)的均值和方差的方法(正确的热图)的基因组区域类型。

首先,定义岛和基因注释组清单使用get_cga。接下来,得到有针对性DNAm总结hmsets使用最小区域2的报道。这意味着值计算出的地区至少2探测器,和地区少分配“NA”和灰色的。使2块对象的均值和方差hmplots (),包装geom_tileggplot2函数。最后,显示块水平grid.arrange

注册会计师< - get_cga(伊斯兰教纪元)lhmset < - hmsets排气口(ltxcg、lfcg lhmplots < - hmplots (lhmset hm美元。意思是,lhmset hm美元。var, lhmset$hm.size) grid.arrange(lhmplots$hm.mean.plot, lhmplots$hm.var.plot, layout_matrix = matrix(c(1, 1, 1, 1, 1, 2, 2), nrow = 1), bottom = "Tissue", left = "Annotation/Region Type")