Conversation
…kpoint (#139) * Initial plan * Fix vapply missing FUN.VALUE argument in .loadOrComputeParList Co-authored-by: smasongarrison <6001608+smasongarrison@users.noreply.github.com> Agent-Logs-Url: https://github.com/R-Computing-Lab/BGmisc/sessions/93bb6734-9e37-4cd1-b415-9d67049126ca --------- Co-Authored-By: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-Authored-By: smasongarrison <6001608+smasongarrison@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR enhances BGmisc’s pedigree-to-relatedness matrix pipeline by extending ped2com() with chunked transpose support, improved checkpoint/resume behavior, and optional ID subsetting, alongside CI/release automation and associated documentation/test updates.
Changes:
- Extended
ped2com()withtranspose_method = "chunked",chunk_size,keep_ids,force_symmetric, and improved checkpoint/resume logic (including RAM/tcrossprod checkpoint fixes). - Added/expanded test coverage for chunked tcrossprod, checkpoint resumability, and
keep_idsbehavior. - Added GitHub Actions workflows (multi-OS R CMD check, branch/main checks, releases) plus Codecov/pkgdown/config/metadata updates.
Reviewed changes
Copilot reviewed 26 out of 29 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
R/buildComponent.R |
Core implementation updates for chunked transpose, keep-id subsetting, checkpointing/resume, and transpose helper changes. |
R/buildComponentWrappers.R |
Moves ped2com wrappers into a dedicated file and updates wrapper signatures. |
tests/testthat/test-convertPedigree.R |
Updates checkpoint file list to include tcrossprod_ids. |
tests/testthat/test-buildComponent.R |
Adds tests for ram_checkpoint resume and keep_ids subsetting behavior. |
tests/testthat/test-buildComponent_chunks.R |
New tests covering chunked tcrossprod correctness and per-chunk checkpoint/resume behavior. |
man/ped2com.Rd |
Documents new ped2com() arguments/options (generated from roxygen). |
man/dot-computeTranspose.Rd |
Documents updated .computeTranspose() interface (generated from roxygen). |
man/ped2add.Rd |
Updates wrapper documentation for new args (generated). |
man/ped2mit.Rd |
Updates wrapper documentation for new args (generated). |
man/ped2cn.Rd |
Updates wrapper documentation for new args (generated). |
man/ped2gen.Rd |
Updates wrapper documentation for new args (generated). |
man/ped2ce.Rd |
Updates ped2ce() usage to include personID (generated). |
.github/workflows/check_on_different_r_os.yml |
Adds multi-OS/R-version R CMD check workflow. |
.github/workflows/check_on_main.yml |
Adds main-branch checklist-based package check workflow. |
.github/workflows/check_on_branch.yml |
Adds non-main branch checklist-based package check workflow. |
.github/workflows/release.yml |
Adds GitHub release automation on tag pushes / workflow completion. |
codecov.yml |
Adds Codecov configuration (one of two configs added). |
codecov.yaml |
Adds an additional Codecov configuration file (overlaps with codecov.yml). |
_pkgdown.yml |
Updates pkgdown site URL/template settings. |
DESCRIPTION |
Reflows/updates package description and dependency ordering. |
NEWS.md |
Adds a “Development version” section summarizing recent changes. |
.Rbuildignore |
Expands ignored build artifacts/config files (CI/docs/dev files). |
.gitignore |
Expands ignored artifacts (R outputs, docs build outputs, local tooling). |
data-raw/optimizing_transpose.R |
Adds benchmarking script for transpose methods. |
data-raw/ped2com_benchmark_summary.csv |
Updates benchmark summary output. |
data-raw/ped2com_benchmark_results.csv |
Updates benchmark results output. |
data-raw/ped2com_benchmark_design_com.csv |
Adds benchmark design table output. |
data-raw/ped2com_benchmark_start_time.txt |
Updates benchmark run start timestamp. |
data-raw/ped2com_benchmark_end_time.txt |
Updates benchmark run end timestamp. |
Comments suppressed due to low confidence (1)
.github/workflows/check_on_main.yml:20
- The workflow uses
inbo/actions/check_pkg@main, which is a moving branch and can change without notice (affecting reproducibility and supply-chain safety). Prefer pinning to a tagged release or a commit SHA.
steps:
- uses: inbo/actions/check_pkg@main
05de8e9 to
b0b5457
Compare
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
can you fix this? @copilot ❯ checking code files for non-ASCII characters ... WARNING |
…014 escape Co-authored-by: smasongarrison <6001608+smasongarrison@users.noreply.github.com> Agent-Logs-Url: https://github.com/R-Computing-Lab/BGmisc/sessions/1f51ade1-dbed-4745-9e6b-e3b18880f36c
Fixed in d596f0f. Replaced the em dash ( |
Update tests/testthat/test-buildComponent_chunks.R Update tests/testthat/test-buildComponent_chunks.R Co-Authored-By: Copilot <175728472+Copilot@users.noreply.github.com>
a62f43f to
607f609
Compare
8de68e3 to
9ad9f7e
Compare
|
The big change is that we can now create a subsetted pedigree for the additive genetic matrix. |
| if (mz_method %in% c("merging") && mz_twins == TRUE && !is.null(mz_row_pairs) && length(mz_row_pairs) > 0 && | ||
| config$component %in% c("additive")) { | ||
| if (config$mz_method %in% c("merging") && config$mz_twins == TRUE && !is.null(mz_row_pairs) && length(mz_row_pairs) > 0 && | ||
| config$component %in% c("additive")) { |
There was a problem hiding this comment.
| config$component %in% c("additive")) { | |
| config$component %in% c("additive")) { |
| mtSum <- 0 | ||
| count <- 0 | ||
| } else if (config$resume == TRUE && file.exists(checkpoint_files$r_checkpoint) && | ||
| file.exists(checkpoint_files$gen_checkpoint) && |
There was a problem hiding this comment.
| file.exists(checkpoint_files$gen_checkpoint) && | |
| file.exists(checkpoint_files$gen_checkpoint) && |
—replaced with\u2014Unicode escape)📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.