These changes extend the score statistic association test to include the robust variance modification proposed by Derkach et al (2014, DOI: 10.1093/bioinformatics/btu196). The method is currently only available for single SNP association testing of binomial traits, with no provision to include covariates. The test is accessible using -doAsso 4.
A first attempt at extending the Robust Variance Score statistic (Derkach et al, 2014) to include a CAST-style burden test for rare variants. The test is accessible using -doAsso 5, and works for association testing of binomial traits (still without provision for covariates).
Add a -maxMaf flag, allowing sites to be filtered based on a maximum MAF as well as a minimum MAF.
Bug fixes in the binomRVScoreEnvRare method. Add extra detail about the highWT/highHE/highHO split by cases versus controls, for help with troubleshooting.
For rare variant bootstrapping, we need to shift the mean of the expected genotypes for both cases and controls to 0 to perform the resampling (this makes the means of the two groups identical so we can perform the test, but preserves variance differences). Calculate the mean separately for the two groups and use it to re-centre the two vectors.
Allow the user to specify the number of bootstrap samples to generate when performing a rare RVS burden test.
Add a very basic implementation of adaptive permutation for the bootstrap testing in binomRVScoreEnvRare. If -numBootstraps is set to -1, start at 1000 bootstrap samples: every time the resulting CAST-style p-value approaches significance, increase the number of bootstraps by a factor of 10 and repeat (up to 100,000,000 samples). If the p-value is clearly not significant then stop processing this set of variants any further.
Adjust how the binomRVScoreEnvRare method stores the score and variance data to make this more flexible. Previously, only a CAST-style statistic could be calculated: now, we store the whole score vector and covariance matrix to allow other statistics to be used (e.g. C-alpha). It is slightly less efficient, and more memory intensive, but does allow for extensions to be added with greater ease.