--- title: nf-core/taxprofiler adding new profiler workflow tags: taxprofiler,taxpasta,nf-core,tutorial,checklist --- ![](https://github.com/nf-core/taxprofiler/blob/master/docs/images/nf-core-taxprofiler_logo_custom_light.png?raw=true) > 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)