MendelIHT.jl icon indicating copy to clipboard operation
MendelIHT.jl copied to clipboard

Roadmap for future development

Open biona001 opened this issue 5 years ago • 4 comments

Major Features

  • Extend IHT to Cox model.
  • Re-enable GPU computing as once provided by @klkeys.
  • Add option to possibly constrain IHT estimates to specified upper and lower bounds
  • Provide rowmask and colmask keyword telling IHT which samples/columns it is allowed to use
  • Add routines to grab biologically relevant information as input arguments for sparse group projections and knowledge aided projections, as previously investigated by @gdmosher.
  • Consider regularizing the covariance matrix for multivariate IHT

Minor Features:

  • Documentation and unit testing (these will always be a priority).
  • Add routine to handle interaction terms (SNP-SNP or SNP-environment)
  • Test and validate GLM code for Gamma, Inverse Gaussian, and Binomial regression
  • Develop our own fit function for debiasing step. Currently we rely on the fit function in the GLM.jl package which can sometimes suffer unexpected crashes. One solution is to use the glm_regress function in MendelBase.jl
  • Add routines to internally compute, and then use, the top principal components to account for sub-population structure
  • Add option in wrapper functions to possibly work on Float32 matrices instead of always defaulting to Float64

biona001 avatar Apr 25 '19 22:04 biona001

I might be able to help with the Cox model. I'm currently working on a proximal gradient algorithm w/L1 penalization with it.

kose-y avatar Jun 14 '19 00:06 kose-y

After 42f6d2d, IHT now (basically) works on windows machine. Cross-validation cannot automatically delete intermediate files for windows users, but I think that's a weird IO error that Julia base has to deal with....

biona001 avatar Oct 16 '19 20:10 biona001

After https://github.com/OpenMendel/SnpArrays.jl/pull/57 and https://github.com/OpenMendel/SnpArrays.jl/pull/61, it became possible to

  • Run linear algebra directly with a SnpArray (no need to convert to SnpBitMatrix)
  • Run linear algebra on the GPU for Julia 1.4+! A^tx is~30x faster than SnpBitMatrix type.

Linear algebra on SnpBitMatrix is also 3-4x faster than before. Will clean up linear algebra code and add these support.

biona001 avatar Jul 26 '20 20:07 biona001

For binary PLINK files, gradient computations on CPU are parallelized since MendelIHT v1.4.x for both univariate and multivariate IHT. This is achieved internally by SnpLinAlg type of SnpArrays

biona001 avatar Jul 30 '21 07:07 biona001