Nothing
## ----knitrSetup, include=FALSE------------------------------------------------
library(knitr)
opts_chunk$set(out.extra='style="display:block; margin: auto"', fig.align="center", fig.width=12, fig.height=12, tidy=TRUE)
## ----style, include=FALSE, echo=FALSE, results='asis'-------------------------
BiocStyle::markdown()
## ----installNetBoxr, eval=FALSE-----------------------------------------------
# BiocManager::install("netboxr")
## ----loadLibrary, message=FALSE, warning=FALSE--------------------------------
library(netboxr)
## ----searchHelp, eval=FALSE, tidy=FALSE---------------------------------------
# help(package="netboxr")
## ----showHelp, eval=FALSE, tidy=FALSE-----------------------------------------
# help(geneConnector)
# ?geneConnector
## ----netboxrExampleNetwork----------------------------------------------------
data(netbox2010)
sifNetwork <- netbox2010$network
graphReduced <- networkSimplify(sifNetwork,directed = FALSE)
## ----netboxrExampleGene-------------------------------------------------------
geneList <- as.character(netbox2010$geneList)
length(geneList)
## ----netboxrExampleGeneConnector, fig.width=12, fig.height=12-----------------
## Use Benjamini-Hochberg method to do multiple hypothesis
## correction for linker candidates.
## Use edge-betweeness method to detect community structure in the network.
threshold <- 0.05
results <- geneConnector(geneList=geneList,
networkGraph=graphReduced,
directed=FALSE,
pValueAdj="BH",
pValueCutoff=threshold,
communityMethod="ebc",
keepIsolatedNodes=FALSE)
# Add edge annotations
library(RColorBrewer)
edges <- results$netboxOutput
interactionType<-unique(edges[,2])
interactionTypeColor<-brewer.pal(length(interactionType),name="Spectral")
edgeColors<-data.frame(interactionType,interactionTypeColor,stringsAsFactors = FALSE)
colnames(edgeColors)<-c("INTERACTION_TYPE","COLOR")
netboxGraphAnnotated <- annotateGraph(netboxResults = results,
edgeColors = edgeColors,
directed = FALSE,
linker = TRUE)
# Check the p-value of the selected linker
linkerDF <- results$neighborData
linkerDF[linkerDF$pValueFDR<threshold,]
# The geneConnector function returns a list of data frames.
names(results)
# Plot graph with the Fruchterman-Reingold layout algorithm
# As an example, plot both the original and the annotated graphs
# Save the layout for easier comparison
graph_layout <- layout_with_fr(results$netboxGraph)
# plot the original graph
plot(results$netboxCommunity,results$netboxGraph, layout=graph_layout)
# Plot the edge annotated graph
plot(results$netboxCommunity, netboxGraphAnnotated, layout = graph_layout,
vertex.size = 10,
vertex.shape = V(netboxGraphAnnotated)$shape,
edge.color = E(netboxGraphAnnotated)$interactionColor,
edge.width = 3)
# Add interaction type annotations
legend("bottomleft",
legend=interactionType,
col=interactionTypeColor,
lty=1,lwd=2,
bty="n",
cex=1)
## ----netboxrExampleGlobalTest, eval=FALSE-------------------------------------
# ## This function will need a lot of time to complete.
# globalTest <- globalNullModel(netboxGraph=results$netboxGraph, networkGraph=graphReduced, iterations=10, numOfGenes = 274)
## ----netboxrExampleLocalTest--------------------------------------------------
localTest <- localNullModel(netboxGraph=results$netboxGraph, iterations=1000)
## ----netboxrExampleLocalTestPlot----------------------------------------------
h<-hist(localTest$randomModularityScore,breaks=35,plot=FALSE)
h$density = h$counts/sum(h$counts)
plot(h,freq=FALSE,ylim=c(0,0.1),xlim=c(0.1,0.6), col="lightblue")
abline(v=localTest$modularityScoreObs,col="red")
## -----------------------------------------------------------------------------
DT::datatable(results$moduleMembership, rownames = FALSE)
## ----netboxrEampleOutput, eval=FALSE------------------------------------------
# # Write results for further visilaztion in the cytoscape software.
# #
# # network.sif file is the NetBox algorithm output in SIF format.
# write.table(results$netboxOutput, file="network.sif", sep="\t", quote=FALSE, col.names=FALSE, row.names=FALSE)
# #
# # netighborList.txt file contains the information of all neighbor nodes.
# write.table(results$neighborData, file="neighborList.txt", sep="\t", quote=FALSE, col.names=TRUE, row.names=FALSE)
# #
# # community.membership.txt file indicates the identified pathway module numbers.
# write.table(results$moduleMembership, file="community.membership.txt", sep="\t", quote=FALSE, col.names=FALSE, row.names=FALSE)
# #
# # nodeType.txt file indicates the node is "linker" node or "candidate" node.
# write.table(results$nodeType,file="nodeType.txt", sep="\t", quote=FALSE, col.names=FALSE, row.names=FALSE)
## ----clusterExample, eval=TRUE------------------------------------------------
library(clusterProfiler)
library(org.Hs.eg.db)
module <- 6
selectedModule <- results$moduleMembership[results$moduleMembership$membership == module,]
geneList <-selectedModule$geneSymbol
# Check available ID types in for the org.Hs.eg.db annotation package
keytypes(org.Hs.eg.db)
ids <- bitr(geneList, fromType="SYMBOL", toType=c("ENTREZID"), OrgDb="org.Hs.eg.db")
head(ids)
ego <- enrichGO(gene = ids$ENTREZID,
OrgDb = org.Hs.eg.db,
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.01,
qvalueCutoff = 0.05,
readable = TRUE)
## -----------------------------------------------------------------------------
head(ego)
## ---- fig.width=10, fig.height=5----------------------------------------------
dotplot(ego)
## -----------------------------------------------------------------------------
example <- "PARTICIPANT_A INTERACTION_TYPE PARTICIPANT_B
TP53 interacts MDM2
MDM2 interacts MDM4"
sif <- read.table(text=example, header=TRUE, sep="\t", stringsAsFactors=FALSE)
graphReduced <- networkSimplify(sif, directed = FALSE)
## ----paxtoolsr, fig.width=15, fig.height=15, eval=FALSE-----------------------
# library(paxtoolsr)
#
# filename <- "PathwayCommons.8.reactome.EXTENDED_BINARY_SIF.hgnc.txt.gz"
# sif <- downloadPc2(filename, version="8")
#
#
# # Filter interactions for specific types
# interactionTypes <- getSifInteractionCategories()
#
# filteredSif <- filterSif(sif$edges, interactionTypes=interactionTypes[["BetweenProteins"]])
# filteredSif <- filteredSif[(filteredSif$INTERACTION_TYPE %in% "in-complex-with"), ]
#
# # Re-run NetBox algorithm with new network
# graphReduced <- networkSimplify(filteredSif, directed=FALSE)
# geneList <- as.character(netbox2010$geneList)
#
# threshold <- 0.05
# pcResults <- geneConnector(geneList=geneList,
# networkGraph=graphReduced,
# directed=FALSE,
# pValueAdj="BH",
# pValueCutoff=threshold,
# communityMethod="lec",
# keepIsolatedNodes=FALSE)
#
# # Check the p-value of the selected linker
# linkerDF <- results$neighborData
# linkerDF[linkerDF$pValueFDR<threshold,]
#
# # The geneConnector function returns a list of data frames.
# names(results)
#
# # plot graph with the Fruchterman-Reingold layout algorithm
# plot(results$netboxCommunity,results$netboxGraph, layout=layout_with_fr)
## ---- eval=FALSE--------------------------------------------------------------
# library(cgdsr)
#
# mycgds <- CGDS("http://www.cbioportal.org/")
#
# # Find available studies, caselists, and geneticProfiles
# studies <- getCancerStudies(mycgds)
# caselists <- getCaseLists(mycgds,'gbm_tcga_pub')
# geneticProfiles <- getGeneticProfiles(mycgds,'gbm_tcga_pub')
#
# genes <- c("EGFR", "TP53", "ACTB", "GAPDH")
#
# results <- sapply(genes, function(gene) {
# geneticProfiles <- c("gbm_tcga_pub_cna_consensus", "gbm_tcga_pub_mutations")
# caseList <- "gbm_tcga_pub_cnaseq"
#
# dat <- getProfileData(mycgds, genes=gene, geneticProfiles=geneticProfiles, caseList=caseList)
# head(dat)
#
# cna <- dat$gbm_tcga_pub_cna_consensus
# cna <- as.numeric(levels(cna))[cna]
#
# mut <- dat$gbm_tcga_pub_mutations
# mut <- as.character(levels(mut))[mut]
#
# tmp <- data.frame(cna=cna, mut=mut, stringsAsFactors = FALSE)
# tmp$isAltered <- abs(tmp$cna) == 2 | !is.na(tmp$mut) # Amplification or Deep Deletion or any mutation
# length(which(tmp$isAltered))/nrow(tmp)
# }, USE.NAMES = TRUE)
#
# # 10 percent alteration frequency cutoff
# geneList <- names(results)[results > 0.1]
## ----sessionInfo--------------------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.