Skip to content

MathieuEmily/GeneGeneInteR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeneGeneInteR

The aim of this package is to propose several methods for testing gene-gene interaction in case-control association studies. Such a test can be done by aggregating SNP-SNP interaction tests performed at the SNP level (SSI) or by using gene-gene multi-dimensionnal methods (GGI) methods. The package also proposes tools for a graphic display of the results.

Installation

To install and load the package in R

library(devtools)
install_github("MathieuEmily/GeneGeneInteR")
library(GeneGeneInteR)

A detailed example

Importation of genotypes with ImportFile function Supported format are pedfile, PLINK, VCF (4.0) file, or genotypes imputed by IMPUTE2.

#### Example of ped format with 17 genes
ped <- system.file("extdata/example.ped", package="GeneGeneInteR")
info <- system.file("extdata/example.info", package="GeneGeneInteR")
posi <- system.file("extdata/example.txt", package="GeneGeneInteR")
dta <- importFile(file=ped, snps=info, pos=posi, pos.sep="\t")

## Importation of the phenotype
resp <- system.file("extdata/response.txt", package="GeneGeneInteR")
Y  <- read.csv(resp, header=FALSE)

Prior to the statistical analysis, dataset can be modified by applying filters to the SNPs (snpMatrixScour function) or by imputing missing genotypes (imputeSnpMatrix function). A subset of genes can also be selected with the select.snps function.

## Filtering of the data: SNPs with MAF < 0.05 or p.value for HWE < 1e-3 are removed. No filtering is applied regarding missing data (call.rate=1).
data <- snpMatrixScour(data$snpX,genes.info = data$genes.info, min.maf = 0.05, min.eq = 1e-3, call.rate = 1)
## Imputation of the missing genotypes
dta <- imputeSnpMatrix(data$snpX,data$genes.info)
## Selection of a subset of 12 genes
dta <- selectSnps(dta$snpX, dta$genes.info, c("bub3","CDSN","Gc","GLRX","PADI1","PADI2","PADI4","PADI6","PRKD3","PSORS1C1","SERPINA1","SORBS1"))

Gene-based gene-gene interaction analysis can be performed by testing each pair of genes in the datatset (function GGI). 10 methods are implemented in the GeneGeneInteR package to test a pair of genes:

  • 6 Gene-Gene multidimensional methods
    • Principal Components Analysis - PCA
    • Canonical Correlation Analysis - CCA
    • Kernel Canonical Correlation Analysis - KCCA
    • Composite Linkage Disequilibrium - CLD
    • Partial Least Square Path Modeling - PLSPM
    • Gene-Based Information Gain Method - GBIGM
  • 4 Gene-Gene interaction methods based on SNP-SNP interaction testing:
    • Minimum p-value test - minP
    • Gene Association Test using Extended Simes procedure - GATES
    • Truncated Tail Strength test - tTS
    • Truncated p-value Product test - tProd .
## Testing for all pair of genes with the CLD method
GGI.res <- GGI(Y=Y, snpX=dta$snpX, genes.info=dta$genes.info,method="CLD")

Visualization of the results can be performed through either a matrix display (GGI.plot) or a network output (draw.network).

## Plot of the results with default values
plot(GGI.res)
## Plot of the results with a threshold and an ordering of the genes.
plot(GGI.res,threshold=0.1,hclust.order=TRUE)

## Example of network with default threshold 0.05
plot(GGI.res,method="network")
## Example of network with threshold 0.01 where genes with no interaction are not plotted (plot.nointer=FALSE)
plot(GGI.res,threshold=0.1,plot.nointer=FALSE,method="network")

About

Bioconductor Package for Gene-Gene Interaction

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published