Skip to content

Add citations and clean TODOs#1006

Merged
dialvarezs merged 13 commits into
nf-core:devfrom
dialvarezs:todo-cleanup
Mar 30, 2026
Merged

Add citations and clean TODOs#1006
dialvarezs merged 13 commits into
nf-core:devfrom
dialvarezs:todo-cleanup

Conversation

@dialvarezs

Copy link
Copy Markdown
Member

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • If necessary, also make a PR on the nf-core/mag branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

@dialvarezs dialvarezs requested review from Copilot and removed request for d4straub, jfy133, muabnezor and prototaxites March 28, 2026 23:30
@dialvarezs dialvarezs changed the title Add citations and cleanup TODOs Add citations and clean TODOs Mar 28, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates nf-core/mag’s methods reporting and repository scaffolding by removing template TODOs and adding dynamic tool citation/bibliography rendering in the MultiQC methods description.

Changes:

  • Remove leftover nf-core template TODO comments from config, main workflow, and methods template.
  • Implement conditional tool citation and bibliography generation (based on enabled/disabled steps) and render it into the MultiQC methods description.
  • Cleanup CHANGELOG headings by removing empty sections.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/nextflow.config Removes placeholder TODO comments from the test config.
subworkflows/local/utils_nfcore_mag_pipeline/main.nf Adds conditional tool citation + bibliography builders and enables rendering into MultiQC methods text.
main.nf Removes obsolete commented template block about genome parameter values.
assets/methods_description_template.yml Removes template TODO comments in the methods description template.
CHANGELOG.md Removes empty section headings for consistency/cleanliness.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread subworkflows/local/utils_nfcore_mag_pipeline/main.nf Outdated
Comment thread subworkflows/local/utils_nfcore_mag_pipeline/main.nf Outdated
Comment thread subworkflows/local/utils_nfcore_mag_pipeline/main.nf Outdated
Comment thread subworkflows/local/utils_nfcore_mag_pipeline/main.nf Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CITATIONS.md Outdated
Comment thread subworkflows/local/utils_nfcore_mag_pipeline/main.nf Outdated
Comment thread subworkflows/local/utils_nfcore_mag_pipeline/main.nf Outdated
Comment thread CHANGELOG.md

## 5.4.2 Yellow Frog patch [2026-03-31]

### `Added`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally think it's fine to leave empty sections for consistency. But up to you.

@dialvarezs dialvarezs Mar 29, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't like empty sections, to me it feels that I've forgotten something hahaha

]

if (!params.skip_shortread_qc && !params.skip_clipping) {
if (params.clip_tool == 'fastp') {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is very simplistic, for each of these 'sections' I personally would at least have a leading phrase, e.g. 'Preprocessing was performed by...', 'Short-read host removal was carried out with:', 'Processed reads were assembled with'.

The idea of this text is to make a good rough first draft of a methods text someone could copy paste into a methods text of a manuscript (so they do it properly). If you don't have the extra text it's sort of a bit pointless in you could just copy paste citations.md.

Simpleish example: https://github.com/nf-core/funcscan/blob/fa9db018e528ffb5149cdde928e2fa24e7c546fe/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf#L158-L267

More complex example (but my preferred method): https://github.com/nf-core/taxprofiler/blob/3c3fb68033473d723b4e9c6b090ce0f4a6ea185a/subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf#L260-L343:

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair point, I'm going to make a bit more comprehensive.

@jfy133 jfy133 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unable to test myself, but I think looks good except for the one comment

].findAll { tool -> tool != '' }
def text_shortread_qc = "Short read preprocessing was performed with ${shortread_qc_tools.join(', ')}."

def text_mapping = "Read alignment was performed with Bowtie2 (Langmead and Salzberg 2012) and minimap2 (Li 2018)."

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given you can run with only short reads, or only long reads I don't think it makes sense to stick them in one string

}
if (params.host_fasta || params.host_genome || !params.skip_binning || params.ancient_dna || !params.skip_ale) {
references << "<li>Langmead, B. and Salzberg, S. L. 2012 Fast gapped-read alignment with Bowtie 2. Nature methods, 9(4), p. 357–359. doi: 10.1038/nmeth.1923.</li>"
// Note: we don't have a simple way to determine if long reads are present, so we add minimap2 at the same time as Bowtie2

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah I would copy this note above.
Maybe phrasing could be changed to account for this and in a way way thatso can be deleted: 'aligning reads back to assemble was performed with bowtie2 for short reads, with minimap2 for long reads (DELETE AS APPROPRIATE)' or similar

Comment thread subworkflows/local/utils_nfcore_mag_pipeline/main.nf Outdated
Comment thread subworkflows/local/utils_nfcore_mag_pipeline/main.nf Outdated
@dialvarezs dialvarezs merged commit b1e8772 into nf-core:dev Mar 30, 2026
23 checks passed
@dialvarezs dialvarezs mentioned this pull request Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants