PoTRA: Pathways of Topological Rank Analysis

Description

PoTRA is motivated by the observation that the loss of connectivity is a common topological trait of cancer networks and the prior knowledge that a normal biological network is a scale-free network whose degree distribution follows a power law where a small number of nodes are hubs and a large number of nodes are non-hubs. From normal to cancer, the process of the network losing connectivity might be the process of disrupting the scale-free structure of the network, which can result in an altered number of hub genes between normal and cancer. The PoTRA analysis is based on topological ranks of genes in biological pathways, and PoTRA detects pathways involved in cancer by testing if the number of hub genes in pathways is altered between normal and cancer. We are using Fisher’s exact test to estimate if the number of hub genes is significantly altered between normal and cancer, which is a local test of the distribution (we only look at hub genes). Alternatively, we also use F test to estimate if the variance of the distribution is significantly altered between normal and cancer, which is a global test of the distribution. The F test is a good complement to Fisher’s exact test.

For information about the method, please read:

Chaoxing Li, Li Liu and Valentin Dinu. “Pathways of Topological Rank Analysis (PoTRA): A Novel Method to Detect Pathways Involved in Cancer”, 2017.

 

R code, sample data and sample scripts

The R script to carry out PoTRA is available here:

 

PoTRA.R

The R script to perform the main part (Fisher’s exact test) of PoTRA, the alternative part (F test) of PoTRA, and the overlay plot of kernel density for the PR scores (as in Figure 4 in our PoTRA paper).

PoTRA-example.R

Example usage of PoTRA.R

PoTRA-example-data.Rdata

Data used in PoTRA-example.R

 

Usage

For the main part (Fisher’s exact test) of PoTRA:

PoTRA <- function(mydata,genelist,Num.sample.normal,Num.sample.case,Pathway.database, PR.quantile)

 

For the alternative part (F test) of PoTRA:

PoTRA.Ftest <- function(mydata,genelist,Num.sample.normal,Num.sample.case,Pathway.database)

 

For the kernel density plot (as Figure 4 in our paper):

results.plot <- overlayplot(mydata,genelist,Num.sample.normal,Num.sample.case,Pathway.database)

 

Arguments

mydata: a gene expression dataset (matrix). Rows represent genes, and columns represent samples (from control to case)
genelist: a list of gene names
Num.sample.normal: the number of normal samples
Num.sample.case: the number of cancer samples
Pathway.database: the pathway database used in the study, such as, KEGG, Biocarta and Reactome
PR.quantile: The percentile of PageRank scores as a cutoff for hub genes

Value

p.value: the p-value of the test.

TheNumberOfHubGenes.normal: the number of hub genes for normal samples.

TheNumOfHubGene.case: the number of hub genes for cancer samples.

TheNumberOfEdges.normal: the number of edges in the network for normal samples.

TheNumberOfEdges.case: the number of edges in the network for cancer samples.

Examples

See PoTRA-example.R

 

Credits

Authors: Chaoxing Li, Li Liu and Valentin Dinu

 

If you use or modify the code, please cite:

“Pathways of Topological Rank Analysis (PoTRA): A Novel Method to Detect Pathways Involved in Cancer”, 2017.

 

Issues?

Please email Chaoxing Li <chaoxing@asu.edu> or Valentin Dinu <Valentin.Dinu@asu.edu> if you have any questions, concerns or feedback.