pulver: An R package for parallel ultra-rapid p-value computation for linear regression interaction terms

Sophie Molnos, Clemens Baumbach, Simone Wahl, Martina Müller-Nurasyid, Konstantin Strauch, Rui Wang-Sattler, Melanie Waldenberger, Thomas Meitinger, Jerzy Adamski, Gabi Kastenmüller, Karsten Suhre, Annette Peters, Harald Grallert, Fabian J. Theis, Christian Gieger

Research output: Contribution to journalArticle


Background: Genome-wide association studies allow us to understand the genetics of complex diseases. Human metabolism provides information about the disease-causing mechanisms, so it is usual to investigate the associations between genetic variants and metabolite levels. However, only considering genetic variants and their effects on one trait ignores the possible interplay between different "omics" layers. Existing tools only consider single-nucleotide polymorphism (SNP)-SNP interactions, and no practical tool is available for large-scale investigations of the interactions between pairs of arbitrary quantitative variables. Results: We developed an R package called pulver to compute p-values for the interaction term in a very large number of linear regression models. Comparisons based on simulated data showed that pulver is much faster than the existing tools. This is achieved by using the correlation coefficient to test the null-hypothesis, which avoids the costly computation of inversions. Additional tricks are a rearrangement of the order, when iterating through the different "omics" layers, and implementing this algorithm in the fast programming language C++. Furthermore, we applied our algorithm to data from the German KORA study to investigate a real-world problem involving the interplay among DNA methylation, genetic variants, and metabolite levels. Conclusions: The pulver package is a convenient and rapid tool for screening huge numbers of linear regression models for significant interaction terms in arbitrary pairs of quantitative variables. pulver is written in R and C++, and can be downloaded freely from CRAN at https://cran.r-project.org/web/packages/pulver/.

Original languageEnglish
Article number429
JournalBMC Bioinformatics
Issue number1
Publication statusPublished - 29 Sep 2017



  • Algorithm
  • Linear regression interaction term
  • SNP-CpG interaction
  • Software

ASJC Scopus subject areas

  • Structural Biology
  • Biochemistry
  • Molecular Biology
  • Computer Science Applications
  • Applied Mathematics

Cite this

Molnos, S., Baumbach, C., Wahl, S., Müller-Nurasyid, M., Strauch, K., Wang-Sattler, R., Waldenberger, M., Meitinger, T., Adamski, J., Kastenmüller, G., Suhre, K., Peters, A., Grallert, H., Theis, F. J., & Gieger, C. (2017). pulver: An R package for parallel ultra-rapid p-value computation for linear regression interaction terms. BMC Bioinformatics, 18(1), [429]. https://doi.org/10.1186/s12859-017-1838-y