Skip to content

ilwookkim/cgNetwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cgNetwork

Weighted gene co-expression network analysis by mutation status

Approach

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.

  1. Retrive RNAseq data from various cancer database.
  2. RNAseq by mutation_gene mutation.
  3. Build network around gene_of_interest
  4. Comparison Network of gene_of_interest by mutation of mutation_gene

Installation

The development version can be installed from GitHub using:

devtools::install_github("ilwookkim/cgNetwork")

Usage

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

  1. Download and Install Cytoscape. https://cytoscape.org/download.html
  2. Open Cytoscape
  3. Install plugin Diffany
  4. Run below in R
g1 <- cgNetwork_list[[1]]
g2 <- cgNetwork_list[[2]]
RCy3::createNetworkFromIgraph(g1,"network_wt")
RCy3::createNetworkFromIgraph(g2,"network_mut")
  1. Save network file as .cys.
  2. Import network_wt.cys and network_mut.cys files
  3. Apps/Diffany > Run Diffany project
  4. Go to Diffany tab
  5. Input networks window: include - check Two networks, Reference - check wt network
  6. Options window: Comparison mode - here I used One to all, Cutoff - Here I used 0.5 Check Differential networks and Consensus networks.
  7. Press Start
  8. export image

Red: Up-regulate in Mut - Green: Down-regulate in Mut