---
title: nf-core/taxprofiler adding new profiler workflow
tags: taxprofiler,taxpasta,nf-core,tutorial,checklist
---

> Note: does not have to be in this precise order
> [!WARNING]
> Before startring, always make sure you're on a fork and a new branch!
- [x] Installed modules `nf-core modules install <tool>/<subtool>`
- [x] Added profiler to properties in `assets/schema_database.json`
- [x] Added parameters to `nextflow.config`
- [x] Added `--run_<profiler>`
- [x] Added other profiler-specific parameters (outside of `meta.db_params`, e.g. saving optional files [read classifications])
- [ ] Added profiler(s) to `subworkflows/local/profiling.nf`
- [x] Added relevant modules at the top using `include` statement
- [x] Added the tool to the read-database combining section
- [x] Added the tool-specific if/else statement
- [x] Within if/else added `ch_input_for_profiling.profiler` filtering
- [x] Within if/else invoke module(s)
- [x] Within if/else raw profile and classification (if necessary) channels mixed
- [x] Version and MultiQC (if available) channels mixed
- [ ] Update `modules.conf`
- [x] Added `withName:` block
- [x] Added `ext.args = { "${meta.db_params}" }` (no other parameters should be added to this for the actual profiling modules!)
- [x] Added other args for non-profiling modules (outside of `meta.db_params`, e.g. saving optional files [read classifications])
- [x] (Profiling) Added ext.prefix conditional to account for run merging (see other tools)
- [x] (Standardisation) Added `ext.prefix = { "ganon_${meta.id}_combined_reports" }` for native multi-sample tables (i.e. not from taxpasta)
- [x] Added publish dir for the particular profiler + database, with pattern (see other tools)
- [x] Added profiler(s) to `subworkflows/local/standardisation_profiles.nf` if necessary
- [x] Added relevant modules at the top using `include` statement
- [x] Added the tool to the read-database combining section (if necessary)
- [x] Invoke module(s)
- [x] Version and MultiQC (if available) channels mixed
- [x] If necessary, added any profiler-specific parameter validation checks at the top of `taxprofiler.nf`
- [ ] Updated Documentation
- [x] `nf-core pipelines schema build` has been run and updated
- [x] All additional tool specific pipeline parameters have a additional help entry with the `Modifies tool parameter(s)` quote block
- [x] Added citation to `citations.md` (citation style: APA 7th edition)
- [x] Add citation to the toolCitation/BibliographyText functions in `subworkflows/local/utils_nfcore/taxprofiler_pipeline
- [x] Added in-text citation
- [x] Added bibliography (citation style: APA 7th edition)
- [x] Added relevant documentation to `usage.md`
- [x] Entry in example database sheet (full database sheet section)
- [x] Entry in 'Expected' paths bullet points (full database sheet section)
- [x] Entry in 'Classification and profiling' tips section
- [x] Relevant entries in Post Processing section (Visualisation, multi-table generation)
- [x] Entry in 'Building custom databases' `docs/usage/tutorial.md`
- [x] Described module output in `output.md`
- [x] Entry in table of contents
- [x] Entry in results section including tool description, expected output files list, and general tips
- [x] Entry in taxpasta section
- [x] Entry in MultiQC section
- [x] Added to pipeline summary list on `README.md`
- [x] (Optional) Added to pipeline metro map diagram (can be done just before release)
- [ ] If it's your first contribution, add or move yourself to the Team list on `README.md`!
- [x] On nf-core/test-data: updated `database_vX.X.csv` to include the test dataset
- [x] Updated `test*.config`s
- [x] Added `database_vX.X.csv` to all test configs (only once per release with first profiler!)
- [x] Added `run_<profiler>` to test configs (where applicable)
- [x] Test(s) pass
## Outside of pipeline repository
- [x] Make full test database
- [x] See `taxprofiler` branch of test datasets for instructions how to get raw FASTAs
- [x] Test database locally
- [x] Once built and test, upload to iGenomes s3 (Ask James)
- [x] Update `database_full_vX.X.csv` and README to include the new s3 URI and instructions
- [x] Open PR against test-datasets, taxprofiler branch
- [ ] Add a MultiQC module
- [ ] Make a Taxpasta module
- [ ] Add the database building module to nf-core/createtaxdb (where possible)