Changed
- Updated the data type for the index pointer in the
LDMatrixobject to beint64.int32does
not work well for very large datasets with millions of variants and it causes overflow errors. - Updated the way we determine the
pandaschunksize when converting fromplinktables tozarr. - Simplified the way we compute the quantization scale in
model_utils. - Fixed major bug in how LD window thresholds that are passed to
plink1.9are computed. - Fixed in-place
fillnainfrom_plink_tableinLDMatrixto conform to latestpandasAPI. - Update
run_shell_scriptto check for and capture errors. - Refactored code to slightly reduce import/load times.
- Cleaned up
load_datamethod ofLDMatrixand subsumed functionality inload_rows. - Fixed bugs in
match_snp_tables. - Fixed bugs and re-wrote how the
blockLD estimator is computed using both theplinkandxarraybackends. - Updated
from_plink_tablemethod inLDMatrixto handle cases where boundaries are different from what
plinkcomputes. - Fixed bug in
symmetrize_ut_csr_matrixutility functions. - Changed default storage data type for LD matrices to
int16.
Added
- Added extra validation checks in
LDMatrixto ensure that the index pointer is formatted correctly. LDLinearOperatorclass to allow for efficient linear algebra operations on the LD matrix without
representing the full symmetric matrix in memory.- Added utility methods to
LDMatrixclass to allow for computing eigenvalues, performing SVD, etc. - Added
Spectral propertiesto the attributes of LD matrices. - Added support to slice/retrieve entries of LD matrix by using SNP rsIDs.
- Added support to reading LD matrices from AWS s3 storage.
- Added utility method to detect if a file contains header information.
- Added utility method to generate overlapping windows over a sequence.
- Added
compute_extremal_eigenvaluesto allow the user to compute extremal (minimum and maximum) eigenvalues
of LD matrices. - Added the utility function
combine_ld_matricesto allow for combining LD matrices from different sources.