diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 0086358..d3e657e 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1 +1,5 @@ blank_issues_enabled: true +contact_links: + - name: Contributing Guidelines + url: https://github.com/Clinical-Genomics/oncorefiner?tab=contributing-ov-file#readme + about: If you would like to contribute to this pipeline, please follow the contributing guidelines. diff --git a/.nf-core.yml b/.nf-core.yml index 07f5253..c88c876 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -14,15 +14,15 @@ lint: - .prettierignore - assets/sendmail_template.txt - docs/README.md + - .github/CONTRIBUTING.md multiqc_config: false nf_core_version: 3.5.2 repository_type: pipeline template: author: Clinical Genomics Stockholm - description: Customizable post-processing and extension layer built on top of Oncoanalyser - that adapts its outputs to clinical and operational needs, adds missing analyses, - and ensures flexibility for evolving standards while retaining Oncoanalyser robust - core + description: Customizable post-processing and extension layer for Oncoanalyser that adapts + its outputs according to clinical and operational needs, adds missing analyses, and + ensures flexibility for evolving standards while retaining Oncoanalyser's robust core. force: false is_nfcore: false name: oncorefiner diff --git a/CHANGELOG.md b/CHANGELOG.md index 843b5eb..f51595e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,43 +9,45 @@ Initial release of Clinical-Genomics/oncorefiner, created with the [nf-core](htt ### `Added` -- Added Ensembl VEP annotation for SNV vcf file [#1](https://github.com/Clinical-Genomics/oncorefiner/pull/1) -- Added VCFANNO annotation for SNV vcf file [#2](https://github.com/Clinical-Genomics/oncorefiner/pull/2) -- Added filtering for SNV vcf file [#3](https://github.com/Clinical-Genomics/oncorefiner/pull/3) -- Added annotation for SV vcf file [#4](https://github.com/Clinical-Genomics/oncorefiner/pull/4) -- Added filtering for SV vcf file [#5](https://github.com/Clinical-Genomics/oncorefiner/pull/5) -- Added small test profile. The related test dataset have been added as a branch called oncorefiner under [Clinical-Genomics/test-datasets](https://github.com/Clinical-Genomics/test-datasets/tree/oncorefiner) [#8](https://github.com/Clinical-Genomics/oncorefiner/pull/8) -- Added CI checks for `Conventional PR title`, `Updated changelog` and `Add PR checklist comment` [#18](https://github.com/Clinical-Genomics/oncorefiner/pull/18) -- Added parameters documentation [#25](https://github.com/Clinical-Genomics/oncorefiner/pull/25) -- Added pre-commit hook for automatic generation of parameters documentation [#25](https://github.com/Clinical-Genomics/oncorefiner/pull/25) -- Added Nextflow strict syntax compatibility [#30](https://github.com/Clinical-Genomics/oncorefiner/pull/30) - -### Changed - -- Updated PR template, PR checklist, feature request template, bug report template and issue template chooser [#24](https://github.com/Clinical-Genomics/oncorefiner/pull/24) -- Updated nf-schema to 2.6.1 [#30](https://github.com/Clinical-Genomics/oncorefiner/pull/30) -- Updated minimum Nextflow version to 25.10.0 [#30](https://github.com/Clinical-Genomics/oncorefiner/pull/30) -- Added wgs-cancer-pipeline projects list in the issue templates [#37](https://github.com/Clinical-Genomics/oncorefiner/pull/37) +- [#1](https://github.com/Clinical-Genomics/oncorefiner/pull/1) Added Ensembl VEP annotation for SNV vcf file. +- [#2](https://github.com/Clinical-Genomics/oncorefiner/pull/2) Added VCFANNO annotation for SNV vcf file. +- [#3](https://github.com/Clinical-Genomics/oncorefiner/pull/3) Added filtering for SNV vcf file. +- [#4](https://github.com/Clinical-Genomics/oncorefiner/pull/4) Added annotation for SV vcf file. +- [#5](https://github.com/Clinical-Genomics/oncorefiner/pull/5) Added filtering for SV vcf file. +- [#8](https://github.com/Clinical-Genomics/oncorefiner/pull/8) Added small test profile. The related test dataset have been added as a branch called oncorefiner under [Clinical-Genomics/test-datasets](https://github.com/Clinical-Genomics/test-datasets/tree/oncorefiner). +- [#18](https://github.com/Clinical-Genomics/oncorefiner/pull/18) Added CI checks for `Conventional PR title`, `Updated changelog` and `Add PR checklist comment`. +- [#25](https://github.com/Clinical-Genomics/oncorefiner/pull/25) Added parameters documentation. +- [#25](https://github.com/Clinical-Genomics/oncorefiner/pull/25) Added pre-commit hook for automatic generation of parameters documentation. +- [#30](https://github.com/Clinical-Genomics/oncorefiner/pull/30) Added Nextflow strict syntax compatibility. + +### `Changed` + +- [#24](https://github.com/Clinical-Genomics/oncorefiner/pull/24) Updated PR template, PR checklist, feature request template, bug report template and issue template chooser. +- [#30](https://github.com/Clinical-Genomics/oncorefiner/pull/30) Updated nf-schema to 2.6.1. +- [#30](https://github.com/Clinical-Genomics/oncorefiner/pull/30) Updated minimum Nextflow version to 25.10.0. +- [#37](https://github.com/Clinical-Genomics/oncorefiner/pull/37) Added wgs-cancer-pipeline projects list in the issue templates. +- [#48](https://github.com/Clinical-Genomics/oncorefiner/pull/48) Updated documentation. ### `Fixed` -- Removed snv_vcf_tbi and sv_vcf_tbi parameter. VCF indexes are now automatically detected [#9](https://github.com/Clinical-Genomics/oncorefiner/pull/9) -- Renamed pipeline from postprocessing to oncorefiner []() -- Fixed linting issues [#20](https://github.com/Clinical-Genomics/oncorefiner/pull/20) -- Fixed nf-test to run a functional default test, and generated a snapshot [#26](https://github.com/Clinical-Genomics/oncorefiner/pull/26) -- Added missing description to bug_report.yml [32](https://github.com/Clinical-Genomics/oncorefiner/pull/32) -- Updated template settings to set organisation to `Clinical-Genomics` and skip unused features `igenomes` and `fastqc` [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35) -- Refactored `genome` parameter to have default value 'GRCh38' and no longer refer to igenomes [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35) -- Updated linting config to fix linting issues and re-added/removed checks for files where nf-core file structure is no longer required [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35) -- Updated template for nf-core/tools version 3.5.2 to apply updated settings and changes missed in previous template update ([14](https://github.com/Clinical-Genomics/oncorefiner/pull/14)) [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35) -- Fixed prepare_references config that was defined but not used [36](https://github.com/Clinical-Genomics/oncorefiner/pull/36) -- Fixed bug and formatting in feature request template [#39](https://github.com/Clinical-Genomics/oncorefiner/pull/39) -- Fixed merge mistake introduced in [#25](https://github.com/Clinical-Genomics/oncorefiner/pull/25) [#41](https://github.com/Clinical-Genomics/oncorefiner/pull/41) -- Added necessary GITHUB_TOKEN permissions for action add_pr_checklist_comment [#42](https://github.com/Clinical-Genomics/oncorefiner/pull/42) -- Updated all modules and removed deprecated `ch_versions` to implement latest nf-core changes that use the `versions` topic channel to collect software versions [#34](https://github.com/Clinical-Genomics/oncorefiner/pull/34) -- Fixed settings for `add_pr_checklist_comment` to allow action to run on a PR originated from a fork [#45](https://github.com/Clinical-Genomics/oncorefiner/pull/45) -- Added `species` parameter to provide information for annotation which was previously hardcoded [#49](https://github.com/Clinical-Genomics/oncorefiner/pull/49) -- Added settings and moved ungrouped parameters to relevant groups [#50](https://github.com/Clinical-Genomics/oncorefiner/pull/50) +- [#9](https://github.com/Clinical-Genomics/oncorefiner/pull/9) Removed snv_vcf_tbi and sv_vcf_tbi parameter. VCF indexes are now automatically detected. +- [#10](https://github.com/Clinical-Genomics/oncorefiner/pull/10) Renamed pipeline from postprocessing to oncorefiner. +- [#20](https://github.com/Clinical-Genomics/oncorefiner/pull/20) Fixed linting issues. +- [#26](https://github.com/Clinical-Genomics/oncorefiner/pull/26) Fixed nf-test to run a functional default test, and generated a snapshot. +- [#32](https://github.com/Clinical-Genomics/oncorefiner/pull/32) Added missing description in bug report template. +- [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35) Updated template settings to set organisation to `Clinical-Genomics` and skip unused features `igenomes` and `fastqc`. +- [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35) Refactored `genome` parameter to have default value 'GRCh38' and no longer refer to igenomes. +- [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35) Updated linting config to fix linting issues and re-added/removed checks for files where nf-core file structure is no longer required. +- [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35) Updated template for nf-core/tools version 3.5.2 to apply updated settings and changes missed in previous template update ([#14](https://github.com/Clinical-Genomics/oncorefiner/pull/14)). +- [36](https://github.com/Clinical-Genomics/oncorefiner/pull/36) Fixed prepare_references config that was defined but not used. +- [#39](https://github.com/Clinical-Genomics/oncorefiner/pull/39) Fixed bug and formatting in feature request template. +- [#41](https://github.com/Clinical-Genomics/oncorefiner/pull/41) Fixed merge mistake in `.nf-core.yml` introduced in previous PR ([#25](https://github.com/Clinical-Genomics/oncorefiner/pull/25)). +- [#42](https://github.com/Clinical-Genomics/oncorefiner/pull/42) Added necessary GITHUB_TOKEN permissions for action add_pr_checklist_comment. +- [#34](https://github.com/Clinical-Genomics/oncorefiner/pull/34) Updated all modules and removed deprecated `ch_versions` to implement latest nf-core changes that use the `versions` topic channel to collect software versions. +- [#45](https://github.com/Clinical-Genomics/oncorefiner/pull/45) Fixed settings for `add_pr_checklist_comment` to allow action to run on a PR originated from a fork. +- [#49](https://github.com/Clinical-Genomics/oncorefiner/pull/49) Added `species` parameter to provide information for annotation which was previously hardcoded. +- [#50](https://github.com/Clinical-Genomics/oncorefiner/pull/50) Added settings and moved ungrouped parameters to relevant groups. +- [#48](https://github.com/Clinical-Genomics/oncorefiner/pull/48) Updated documentation. ### `Dependencies` @@ -53,5 +55,5 @@ Initial release of Clinical-Genomics/oncorefiner, created with the [nf-core](htt ### `Removed` -- Removed CI checks `awstest` and `awsfulltest` [#18](https://github.com/Clinical-Genomics/oncorefiner/pull/18) -- Removed unused parameter `custom_extra_files` [#51](https://github.com/Clinical-Genomics/oncorefiner/pull/51) +- [#18](https://github.com/Clinical-Genomics/oncorefiner/pull/18) Removed CI checks `awstest` and `awsfulltest`. +- [#51](https://github.com/Clinical-Genomics/oncorefiner/pull/51) Removed unused parameter `custom_extra_files`. diff --git a/CITATIONS.md b/CITATIONS.md index 2b87728..4676b71 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -1,18 +1,32 @@ # Clinical-Genomics/oncorefiner: Citations -## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/) +## Nextflow & nf-core -> Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031. +- [Nextflow](https://pubmed.ncbi.nlm.nih.gov/28398311/) -## [Nextflow](https://pubmed.ncbi.nlm.nih.gov/28398311/) + > Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311. -> Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311. +- [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/) + + > Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031. ## Pipeline tools +- [`bcftools`](https://github.com/samtools/bcftools) + + > Danecek P, Bonfield JK, Liddle J, Marshall J, Ohan V, Pollard MO, Whitwham A, Keane T, McCarthy SA, Davies RM, Li H. Twelve years of SAMtools and BCFtools. Gigascience. 2021 Jan 29;10(2):giab008. doi: 10.1093/gigascience/giab008. PubMed PMID: 33590861; PubMed Central PMCID: PMC7931819. + +- [`Ensembl VEP`](https://www.ensembl.org/info/docs/tools/vep/index.html) + + > McLaren W, Gil L, Hunt SE, Riat HS, Ritchie GR, Thormann A, Flicek P, Cunningham F. The Ensembl Variant Effect Predictor. Genome Biology. Jun 6;17(1):122. doi:10.1186/s13059-016-0974-4. PubMed PMID: 27268795; PMCID: PMC4893825. + - [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/) -> Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. + > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. + +- [`Vcfanno`](https://github.com/brentp/vcfanno) + + > Pedersen BS, Layer RM, Quinlan AR. Vcfanno: fast, flexible annotation of genetic variants. Genome Biol. 2016 Jun 1;17(1):118. doi: 10.1186/s13059-016-0973-5. PMID: 27250555; PMCID: PMC4888505. ## Software packaging/containerisation tools diff --git a/.github/CONTRIBUTING.md b/CONTRIBUTING.md similarity index 69% rename from .github/CONTRIBUTING.md rename to CONTRIBUTING.md index 2cf6f3c..06fbb2a 100644 --- a/.github/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,6 +21,46 @@ If you'd like to write some code for Clinical-Genomics/oncorefiner, the standard If you're not used to this workflow with git, you can start with some [docs from GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or even their [excellent `git` resources](https://try.github.io/). +### Pull Requests + +When opening a pull request to suggest changes to the code, please make sure to follow the [Pipeline contribution conventions](#pipeline-contribution-conventions) for the code and to fill in the necessary information in the pull request template as well as address all points in the `PR checklist`. + +#### PR title conventions + +We have implemented a standardised PR title format to make it easier to understand the type of change being proposed at a glance. +Addionally, there is an automated check for every PR that will only allow mergere if the title adheres to one of the following formats: + +- feat: A new feature +- fix: A bug fix +- docs: Documentation only changes +- style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) +- refactor: A code change that neither fixes a bug nor adds a feature +- perf: A code change that improves performance +- test: Adding missing tests or correcting existing tests +- build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) +- ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) +- chore: Other changes that don't modify src or test files +- revert: Reverts a previous commit + +#### Review + +When reviewing a PR, make sure to check that: + +- The code follows the [Pipeline contribution conventions](#pipeline-contribution-conventions). +- The information in the PR (and related issue) is clear and sufficient to understand the change and the motivation for it - title, description and entry in `CHANGELOG.md`, if applicable. +- All the items in the `PR checklist` have been addressed, the changes are well documented and the tests are passing. + +Be positive and constructive in your review, and whenever possible offer suggestions for improvement rather than just pointing out issues. + +## Installation and dependencies for development + +In order to run the pipeline, develop and test your changes locally, we recommend that you set up: + +- A conda environment with `nextflow` and `nf-core` tools. - For this, follow the instructions from the [nf-core documentation](https://nf-co.re/docs/nf-core-tools/installation). Additional information about [Installation of nf-core dependencies](https://nf-co.re/docs/usage/getting_started/installation/) is also available, if needed. +- Install Docker (https://www.docker.com/products/docker-desktop/) and make sure the daemon is running when you want to run the tests locally. + +Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data. + ## Tests You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command: @@ -98,6 +138,13 @@ Please use the following naming schemes, to make it easy to understand what is g If you are using a new feature from core Nextflow, you may bump the minimum required version of nextflow in the pipeline with: `nf-core pipelines bump-version --nextflow . [min-nf-version]` +### Update nf-core template + +Since this is not an nf-core pipeline, the nf-core template is not automatically updated in the `TEMPLATE` branch. Follow these step to update the template: + +1. Update the `TEMPLATE` branch by running `nf-core pipelines sync`. Fix any merge conflicts and open a PR to then merge the changes. +1. Open a PR to merge the `TEMPLATE` branch into `dev` to update the template files in the main codebase. + ### Images and figures For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines). diff --git a/README.md b/README.md index 8245dd3..4891199 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,12 @@ # Clinical-Genomics/oncorefiner +
+