When testing for association between a quantitative trait and single nucleotide polymorphisms (SNPs), researchers often detect significant SNPs, but seldom detect significant SNP-SNP interactions. This is partly due to the massive amount of SNP-SNP combinations. We propose to move away from testing interaction terms, and move towards testing whether an individual SNP is involved in any interaction. This reduces the multiple testing burden to one test per SNP, and allows for interactions with unobserved factors. Analysing one SNP at a time, we split the individuals into two groups, based on the number of minor alleles. If the quantitative trait differs in mean between the two groups, the SNP has a main effect. If the quantitative trait differs in distribution between some individuals in one group and all other individuals, it possibly has an interaction effect. We propose a test to detect both types of effects. Implicitly, the posterior probabilities may suggest potential interacting variables. Analysing simulated and experimental data, we show that the proposed test is statistically powerful, maintains the type I error rate, and detects meaningful signals.
The package semisup depends on R >= 3.0.0, and is available from Bioconductor:
if (!requireNamespace("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("semisup")
Alternatively, it can be installed from GitHub. This requires the package devtools:
Please restart R before loading the package and its documentation: