# #——回声= FALSE,包括= FALSE -------------------------------------------- knitr: opts_chunk美元集(整洁= FALSE,缓存= TRUE, dev =“png”,消息= FALSE,错误= FALSE,警告= TRUE) # #——load-packages ------------------------------------------------------------ 库(SummarizedBenchmark)图书馆(“magrittr ") ## ---- 案例研究数据 ---------------------------------------------------------- 库(limma)图书馆(磨边机)库(DESeq2)库(“tximport”)的数据(soneson2016) mycounts < -轮(txi数美元)mycoldat < - data.frame(条件=因素(代表(c(1、2),每个= 3)))rownames (mycoldat) < - colnames (mycounts) mydat < -列表(coldat = mycoldat,cntdat = mycounts状态= truthdat美元地位,利物浦= truthdat logFC美元)bd < - BenchDesign(数据= mydat) # #——case-study-methods ------------------------------------------------------- deseq2_run < -函数(countData colData,设计,对比){dds < - DESeqDataSetFromMatrix (countData colData = colData设计=设计)dds < - DESeq (dds)的结果(dds,对比=对比)}deseq2_pv < -函数(x) {x $ pvalue} deseq2_lfc < -函数(x) {x $ log2FoldChange} edgeR_run < -函数(countData、组设计){y < - DGEList (countData组=组)y < - calcNormFactors (y) des < - model.matrix(设计)y < - estimateDisp (y, des) < - glmFit (y, des) glmLRT(健康,系数= 2)}edgeR_pv < -函数(x) {x表PValue美元}edgeR_lfc < -函数(x) {x表logFC美元}voom_run < -函数(countData、组设计){y < - DGEList (countData组=组)y < - calcNormFactors (y) des < - model.matrix(设计)y < -轰(y, des) ebay (lmFit (y, des)) (x) {x} voom_pv < -函数$ p。价值[2]}voom_lfc < -函数(x) {x $系数[2]}bd < - bd % > %调用addMethod(标签=“deseq2 func = deseq2_run帖子=列表(pv = deseq2_pv,利物浦= deseq2_lfc), params = rlang::、动荡频仍的(countData = cntdat colData = coldat设计= ~条件,对比= c(“条件”,“2”,“1”)))% > %调用addMethod(标签=“刨边机”,func = edgeR_run帖子=列表(pv = edgeR_pv,利物浦= edgeR_lfc), params = rlang::、动荡频仍的(countData = cntdat组= coldat $条件,) %>% addMethod(label = "voom", func = voom_run, post = list(pv = voom_pv, lfc = voom_lfc), params = rlang::quos(countData = cntdat, group = coldat$condition, design = ~coldat$condition)) sb <- buildBench(bd, truthCols = c(pv = "status",利物浦= "利物浦 ")) ## ----------------------------------------------------------------------------- updateBench(某人= ) ## ----------------------------------------------------------------------------- BDData (BenchDesign(某人 )) ## ----------------------------------------------------------------------------- bd2 < - modifyMethod (bd,“deseq2 rlang::、动荡频仍的(双相障碍。元=列表(注意=“小更新 "))) ## ----------------------------------------------------------------------------- updateBench(=某人的话,bd = bd2 ) ## ----------------------------------------------------------------------------- deseq2_ashr < -函数(countData colData,设计,对比){dds < - DESeqDataSetFromMatrix (countData colData = colData设计=设计)dds < - DESeq (dds) lfcShrink (dds,对比=之下,类型=“ashr”)}bd2 < -调用addMethod (deseq2_ashr bd2,“deseq2_ashr”,帖子=列表(pv = deseq2_pv,利物浦= deseq2_lfc), params = rlang::、动荡频仍的(countData = cntdat colData = coldat设计= ~条件,对比= c(“条件”,“2”,“1 "))) ## ----------------------------------------------------------------------------- updateBench(=某人的话,bd = bd2 ) ## ----------------------------------------------------------------------------- sb2 < updateBench (bd = bd2 =某人的话,sb2 dryrun = FALSE) ## ----------------------------------------------------------------------------- (试验(sb2,”利物浦 ")) ## ----------------------------------------------------------------------------- colData会话(sb2)。”idx”= FALSE ] ## ----------------------------------------------------------------------------- 拉普兰人(元数据(sb2)会话,美元的[[’,”方法 ") ## ----------------------------------------------------------------------------- updateBench (sb2, bd keepAll = FALSE) # #——simpleMetric ------------------------------------------------------------- < - addPerformanceMetric(某人的话,分析=“光伏”,evalMetric =“拒绝”,evalFunction = function(查询、真理){总和(p。调整(query, method = "BH") < 0.1, na。rm = TRUE) }) sb <- estimatePerformanceMetrics(sb, addColData = TRUE) ## ----modifyBench-------------------------------------------------------------- sb2 <- updateBench(sb, bd2, dryrun = FALSE) estimatePerformanceMetrics(sb2, rerun = FALSE, addColData = TRUE)