Skip to content

Commit

Permalink
Updating NEWS
Browse files Browse the repository at this point in the history
  • Loading branch information
pbreheny committed Oct 7, 2024
1 parent 9ba4511 commit 47def9c
Showing 1 changed file with 14 additions and 21 deletions.
35 changes: 14 additions & 21 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,29 @@
# plmmr 3.2.0.0
# plmmr 4.0.0 (2024-10-07)

## Most recent changes

## 3.2.0.0

These changes were borne out of the troubleshooting of the real data analysis elements of my dissertation. This is the version that has a integrated system for analyzing data from in-memory matrices/data frames, delimited files, and PLINK files. Checkout the highlights from these changes below:
# plmmr 3.2.0 (2024-09-02)

- **Major re-structuring of preprocessing pipeline**: Data from external files must now be processed with `process_plink()` or `process_delim()`. All data (including in-memory data) must be prepared for analysis via `create_design()`. This change ensures that data are funneled into a uniform format for analysis.
- **Major re-structuring of preprocessing pipeline:** Data from external files must now be processed with `process_plink()` or `process_delim()`. All data (including in-memory data) must be prepared for analysis via `create_design()`. This change ensures that data are funneled into a uniform format for analysis.

- **bigsnpr now in Suggests, not Imports**: The essential filebacking support is now all done with `bigmemory` and `bigalgebra`. The `bigsnpr` package is used only for processing PLINK files.
- **bigsnpr now in Suggests, not Imports:** The essential filebacking support is now all done with `bigmemory` and `bigalgebra`. The `bigsnpr` package is used only for processing PLINK files.

## 3.1.0
# plmmr 3.1.0 (2024-07-13)

- **Enhancement**: To make `plmmr` have better functionality for writing scripts, the functions `process_plink()`, `plmmm()`, and `cv_plmm()` now write '.log' files each time they are called. The design of these log files is based on the behavior of [PLINK software](https://www.cog-genomics.org/plink/).
- **Enhancement:** To make `plmmr` have better functionality for writing scripts, the functions `process_plink()`, `plmmm()`, and `cv_plmm()` now (optionally) write '.log' files, as in PLINK.

- **Enhancement**: In cases where users are working with large datasets, it may not be practical or desirable for all the results returned by `plmmm()` or `cv_plmm()` to be saved in a single '.rds' file. There is now an option in both of these model fitting functions called 'compact_save', which gives users the option to save the output in multiple, smaller '.rds' files.
- **Enhancement:** In cases where users are working with large datasets, it may not be practical or desirable for all the results returned by `plmmm()` or `cv_plmm()` to be saved in a single '.rds' file. There is now an option in both of these model fitting functions called 'compact_save', which gives users the option to save the output in multiple, smaller '.rds' files.

- **Argument removed**: Previously, the functions `plmmm()` and `cv_plmm()` had an argument 'std_needed' that allowed users to 'turn off' standardization. The more I have worked with this and thought about it, the more I realized that the package isn't mature enough yet to handle this complex, nuanced option. This option has been removed for now -- we may add this back in later.
- **Argument removed:** Argument `std_needed` is no longer available in `plmm()` and `cv_plmm()` functions.

## 3.0.0
# plmmr 3.0.0 (2024-06-27)

- **Bug fix**: As of June 27, 2024, we have addressed some issues with our cross-validation implementation. Previously, we were using all eigenvalues and the estimated $\hat\eta$ in each CV fold -- but this is not consistent with the best practices for CV implementation, as information from outside a given fold should not inform predictions. These best practices are summarized in the *Elements of Statistical Learning* by Hastie et al., section 7.10 (in 2nd edition, available [online](https://hastie.su.domains/Papers/ESLII.pdf) from author).
- **Bug fix:** Cross-validation implementation issues fixed. Previously, the full set of eigenvalues were used inside CV folds, which is not ideal as it involves information from outside the fold. Now, the entire modeling process is cross-validated: the standardization, the eigendecomposition of the relatedness matrix, the model fitting, and the backtransformation onto the original scale for prediction.

As of this update, all modeling steps are carried out in each fold: the standardization, the eigendecomposition of the relatedness matrix, the model fitting, and the backtransformation onto the original scale for prediction. There may be a way to make the eigendecomposition step faster -- this is a question we are actively studying.
- **Computational speedup:** The standardization and rotation of filebacked data are now much faster; `bigalgebra` and `bigmemory` are now used for these computations.

- **Computational speedup**: The standardization and rotation of filebacked data are now much faster; we have moved toward using methods from `bigalgebra` and `bigmemory` for these computations.
- **Internal:** On the standardized scale, the intercept of the PLMM is the mean of the outcome. This derivation considerably simplifies the handling of the intercept internally during model fitting.

- **Methods development** (for the nerds): We have derived that on the standardized scale, the intercept of our PLMM is the mean of the outcome. With this in mind, we have updated the way we handle the intercept in model fitting -- which has made our code in internal functions more 'readable'.
# plmmr 2.2.1 (2024-03-16)


# plmmr 2.2.1

- **Notable changes**

- Changed package name to `plmmr` - note that `plmm()`, `cv_plmm()`, and other functions starting with `plmm_` have not changed names.
- **Name change:** Changed package name to `plmmr`; note that `plmm()`, `cv_plmm()`, and other functions starting with `plmm_` have not changed names.

0 comments on commit 47def9c

Please sign in to comment.