Conversation
There was a problem hiding this comment.
Pull request overview
This PR upstreams a set of new gcta nf-core modules covering GRM construction/manipulation and REML / LDMS / LD-score / fastGWA workflows, including corresponding nf-test coverage and pinned software environments.
Changes:
- Added 12 new
modules/nf-core/gcta/*module implementations (main.nf) with containers/conda envs andtopic: versionsemission. - Added module metadata (
meta.yml) and conda environments (environment.yml) for each module. - Added nf-test configs, tests, and snapshots for each new module.
Reviewed changes
Copilot reviewed 72 out of 72 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| modules/nf-core/gcta/addgrms/main.nf | New module process implementation for combining GRMs via MGRM. |
| modules/nf-core/gcta/addgrms/meta.yml | Module interface/IO metadata for gcta_addgrms. |
| modules/nf-core/gcta/addgrms/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/addgrms/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/addgrms/tests/main.nf.test | nf-test definitions for gcta/addgrms. |
| modules/nf-core/gcta/addgrms/tests/main.nf.test.snap | Snapshots for gcta/addgrms tests. |
| modules/nf-core/gcta/adjustgrm/main.nf | New module process implementation for GRM adjustment. |
| modules/nf-core/gcta/adjustgrm/meta.yml | Module interface/IO metadata for gcta_adjustgrm. |
| modules/nf-core/gcta/adjustgrm/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/adjustgrm/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/adjustgrm/tests/main.nf.test | nf-test definitions for gcta/adjustgrm. |
| modules/nf-core/gcta/adjustgrm/tests/main.nf.test.snap | Snapshots for gcta/adjustgrm tests. |
| modules/nf-core/gcta/bivariatereml/main.nf | New module process implementation for bivariate REML with dense GRM. |
| modules/nf-core/gcta/bivariatereml/meta.yml | Module interface/IO metadata for gcta_bivariatereml. |
| modules/nf-core/gcta/bivariatereml/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/bivariatereml/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/bivariatereml/tests/main.nf.test | nf-test definitions for gcta/bivariatereml. |
| modules/nf-core/gcta/bivariatereml/tests/main.nf.test.snap | Snapshots for gcta/bivariatereml tests. |
| modules/nf-core/gcta/bivariateremlldms/main.nf | New module process implementation for bivariate REML-LDMS with MGRM. |
| modules/nf-core/gcta/bivariateremlldms/meta.yml | Module interface/IO metadata for gcta_bivariateremlldms. |
| modules/nf-core/gcta/bivariateremlldms/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/bivariateremlldms/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/bivariateremlldms/tests/main.nf.test | nf-test definitions for gcta/bivariateremlldms. |
| modules/nf-core/gcta/bivariateremlldms/tests/main.nf.test.snap | Snapshots for gcta/bivariateremlldms tests. |
| modules/nf-core/gcta/calculateldscores/main.nf | New module process implementation for LD-score calculation + SNP grouping. |
| modules/nf-core/gcta/calculateldscores/meta.yml | Module interface/IO metadata for gcta_calculateldscores. |
| modules/nf-core/gcta/calculateldscores/environment.yml | Conda environment pinning gcta + r-base. |
| modules/nf-core/gcta/calculateldscores/tests/nextflow.config | Test config (incl. CPU override) + test-datasets base path. |
| modules/nf-core/gcta/calculateldscores/tests/main.nf.test | nf-test definitions for gcta/calculateldscores. |
| modules/nf-core/gcta/calculateldscores/tests/main.nf.test.snap | Snapshots for gcta/calculateldscores tests. |
| modules/nf-core/gcta/fastgwa/main.nf | New module process implementation for GCTA fastGWA (MLM/LR). |
| modules/nf-core/gcta/fastgwa/meta.yml | Module interface/IO metadata for gcta_fastgwa. |
| modules/nf-core/gcta/fastgwa/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/fastgwa/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/fastgwa/tests/main.nf.test | nf-test definitions for gcta/fastgwa. |
| modules/nf-core/gcta/fastgwa/tests/main.nf.test.snap | Snapshots for gcta/fastgwa tests. |
| modules/nf-core/gcta/filtergrmwithkeep/main.nf | New module process implementation for filtering GRM using keep file. |
| modules/nf-core/gcta/filtergrmwithkeep/meta.yml | Module interface/IO metadata for gcta_filtergrmwithkeep. |
| modules/nf-core/gcta/filtergrmwithkeep/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/filtergrmwithkeep/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/filtergrmwithkeep/tests/main.nf.test | nf-test definitions for gcta/filtergrmwithkeep. |
| modules/nf-core/gcta/filtergrmwithkeep/tests/main.nf.test.snap | Snapshots for gcta/filtergrmwithkeep tests. |
| modules/nf-core/gcta/makebksparse/main.nf | New module process implementation for converting dense GRM to sparse GRM. |
| modules/nf-core/gcta/makebksparse/meta.yml | Module interface/IO metadata for gcta_makebksparse. |
| modules/nf-core/gcta/makebksparse/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/makebksparse/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/makebksparse/tests/main.nf.test | nf-test definitions for gcta/makebksparse. |
| modules/nf-core/gcta/makebksparse/tests/main.nf.test.snap | Snapshots for gcta/makebksparse tests. |
| modules/nf-core/gcta/makegrmpart/main.nf | New module process implementation for GRM partition construction. |
| modules/nf-core/gcta/makegrmpart/meta.yml | Module interface/IO metadata for gcta_makegrmpart. |
| modules/nf-core/gcta/makegrmpart/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/makegrmpart/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/makegrmpart/tests/main.nf.test | nf-test definitions for gcta/makegrmpart. |
| modules/nf-core/gcta/makegrmpart/tests/main.nf.test.snap | Snapshots for gcta/makegrmpart tests. |
| modules/nf-core/gcta/reml/main.nf | New module process implementation for univariate REML with dense GRM. |
| modules/nf-core/gcta/reml/meta.yml | Module interface/IO metadata for gcta_reml. |
| modules/nf-core/gcta/reml/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/reml/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/reml/tests/main.nf.test | nf-test definitions for gcta/reml. |
| modules/nf-core/gcta/reml/tests/main.nf.test.snap | Snapshots for gcta/reml tests. |
| modules/nf-core/gcta/remlldms/main.nf | New module process implementation for REML-LDMS with MGRM. |
| modules/nf-core/gcta/remlldms/meta.yml | Module interface/IO metadata for gcta_remlldms. |
| modules/nf-core/gcta/remlldms/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/remlldms/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/remlldms/tests/main.nf.test | nf-test definitions for gcta/remlldms. |
| modules/nf-core/gcta/remlldms/tests/main.nf.test.snap | Snapshots for gcta/remlldms tests. |
| modules/nf-core/gcta/removerelatedsubjects/main.nf | New module process implementation for removing related subjects (GRM cutoff). |
| modules/nf-core/gcta/removerelatedsubjects/meta.yml | Module interface/IO metadata for gcta_removerelatedsubjects. |
| modules/nf-core/gcta/removerelatedsubjects/environment.yml | Conda environment pinning gcta. |
| modules/nf-core/gcta/removerelatedsubjects/tests/nextflow.config | Test config wiring test-datasets base path. |
| modules/nf-core/gcta/removerelatedsubjects/tests/main.nf.test | nf-test definitions for gcta/removerelatedsubjects. |
| modules/nf-core/gcta/removerelatedsubjects/tests/main.nf.test.snap | Snapshots for gcta/removerelatedsubjects tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| output: | ||
| tuple val(meta), path("${meta.id}.hsq"), emit: bivariate_results | ||
| tuple val(meta), path("${meta.id}.log"), emit: log_file | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
| output: | ||
| tuple val(meta), path("${meta.id}_gcta_ld.score.ld"), emit: ld_scores | ||
| tuple val(meta), path("${meta.id}_snp_group1.txt"), path("${meta.id}_snp_group2.txt"), path("${meta.id}_snp_group3.txt"), path("${meta.id}_snp_group4.txt"), emit: snp_group_files | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
modules/nf-core/gcta/reml/main.nf
Outdated
|
|
||
| output: | ||
| tuple val(meta), path("${meta.id}.hsq"), emit: reml_results | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
|
|
||
| output: | ||
| tuple val(meta), path("${meta.id}.hsq"), emit: reml_results | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
modules/nf-core/gcta/addgrms/main.nf
Outdated
|
|
||
| output: | ||
| tuple val(meta), path("${meta.id}.grm.id"), path("${meta.id}.grm.bin"), path("${meta.id}.grm.N.bin"), emit: combined_grm | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
|
|
||
| output: | ||
| tuple val(meta), path("${meta.id}_unrel.grm.id"), path("${meta.id}_unrel.grm.bin"), path("${meta.id}_unrel.grm.N.bin"), emit: filtered_grm | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
|
|
||
| output: | ||
| tuple val(meta), path("${meta.id}_sp.grm.id"), path("${meta.id}_sp.grm.sp"), emit: sparse_grm_files | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
|
|
||
| output: | ||
| tuple val(meta), path("${meta.id}.part_${meta.nparts_gcta}_${meta.part_gcta_job}.grm.id"), path("${meta.id}.part_${meta.nparts_gcta}_${meta.part_gcta_job}.grm.bin"), path("${meta.id}.part_${meta.nparts_gcta}_${meta.part_gcta_job}.grm.N.bin"), emit: grm_files | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
| output: | ||
| tuple val(meta), path("${meta.id}_unrel05.grm.id"), path("${meta.id}_unrel05.grm.bin"), path("${meta.id}_unrel05.grm.N.bin"), emit: grm_files | ||
| tuple val(meta), path("${meta.id}_unrel05.grm.id"), emit: keep_file | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
|
|
||
| output: | ||
| tuple val(meta), path("${meta.id}_adj.grm.id"), path("${meta.id}_adj.grm.bin"), path("${meta.id}_adj.grm.N.bin"), emit: grm_files | ||
| tuple val("${task.process}"), val("gcta"), eval("gcta --version 2>&1 | head -n 1"), emit: versions_gcta, topic: versions |
9b232f6 to
e6f5122
Compare
famosab
left a comment
There was a problem hiding this comment.
Please split this PR into multiple PRs, one per module
Thanks for reviewing. I'll close this one and open PRs for each module. |
|
you can post the individual PRs in the #request-review channel in slack and you will most likely find someone to review them step by step :) |
This PR upstreams 12
gctamodules for GRM construction and manipulation, REML and bivariate REML analyses, LDMS-based REML, LD-score calculation, andfastGWA. The companion shared-data PR is merged upstream: nf-core/test-datasets#1919PR checklist
topic: versions- See version_topicslabelnf-core modules test <MODULE> --profile dockernf-core modules test <MODULE> --profile singularitynf-core modules test <MODULE> --profile condanf-core subworkflows test <SUBWORKFLOW> --profile dockernf-core subworkflows test <SUBWORKFLOW> --profile singularitynf-core subworkflows test <SUBWORKFLOW> --profile conda