Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [#507](https://github.com/nf-core/funcscan/pull/507) Updated to nf-core template v3.5.1 (by @jfy133)
- [#510](https://github.com/nf-core funcscan/pull/510) Fixed code to make Nextflow strict-syntax compliant (by @jfy133)
- [#521](https://github.com/nf-core funcscan/pull/521) Added option to turn on RGI's own cleanup of intermediate files (❤️ to @SamD28 for requesting, added by @jfy133)
- [#519](https://github.com/nf-core/funcscan/pull/519) Added BiG-SLiCE (`bigslice`) as a new BGC clustering tool in the BGC subworkflow. Activated with `--bgc_run_bigslice` and requires `--bgc_bigslice_db`. (by @SkyLexS)
Comment thread
SkyLexS marked this conversation as resolved.
Outdated
- [#528](https://github.com/nf-core/funcscan/pull/528) Updated pipeline template to nf-core/tools version 4.0.2 (by @jfy133)

### `Fixed`

- [#501](https://github.com/nf-core/funcscan/pull/501) Fixed issue with BAKTA HMMs not being staged correctly (reported by Yusuke Hioki, fix by @jfy133)

### `Dependencies`

| Tool | Previous Version | New Version |
| ------- | ---------------- | ----------- |
| dbCAN | | 5.2.9 |
| MultiQC | 1.27 | 1.34 |
| Bakta | 1.10.4 | 1.11.4 |
| Tool | Previous Version | New Version |
| --------- | ---------------- | ----------- |
| dbCAN | | 5.2.9 |
| MultiQC | 1.27 | 1.34 |
| Bakta | 1.10.4 | 1.11.4 |
| BiG-SLiCE | | 2.0.2 |
Comment thread
SkyLexS marked this conversation as resolved.

### `Deprecated`

Expand Down
6 changes: 6 additions & 0 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@

> Schwengers, O., Jelonek, L., Dieckmann, M. A., Beyvers, S., Blom, J., & Goesmann, A. (2021). Bakta: rapid and standardized annotation of bacterial genomes via alignment-free sequence identification. Microbial Genomics, 7(11). [DOI: 10.1099/mgen.0.000685](https://doi.org/10.1099/mgen.0.000685)

- [BiG-SLiCE](https://github.com/medema-group/bigslice)

> Kautsar, S. A., van der Hooft, J. J. J., de Ridder, D., & Medema, M. H. (2021). BiG-SLiCE: A highly scalable tool maps the diversity of 1.2 million biosynthetic gene clusters. GigaScience, 10(1), giaa154. [DOI: 10.1093/gigascience/giaa154](https://doi.org/10.1093/gigascience/giaa154)

> Kautsar, S. A., et al. (2026). BiG-SLiCE 2.0: improved gene cluster family diversity mapping. Nature Communications. [DOI: 10.1038/s41467-026-68733-5](https://doi.org/10.1038/s41467-026-68733-5)

- [comBGC](https://github.com/nf-core/funcscan)

> Frangenberg, J., Fellows Yates, J. A., Ibrahim, A., Perelo, L., & Beber, M. E. (2023). nf-core/funcscan: 1.0.0 - German Rollmops - 2023-02-15. [DOI: 10.5281/zenodo.7643100](https://doi.org/10.5281/zenodo.7643099)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ The nf-core/funcscan AWS full test dataset are contigs generated by the MGnify s
4. Annotation of coding sequences from 3. to obtain general protein families and domains with [`InterProScan`](https://github.com/ebi-pf-team/interproscan)
5. Screening contigs for antimicrobial peptide-like sequences with [`ampir`](https://cran.r-project.org/web/packages/ampir/index.html), [`Macrel`](https://github.com/BigDataBiology/macrel), [`HMMER`](http://hmmer.org/), [`AMPlify`](https://github.com/bcgsc/AMPlify)
6. Screening contigs for antibiotic resistant gene-like sequences with [`ABRicate`](https://github.com/tseemann/abricate), [`AMRFinderPlus`](https://github.com/ncbi/amr), [`fARGene`](https://github.com/fannyhb/fargene), [`RGI`](https://card.mcmaster.ca/analyze/rgi), [`DeepARG`](https://bench.cs.vt.edu/deeparg). [`argNorm`](https://github.com/BigDataBiology/argNorm) is used to map the outputs of `DeepARG`, `AMRFinderPlus`, and `ABRicate` to the [`Antibiotic Resistance Ontology`](https://www.ebi.ac.uk/ols4/ontologies/aro) for consistent ARG classification terms.
7. Screening contigs for biosynthetic gene cluster-like sequences with [`antiSMASH`](https://antismash.secondarymetabolites.org), [`DeepBGC`](https://github.com/Merck/deepbgc), [`GECCO`](https://gecco.embl.de/), [`HMMER`](http://hmmer.org/)
7. Screening contigs for biosynthetic gene cluster-like sequences with [`antiSMASH`](https://antismash.secondarymetabolites.org), [`BiG-SLiCE`](https://github.com/medema-group/bigslice), [`DeepBGC`](https://github.com/Merck/deepbgc), [`GECCO`](https://gecco.embl.de/), [`HMMER`](http://hmmer.org/)
8. Screening contigs for carbohydrate-active enzymes (CAZymes), CAZyme gene clusters and substrates with [run_dbcan](https://github.com/bcb-unl/run_dbcan).
9. Creating aggregated reports for all samples across the workflows with [`AMPcombi`](https://github.com/paleobiotechnology/AMPcombi) for AMPs, [`hAMRonization`](https://github.com/pha4ge/hAMRonization) for ARGs, and [`comBGC`](https://raw.githubusercontent.com/nf-core/funcscan/master/bin/comBGC.py) for BGCs
10. Software version and methods text reporting with [`MultiQC`](http://multiqc.info/)
Expand Down
93 changes: 92 additions & 1 deletion docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,4 +182,95 @@ If you update images or graphics, follow the nf-core [style guidelines](https://

## Pipeline specific contribution guidelines

<!-- TODO nf-core: Add any pipeline specific contribution guidelines here, such as coding styles, procedures, checklists etc. -->
### Pipeline specific conventions

- [ ] Use `nextflow` autoformatter
- [ ] Channel assingment with `=` NOT `.set`
- [ ] Parameter names structure: `<pipelinesection>_<toolname>_<parameter>`
- All components of structure should not have `_`, i.e., they should all be concatenated: `amp_hmmsearch_savealignments` not `amp_hmmsearch_save_alignments`
- Exception: subworkflow specific activation parameters must start with 'run': `run_<pipelinesection>_screening`, e.g. `run_arg_screening`
- Execption: tool specific skipping parameters must use 'skip' in the second position: `<pipelinesection>_skip_<toolname>`, e.g. `amp_skip_macrel`

### Adding new tool workflow

This checklist covers adding a specific tool to an _existing_ screening subworkflow.

> [!NOTE]
> Does not have to be in this precise order

- [ ] Installed modules `nf-core modules install <tool>/<subtool>`
- [ ] Added tools(s) to relevant `subworkflows/local/<screentype>.nf`
- [ ] Added relevant modules at the top using `include` statement
- [ ] Added the tool-specific if/else statement controlled with `params.<screentype>_skip_<toolname>`
- [ ] (Old nf-core module template only) Version channels mixed for every newly module
- [ ] (If applicable) Include auto-database downloading module, if tool needs it
- [ ] (If applicable) Within if/else condition, output channels mixed into the subworkflow's final aggregation/summary tool mix output file for aggregating tool (e.g. hAMRronize, AMPcombi etc.)
- [ ] (If applicable) MultiQC channels mixed
- [ ] Updated `workflows/funcscan.nf`
- [ ] (If applicable) Added new input files via dedicated input channel
- [ ] (If applicable) Added tool specific input control conditions within the screening subworkflow's if/else statement
- [ ] Added parameters and defaults added to `nextflow.config`
- [ ] Added all new parameters following [pipeline-specific conventions](#pipeline-specific conventions)
- [ ] (If applicable) Where possible, include parameter for supplying locally-downloaded database
- [ ] Update `modules.conf`
- [ ] Added `withName:` block
- [ ] Added `ext.args = {}` entry including relevant new pipeline parameters
- [ ] Added `publishDir` placing relevant output files into the screening-subworkflow specific directory with `"${params.outdir}/<screentype>/<toolname>/`
- [ ] If necessary, added any additional pre-execution parameter validation checks at the top of `subworkflows/local/utils_nfcore_funcscan_pipeline.nf` (e.g. for mutually exclusive parameters)
- [ ] Updated Documentation
- [ ] `nf-core pipelines schema build` has been run and updated
- [ ] Checked all tool-specific pipeline parameters moved to the relevant screen type section of schema
- [ ] Checked all tool-specific pipeline parameters have short help text
- [ ] (If appplicable) Checked all tool-specific pipeline parameters have validation checks added (e.g. number range, fixed list etc.)
- [ ] Checked all tool-specific pipeline parameters have long-description with more information, including pointing to original documentation of tool itself
- [ ] (If applicable) Checked all tool-specific pipeline parameters have the `Modifies tool parameter(s)` quote block
- [ ] Added citation to `CITATIONS.md` (citation style: APA 7th edition)
- [ ] Added citation to the toolCitation/BibliographyText functions in `subworkflows/local/utils_nfcore_funcscan_pipeline`
- [ ] Added in-text citation
- [ ] Added bibliography (citation style: APA 7th edition)
- [ ] Added relevant documentation to `usage.md`
- [ ] (If applicable) Added entry in 'Databases and reference files' on how to download databases manually
- [ ] (If applicable) Added entry in 'Notes on screening tools <...>' if specific guidance is needed for execution
- [ ] (If applicable) If new input sample input files (e.g. annotation files) required, updated samplesheet description
- [ ] Described module output in `output.md`
- [ ] Added entry in relevant screening subworkflow section in introduction
- [ ] Added entry in introduction `tree` of whole output directory
- [ ] Added entry in 'Pipeline overview' table of contents
- [ ] Added dedicated 'Tool details' section in relevant subworkflow section including collapsable output list, description of a tool, and (ideally) description what primary output files can be used for
- [ ] Checked all output files specified in the `pattern:` section of `publishDir` are listed if `pattern:` is used, otherwise just all files found in results directory
- [ ] Added entry to 'Pipeline summary list' on `README.md`
- [ ] (Optional) Added to pipeline metro map diagram (can be done just before release)
- [ ] (First time contributor) add or move yourself to the Team list on `README.md`!
- [ ] (First time contributor) add or move yourself to the manifest section of `nextflow.config` as `contributor`
- [ ] (If applicable) On nf-core/test-data: added small test-database on the [funcscan](https://github.com/nf-core/test-datasets/tree/funcscan) branch
- [ ] Added documentation of source and/or how test-data generated/modified
- Updated relevant `conf/test*.conf`
- Specified skipping new tool to `true` in `test_minimal.config`
- (If applicable) Included/adjusted parameters in all relevant test configs
- (If applicable) Added paths to new test database files
- Updated tests
- Added assertions to all output files for each test the tool is executed in
- Updated relevant snapshots with `nf-test --tag <tag> --profile +<docker,conda/apptainer> --update-snapshot`
- Checked assertions stable with `nf-test --tag <tag> --profile +<docker,conda/apptainer>`
- Added entry to `CHANGELOG.md` (note: PR number can be added after)
- Tagged issue reporter/feature requester as well as author of PR

### Adding a new screening subworkflow workflow

Screening subworkflows should

- [ ] Be written as a local subworkflow
- [ ] By default run all tools, and offer skipping of execution
- [ ] Include final emit channels at a minimum including:
- [ ] Versions channel
- [ ] (If any tools supported) MultiQC channel
- [ ] (If aggregation tool exists) include an aggregation tool step

Subworkflows within the primary `workflow/funcscan.nf` file, should

- [ ] Should be imported at the top of the module
- [ ] Have a dedicated if/else statement with running with and without taxonomic classification
- [ ] Should include a empty file filter
- [ ] (If subworkflow includes tools using old nf-core/modules structure) Should include the versions mixing
- [ ] (If applicable) be added to the Annotation if/else statement
- [ ] (If applicable) be included in the MultiQC annotation if/else statement
Binary file modified docs/images/funcscan_metro_workflow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading