Monte Carlo randomization tests for large-scale abundance datasets on the GPU
Related Experiment Video
Updated: Jun 12, 2026

A User-friendly and Powerful R Analysis of Large-scale Datasets
Published on: November 4, 2025
John L Van Hemert1, Julie A Dickerson
1Bioinformatics and Computational Biology Program, Iowa State University, Ames, IA 50011, United States. jlv@iastate.edu
Abstract:
Statistical tests are often performed to discover which experimental variables are reacting to specific treatments. Time-series statistical models usually require the researcher to make assumptions with respect to the distribution of measured responses which may not hold. Randomization tests can be applied to data in order to generate null distributions non-parametrically. However, large numbers of randomizations are required for the precise p-values needed to control false discovery rates. When testing tens of thousands of variables (genes, chemical compounds, or otherwise), significant q-value cutoffs can be extremely small (on the order of 10(-5) to 10(-8)). This requires high-precision p-values, which in turn require large numbers of randomizations. The NVIDIA(®) Compute Unified Device Architecture(®) (CUDA(®)) platform for General Programming on the Graphics Processing Unit (GPGPU) was used to implement an application which performs high-precision randomization tests via Monte Carlo sampling for quickly screening custom test statistics for experiments with large numbers of variables, such as microarrays, Next-Generation sequencing read counts, chromatographical signals, or other abundance measurements. The software has been shown to achieve up to more than 12 fold speedup on a Graphics Processing Unit (GPU) when compared to a powerful Central Processing Unit (CPU). The main limitation is concurrent random access of shared memory on the GPU. The software is available from the authors.
Related Concept Videos
Wald-Wolfowitz Runs Test I
The test works...
Randomized Experiments
Simple randomization
Simple...
Wald-Wolfowitz Runs Test II
For binary data, runs are identified using symbols such as + and −, or equivalently, 1s and 0s. In...
Random Sampling Method
Maxwell-Boltzmann Distribution: Problem Solving
This distribution function f(v) is defined by saying that the expected number N (v1,v2) of particles with speeds between v1 and v2 is given by
Quantifying and Rejecting Outliers: The Grubbs Test