Summary of steps for generation of null distribution and p values. In step 1, an initial data set is generated from the chosen model with n observations (Obs) and p SNPs. In step 2, the case/control status is permuted B times and paired with the original SNPs resulting in B data sets for the null distribution. In step 3, the algorithm is run B times, once for each of the B data sets and the variable importance measure is recorded (VIb, where b = 1, …, B). In step 4, nsim − 1 additional data sets are generated from the chosen model. In step 5, the algorithm is run on each generated data set (with un-permuted labels) and the VIO are recorded. In step 6, the p values for the p-th SNP are calculated by summing the number of times VIpO is greater than the B, VIpb from the null distribution.