-
Notifications
You must be signed in to change notification settings - Fork 4
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
Refactor parameters validation #69
Refactor parameters validation #69
Conversation
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.
It looks good to me. From my stand point you have appropriate data structures and variable assignments, however I recommend a review from @ramprasadn or @jemten for more in-depth look on the code.
Co-authored-by: Peter Pruisscher <[email protected]>
Co-authored-by: Peter Pruisscher <[email protected]>
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.
Nice work! Just a couple of minor comments.
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.
Generally, it's a nice addition to fail early when non compatible options have been given. However I think the maps are a little hard to follow.
Updated the PR @jemten. Split the dependencies map into three separate, and tried to remove much of the "active workflow" vs "--skip" confusion. |
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.
Looks good! So much easier for me to follow 😆
nextflow_cli_args // array: List of positional nextflow CLI args | ||
outdir // string: The output directory where the results will be saved | ||
input // string: Path to input samplesheet | ||
take: |
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.
Looks like the indentation has disappeared for this code block
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.
Fixed.
* Add methylation calls to bedmethyl * Output whatshap stats, and add pipeline presets * Fix mosdepth not running for all samples * Fix methylation sample mix * fix dipcall not working * Add fastq and bam stats * fix dipcall not working * Rework modules and subworkflows to match new-found knowledge about single element channels * Added TRGT for pacbio-data * Fix repeat versions * Fix samtools index publishdirs * Add back --secondary=no to minimap2 align * Fix cramino phased and unphased * Update README.md * Fix dipcall sample name in vcf * Fix trgt container adress * try again to fix trgt container adress * remove TRVZ because it will create too many processes * completely remove TRVZ * update modules conf, missing output files, index bams and fix containers * Fix minimap2 index always using default params * minimap index needs to be built separate for dipcall as well * tweak process requirements * Improve whatshap phasing * Add hiphase * add missing bcftools modules * Add samplesheet, extra_gcvf and extra_snfs validation * update hifiasm * completely remove PED and rely on samplesheet * fix methylation bug * update modkit, removes now unneccesary creation of haplotype bams * Formatting, remove unneccessary inputs * fix leftover flag in pileup * Add skip for phasing and remove more PED references * Simplify sniffles, and put back dipcall par * Update README.md * Add skip for QC * Update hiphase output files * Add hificnv to workflow * nf-download not working.. * add config * Add missing file column to snfs schema * Add hificnv to workflow * nf-download not working.. * add config * Update README.md Remove reference to ped-file * Update README.md * Update align.nf If using BAM-files as input for pbmm2, then don't output those. * Replaces pbmm2 with minimap2, using the nf-core modules * Fix typo * Add missing diff..linting fails because of the container URL, not sure how to fix? * linting working for all but samtools/faidx * Update README.md * Added DeepTrio support (incl. GPU for both DV and DT), trios extractedfrom PED-file * Update README.md * Small clean up. * Add deeptrio, GPU support and fastqc (should get better at keeping features separate) * fix minimap2 singularity version * Added dipcall * Add dipcall as process * Might have messed up git stash * Rewrite fix_trio process in Groovy, add hifiasm-trio and dipcall * Merge updated TEMPLATE * Update modules after TEMPLATE upgrade * More modules fixes to bring it closer to nf-core * Prettier * Replace fix_trio process for deeptrio input * remove nf-core images and add pipeline summary * Update README.md * fix color * Allow to skip either assembly or read_map calling * Update docs * Remove references to non-existing slack * Add tandem-regions and reference back to sniffles + skip snv-calling * reorganise publishdirs * move yak-versions into trio workflow * Fix non-trio hifiasm and add more rememberable skips * Fix dipcall module? * Update genome_assembly.nf * See if this way works * See if this way works-2 * See if this way works-3 * nf-core download would not pull docker image when the container is specified inside single quotes * Update dipcall to use PED-file in non-trio mode * Update base config to better represent needs * Change hifiasm to nf-core module, but make it output lowQ beds as well * add mosdepth * fix dipcall bug * Revert "fix dipcall bug" This reverts commit 36b9768. * Revert "Revert "fix dipcall bug"" - sorry git log This reverts commit 713272e. * Hope to have fixed all dipcall bugs - but need more testing * Change local GLNexus to nf-core module * Make tandem_repeats optional, since it might not be that great? * Update README.md * Add methylation calls to bedmethyl * Output whatshap stats, and add pipeline presets * Fix mosdepth not running for all samples * Fix methylation sample mix * fix dipcall not working * Add fastq and bam stats * fix dipcall not working * Rework modules and subworkflows to match new-found knowledge about single element channels * Added TRGT for pacbio-data * Fix repeat versions * Fix samtools index publishdirs * Add back --secondary=no to minimap2 align * Fix cramino phased and unphased * Fix dipcall sample name in vcf * Update README.md * Fix trgt container adress * try again to fix trgt container adress * remove TRVZ because it will create too many processes * completely remove TRVZ * update modules conf, missing output files, index bams and fix containers * Fix minimap2 index always using default params * minimap index needs to be built separate for dipcall as well * tweak process requirements * Improve whatshap phasing * Add hiphase * add missing bcftools modules * Add samplesheet, extra_gcvf and extra_snfs validation * update hifiasm * completely remove PED and rely on samplesheet * fix methylation bug * update modkit, removes now unneccesary creation of haplotype bams * Formatting, remove unneccessary inputs * fix leftover flag in pileup * Add skip for phasing and remove more PED references * Simplify sniffles, and put back dipcall par * Update README.md * Add skip for QC * Update hiphase output files * Add missing file column to snfs schema * Update README.md Remove reference to ped-file * Annotate variants with one database * Change to list of dbs * Fix anno overwriting input with output * Fix anno output file * Add VEP annotation * Update README and schema etc. * Add 'hack' to be able to run ONT-files in TRGT * Update README * Update README.md * Update README.md * Split alignment for faster processing * Call variants per regions in bed/fai * Extracting regions from extra gVCFs takes too long * Singularity image does not contain jemalloc * Grab correct one * glnexus will load full files into db even with bed * split DV input in 13 instead of n regions in BED * forgot wf * Clean up, remove PMD/DT as snv-callers, and ONT_R9 as preset * Remove index split alignments & update README * Update README * Update README.md * Update README.md * Add grouptuple size so downstream wf's don't have to wait for all samples to complete * pipeline would freeze depending on number of regions specified * better outputdirs for aligned reads * Update docs with pipeline parameters * Update README * Update README.md * Remove nf-core reference * Split module configs * Fix most process outdirs * minimap2 soft-clips supplementary reads by default * update hificnv config * Add expected CN-files (for XX/XY), MAF-vcf and option to use an exclude regions file. Also update HiFiCNV version to v.0.1.7 * Use BED file for mosdepth * Fix mosdepth running without BED * Update samtools_cat_sort_index.nf Fix args bug * Fix sniffles args bug * Update short_variant_calling.config Merged SNV-vcfs output files were misssing * Fix actually skipping CNV workflow is specifying so * Update qc_aligned_reads.nf Fix mosdepth bed input * Update qc_aligned_reads.nf * Update split_bed_chunks.py Sometimes, the BED-output was with decimals. Difference between system? * Update split_bed_chunks.py * Update split_bed_chunks.py Check that BED-file does not contain any spaces instead. * Update README.md * adding codeowners * Add test profile and data (#33) Add small test profile and data, hg38 asset files and code formatting. * Update pipeline to run with a small test dataset (#35) Reduce memory requirements, allow gzipped reference, single sample run and add BED file in modkit. * Template merge 2.13.1 (#38) Merge template version 2.13.1 * Fix bcftools merge (#43) Fix bcftools merge --------- Co-authored-by: Anders Jemt <[email protected]> * Add Revio BAM test data and a multisample-BAM samplesheet (#50) Add BAM test data and a multisample-BAM samplesheet * Add support for uBAM and multisample test (#51) Add ubam support and multisample test * Update usage docs (#53) update usage docs --------- Co-authored-by: Anders Jemt <[email protected]> * use biocontainer for glnexus * change to pacbio registry * run pre-commit * Update CHANGELOG * Fixed mosdepth input channel bug when bedfile is not provided * Update module configs (#65) Update config output directories and add minimal documentation * Fix checking whether input files exist (#67) * Add back files exist check, and fromSamplesheet * Add CNV calling workflow to test profile (#68) * Don't skip cnv calling workflow * Updated CHANGELOG.md * Add SNV annotation test data (#76) * Fix path in snp_dbs.csv (#77) * Refactor parameters validation (#69) * Refactor parateters validation --------- Co-authored-by: Peter Pruisscher <[email protected]> * Add SNV annotation to test profile (#75) * fix version reporting (#84) * Run a single phasing software instead of three in parallel (#83) * Remove leftover print (#88) * Release prep v.0.1.0 (#89) * bump versions * clear changelog * Name change: Skierfe -> Nallo (#39) Co-authored-by: Anders Jemt <[email protected]> * Change testdata location (#91) * move test data * add dummy samplesheet * Update sniffles module (#92) Co-authored-by: Anders Jemt <[email protected]> * update deepvariant module (#93) * Add stubs (#94) * update download pipeline (#95) * Update README.md * Update README.md * Update docs/usage.md * Update docs/usage.md * Update docs/usage.md * Update docs/usage.md * Update docs/usage.md * Delete annotations directory (#97) * Delete assets/test_data directory (#99) * Update download_pipeline.yml (#96) * Update snv_annotation.config (#98) Full size test fails because only `BCFTOOLS_NORM_SINGLESAMPLE` and not `BCFTOOLS_NORM` was actually decomposing variants. * Update conf/modules/structural_variant_calling.config Co-authored-by: Anders Jemt <[email protected]> * Apply suggestions from code review and full test issues (#107) * Add review suggestions + full test changes * Update CODEOWNERS (#112) * Update CODEOWNERS Change the code-owners to the GitHub team. This way we can more easily change the team and not having to update the CODEOWNERS * Fixed org * Update whatshap stats version to avoid ZeroDivisionError (#133) * Update whatshap stats version to avoid ZeroDivisionError * Update release date * Update bcftools merge (#134) * Bump date in changelog * Since sex is now numberic, update branching criteria * Was fixed before, but was overwritten --------- Co-authored-by: Anders Jemt <[email protected]> Co-authored-by: Ram Nanduri <[email protected]> Co-authored-by: Peter Pruisscher <[email protected]> Co-authored-by: Anders Lind <[email protected]>
This is more of a nice to have than need to have. E.g. give an error before starting the pipeline if a
--skip_workflow
is missing, rather than silently not running the workflow. Or give an error before starting the pipeline if a conditionally required file is not set, rather than giving a module error in the run.Maybe this adds unneccesary complexity, but it also removes a lot of if else statements from
workflows/skierfe.nf
.PR checklist
nf-core lint
).nf-test test main.nf.test -profile test,docker
).nextflow run . -profile debug,test,docker --outdir <OUTDIR>
).docs/usage.md
is updated.docs/output.md
is updated.CHANGELOG.md
is updated.README.md
is updated (including new tool citations and authors/contributors).