Weighted gene co-expression network analysis by mutation status
Several novel gene co-expression networks regulate by transcriptional regulation genes. This package aims to analyze these engaging gene networks that possibly interact with and regulate transcriptional regulation genes. We analyze RNAseq data in dynamic gene status models such as cancers that have significant deregulation of these processes to figure out these networks.
The development version can be installed from GitHub using:
devtools::install_github("ilwookkim/cgNetwork")
library(cgNetwork)
gene_of_interest = "CDKN1A"
mutation_gene = "TP53"
Acquire Data
For the tutorial we only use a subset of genes (Transcriptional Regulation by TP53 : Reactome R-HSA-3700989).
library(fgsea)
gmt.file <- system.file("extdata", "ReactomePathways.gmt", package="cgNetwork")
TP53_pathway <- gmtPathways(gmt.file)[["Transcriptional Regulation by TP53"]]
Using the cgdsr package We need to create a cgds object, which also gives us the IDs of available projects. We choose "laml_tcga". Then we acquire information about this project via the cgInfo function, listing the available data types. We choose "mRNA expression (RNA Seq V2 RSEM)". Finally, we get the data via the cgData function. We also get mutation data via the cgMutation function. The countdata is separated by different RNAseq versions (i.g. RNA Seq, RNA Seq V2).
cgds <- cgBase() #lists the available studies
studyID <- "laml_tcga"
cgInfo(cgds, studyID) #lists the available profiles and caselists
profile_name <- "mRNA expression (RNA Seq V2 RSEM)"
countdata <- cgData(cgds, studyID, profile_name, genes=TP53_pathway)
mut_df <- cgMutation(cgds, studyID, genes="TP53")
Neighbor genes finder
Finding neighbor genes network around the interesting gene using weighted network function from igraph package.
common_neighbor <- neighbor_finder(countdata, gene=gene_of_interest,
cor.cut.off=.39, weight.cut.off=.5)
Creating the Network
Calculate networks (one for each mutation status) around the gene of interest. Interactive networks are vizualized via shiny.
cgNetwork_list <- cgNetwork(countdata, mut_df, common_neighbor)
DiNetplot(cgNetwork_list)
Example shiny server: https://ilwookkim.shinyapps.io/dinetplot/
Network data export and differential network visualization using Cytoscape
r
g1 <- cgNetwork_list[[1]]
g2 <- cgNetwork_list[[2]]
RCy3::createNetworkFromIgraph(g1,"network_wt")
RCy3::createNetworkFromIgraph(g2,"network_mut")
Red: Up-regulate in Mut - Green: Down-regulate in Mut
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.