-
Notifications
You must be signed in to change notification settings - Fork 20
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
Bundle the jbang-compiled JARs within the docker container and update empty-file usage for cloud storage #46
Conversation
@@ -10,7 +10,7 @@ dependencies: | |||
- r=4.1.0 | |||
- r-rmarkdown=2.11 | |||
- r-ggplot2=3.3.5 | |||
- r-dplyr | |||
- r-dplyr=1.0.9 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NOTE: I had to update this dependency because of the following error
Command error:
Loading required package: rmarkdown
Warning message:
package 'rmarkdown' was built under R version 4.1.2
processing file: gwas_report_template.Rmd
Quitting from lines 30-39 (gwas_report_template.Rmd)
Error: package or namespace load failed for 'ramwas' in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
namespace 'dplyr' 1.0.7 is already loaded, but >= 1.0.9 is required
Execution halted
workflows/nf_gwas.nf
Outdated
//Optional covariates file | ||
if (params.covariates_filename == []) { | ||
covariates_file = [] | ||
} else { | ||
covariates_file = file(params.covariates_filename, checkIfExists: true) | ||
} | ||
|
||
//Optional sample file | ||
sample_file = file(params.regenie_sample_file) | ||
if (params.regenie_sample_file != 'NO_SAMPLE_FILE' && !sample_file.exists()){ | ||
exit 1, "Sample file ${params.regenie_sample_file} not found." | ||
if (params.regenie_sample_file == []) { | ||
sample_file = [] | ||
} else { | ||
sample_file = file(params.regenie_sample_file, checkIfExists: true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NOTE: Changes done to accommodate the empty files on cloud blob storage.
Quick update: As of e580e11, the pipeline is working locally and on cloud.
~/data/projects/nf-gwas$ nextflow -c ../nf-gwas-local.config run main.nf -profile test,docker --outdir custom_results
N E X T F L O W ~ version 22.04.5
Launching `main.nf` [tender_brahmagupta] DSL2 - revision: 6e13e51147
executor > local (16)
[a4/355962] process > NF_GWAS:VALIDATE_PHENOTYPES [100%] 1 of 1 ✔
[6f/abd8ce] process > NF_GWAS:QC_FILTER_GENOTYPED (1) [100%] 1 of 1 ✔
[57/191e01] process > NF_GWAS:REGENIE_STEP1 (1) [100%] 1 of 1 ✔
[98/65f8a9] process > NF_GWAS:REGENIE_LOG_PARSER_STEP1 (1) [100%] 1 of 1 ✔
[2f/4c2139] process > NF_GWAS:REGENIE_STEP2 (example) [100%] 1 of 1 ✔
[92/20dab3] process > NF_GWAS:REGENIE_LOG_PARSER_STEP2 [100%] 1 of 1 ✔
[f6/c5f4be] process > NF_GWAS:FILTER_RESULTS (example_Y2) [100%] 2 of 2 ✔
[1a/c58b92] process > NF_GWAS:MERGE_RESULTS_FILTERED (Y1) [100%] 2 of 2 ✔
[e7/ac8a20] process > NF_GWAS:MERGE_RESULTS (Y1) [100%] 2 of 2 ✔
[86/a00dd6] process > NF_GWAS:ANNOTATE_FILTERED (1) [100%] 2 of 2 ✔
[56/ad0931] process > NF_GWAS:REPORT (1) [100%] 2 of 2 ✔
Pipeline completed at: 2022-08-21T22:06:02.551433621+02:00
Execution status: OK
Completed at: 21-Aug-2022 22:06:02
Duration : 1m 25s
CPU hours : (a few seconds)
Succeeded : 16
$ nextflow -c ../nf-gwas-azure.config run ./main.nf -profile test,docker,azb
N E X T F L O W ~ version 22.08.2-edge
Launching `./main.nf` [hopeful_plateau] DSL2 - revision: 6e13e51147
Uploading local `bin` scripts folder to az://batch-jobs/nf-gwas-workdir/tmp/0a/2a71a0f98537a0cf40df73be97319f/bin
executor > azurebatch (16)
[56/b01abe] process > NF_GWAS:VALIDATE_PHENOTYPES [100%] 1 of 1 ✔
[69/ae0aed] process > NF_GWAS:QC_FILTER_GENOTYPED (1) [100%] 1 of 1 ✔
[06/f22a2a] process > NF_GWAS:REGENIE_STEP1 (1) [100%] 1 of 1 ✔
[b7/e28cf7] process > NF_GWAS:REGENIE_LOG_PARSER_STEP1 (1) [100%] 1 of 1 ✔
[21/83d459] process > NF_GWAS:REGENIE_STEP2 (example) [100%] 1 of 1 ✔
[d5/9e9522] process > NF_GWAS:REGENIE_LOG_PARSER_STEP2 [100%] 1 of 1 ✔
[f3/875964] process > NF_GWAS:FILTER_RESULTS (example_Y2) [100%] 2 of 2 ✔
[75/898d5f] process > NF_GWAS:MERGE_RESULTS_FILTERED (Y2) [100%] 2 of 2 ✔
[22/461918] process > NF_GWAS:MERGE_RESULTS (Y1) [100%] 2 of 2 ✔
[fc/d09a56] process > NF_GWAS:ANNOTATE_FILTERED (2) [100%] 2 of 2 ✔
[7b/ab6d0c] process > NF_GWAS:REPORT (2) [100%] 2 of 2 ✔
Pipeline completed at: 2022-08-21T22:22:16.397925+02:00
Execution status: OK
Completed at: 21-Aug-2022 22:22:16
Duration : 5m 46s
CPU hours : 0.2
Succeeded : 16
I'm finalizing the nf-test related updates - but in the meantime, it'd be great if you could please test the pipeline on your end (with some real data) using this container |
Minor changes to logic required to handle empty files.
Hi guys, |
Awesome! Thanks for writing the pipeline and for your work on nf-test Great to be able to use a well-written pipeline off-the-shelf rather than re-inventing the wheel. Will wait for @abhi18av to confirm that he is happy to merge. Once merged it would be awesome if you are able to push a new container and create a release for us 🙏🏽 |
As a final test for cloud execution, I've successfully 💚 tested the execution again - looks good from my side. Please go ahead with the merge and release 🙏
|
I fixed the test cases which reflects the changes you made in the pipeline. Thanks again!! |
This PR explores the colocation of jbang-compiled jars into the docker container itself, as mentioned in the second suggestion here #45
I'd be happy to give this PR finishing touches, if you agree with the overall direction here.
As of https://github.com/abhi18av/nf-gwas/pull/2/commits/97d075d63fe41569016560713f179a0487aad4ff , this approach is working.
local
executorazure
executor