Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap for future development #6

Open
biona001 opened this issue Apr 25, 2019 · 4 comments
Open

Roadmap for future development #6

biona001 opened this issue Apr 25, 2019 · 4 comments
Labels
help wanted Extra attention is needed

Comments

@biona001
Copy link
Member

biona001 commented Apr 25, 2019

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 biona001 added the help wanted Extra attention is needed label May 5, 2019
@kose-y
Copy link
Member

kose-y commented Jun 14, 2019

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

@biona001
Copy link
Member Author

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
Copy link
Member Author

biona001 commented Jul 26, 2020

After OpenMendel/SnpArrays.jl#57 and OpenMendel/SnpArrays.jl#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
Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants