Changed
- Fixed bugs in
VIPRSGridSearchandVIPRSBMAmodels, specifically how they were handling_log_var_tau,
and the hyperparameters objects after selecting best models or performing model averaging. - Fixed bug in how
viprs_fithandles validationgdls when the user passes genotype data. - Updated interfaces in
HyperparameterSearchscript to make it more flexible and efficient. Primarily,
I added shared memory object for the LD matrix to avoid redundant memory usage when fitting multiple
models in parallel. (** WORK IN PROGRESS **). - Updated implementation of
pseudo_r2to use square of pseudo correlation coefficient instead. The previous
implementation can be problematic with highly sparsified LD matrices. - Updated implementation of
VIPRSGridto be better integrated with theVIPRSclass. The new implementation
also allows for fitting the grid in apathwisefashion (now default behavior), where we use
parameter estimates from previous grid points as warm-start initialization for the current grid point. - Removed
VIPRSGridSearchandVIPRSBMAclasses for now. These functions are implemented ingrid_utils.pyinstead
and they can be applied generically to anyVIPRSGridmodel.
Added
- Added
viprs-cli-example.ipynbnotebook to demonstrate how to use theviprscommandline interface. - Added documentation page for Downloading LD matrices.
- Added new utility function
combine_coefficient_tablesto combine the output from multiple VIPRS models. - Added more thorough tests for the various models + CLI scripts.
- Added
PeakMemoryProfilertoviprs_fitto more accurately track peak memory usage. Temporary solution,
this will be moved tomagenpylater on. - Added support for splitting GWAS sumstats to training/validation sets and exposed appropriate interfaces
in the base classBayesPRSModel. - Added
IterationConditionCounterclass to keep track of the number of consecutive iterations
where a certain condition is met. This is used to monitors convergence of the optimization routine.