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.
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")
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
A detailed example
Importation of genotypes with ImportFile function Supported format are pedfile, PLINK, VCF (4.0) file, or genotypes imputed by IMPUTE2.
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.
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:
Visualization of the results can be performed through either a matrix display (GGI.plot) or a network output (draw.network).