Skip to content

v0.1.0

Compare
Choose a tag to compare
@shz9 shz9 released this 08 Apr 00:59
· 10 commits to master since this release

A large scale restructuring of the code base to improve efficiency and usability.

Changed

  • Moved plotting script to its own separate module.
  • Updated some method names / commandline flags to be consistent throughout.
  • Updated the VIPRS class to allow for more flexibility in the optimization process.
  • Removed the VIPRSAlpha model for now. This will be re-implemented in the future,
    using better interfaces / data structures.
  • Moved all hyperparameter search classes/models to their own directory.
  • Restructured the viprs_fit commandline script to make the code cleaner,
    do better sanity checking, and introduce process parallelism over chromosomes.

Added

  • Basic integration testing with pytest and GitHub workflows.
  • Documentation for the entire package using mkdocs.
  • Integration testing / automating building with GitHub workflows.
  • New self-contained implementation of E-Step in Cython and C++.
    • Uses OpenMP for parallelism across chunks of variants.
    • Allows for de-quantization on the fly of the LD matrix.
    • Uses BLAS linear algebra operations where possible.
    • Allows model fitting with only
  • Benchmarking scripts (benchmark_e_step.py) to compare computational performance of different implementations.
  • Added functionality to allow the user to track time / memory utilization in viprs_fit.
  • Added OptimizeResult class to keep track of the info/parameters of EM optimization.
  • New evaluation metrics
    • pseudo_metrics has been moved to its own module to allow for more flexibility in evaluation.
    • New evaluation metrics for binary traits: nagelkerke_r2, mcfadden_r2,
      cox_snell_r2 liability_r2, liability_probit_r2, liability_logit_r2.
    • New function to compute standard errors / test statistics for all R-Squared metrics.