The R package to infer and plot Bayesian networks. The network are inferred from expression data based on clusterProfiler or ReactomePA results. It makes use of libraries including clusterProfiler, ReactomePA, bnlearn, graphite and depmap. In this vignette, the description of functions and several use cases are depicted using GSE133624, which contains RNA-Seq data of bladder cancer. The more detail can be found on the book (https://noriakis.github.io/CBNplot/).
BiocManager::install("CBNplot")
library(CBNplot) library(DESeq2) library(org.Hs.eg.db) library(GEOquery) ## Load dataset and make metadata filePaths <- getGEOSuppFiles("GSE133624") counts = read.table(rownames(filePaths)[1], header=1, row.names=1) meta = sapply(colnames(counts), function (x) substring(x,1,1)) meta = data.frame(meta) colnames(meta) = c("Condition") dds <- DESeqDataSetFromMatrix(countData = counts, colData = meta, design= ~ Condition) ## Prefiltering filt <- rowSums(counts(dds) < 10) > dim(meta)[1]*0.9 dds <- dds[!filt,] ## Perform DESeq2() dds = DESeq(dds) res = results(dds, pAdjustMethod = "bonferroni") ## apply variance stabilizing transformation v = vst(dds, blind=FALSE) vsted = assay(v) ## Define the input genes, and use clusterProfiler::bitr to convert the ID. sig = subset(res, padj<0.05) cand.entrez = clusterProfiler::bitr(rownames(sig), fromType="ENSEMBL", toType="ENTREZID", OrgDb=org.Hs.eg.db)$ENTREZID ## Perform enrichment analysis pway = ReactomePA::enrichPathway(gene = cand.entrez) pway = clusterProfiler::setReadable(pway, org.Hs.eg.db) ## Define including samples incSample = rownames(subset(meta, Condition=="T"))
Then use CBNplot. Basically, you need to supply the enrichment analysis result, normalized expression value and samples to be included.
bngeneplot(results = pway,exp = vsted, expSample = incSample, pathNum = 15) bnpathplot(results = pway,exp = vsted, expSample = incSample, shadowText = TRUE) bnpathplotCustom(results = pway, exp = vsted, expSample = incSample, fontFamily="sans", glowEdgeNum=3, hub=3) bngeneplotCustom(results = pway, exp = vsted, expSample = incSample, pathNum=15, fontFamily="sans", glowEdgeNum=NULL, hub=3) sessionInfo()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.