Learn R Programming

BUS (version 1.28.0)

gene.trait.pvalue: Calculate p-value for gene-trait interaction

Description

To calculate p-value for null hypothesis that there is no interaction between gene and trait. There are MxT interactions between M genes and T traits. Results are given with 3 possibilities 1 for single p-value, and 3 for different types of correction. p-values are calculated based on the adjacency matrix for gene-gene interaction computed by function gene.trait.similarity.

Usage

gene.trait.pvalue(EXP, trait, measure, method.permut = 2, n.replica = 400)

Arguments

EXP
Gene expression data in form of a matrix. Row stands for genes and column for experiments.
trait
Trait data in form of matrix. Row stands for traits and column for experiments.
measure
Metric used to calculate similarity: "corr" for correlation, "MI" for mutual information.
method.permut
A flag to indicate correction style when multiple hypotheses testing is considered. 1 for multiple traits correction, 2 for multiple genes and 3 for both genes and traits correction. The default value is 2.
n.replica
Number of permutations for the correction of multiple hypothesis testing; default value is 400.

Value

single.perm.p.value
A matrix of single p-values obtained with permutation method + beta distribution for extreme values (for MI) or obtained with the exact distribution computed directly by cor.test (for correlation)
multi.perm.p.value
A matrix of corrected p-values obtained with permutation method

Details

According to a permutation method, we use the empirical distribution of some statistics to estimate the p-value. For single p-value the empirical distribution is a vector of P (number of random replicates for each test) test values. It is then possible to correct p-value in different ways: method.permut = 1, it is the empirical distribution of a vector with length of TxP, corrects for the multiple traits tested; method.permut = 2, it is the empirical distribution of a vector with length of MxP, corrects for the multiple genes tested; method.permut = 3, it is empirical distribution of a vector with length of MxTxP, corrects for the multiple traits and genes tested.

See Also

gene.trait.similarity

Examples

Run this code
data(tumors.mRNA)
data(tumors.miRNA)
exp<-tumors.mRNA
trait<-tumors.miRNA
gene.trait.pvalue(EXP=exp[1:10,],trait=trait[1:5,],measure="MI")

Run the code above in your browser using DataLab