Skip to content

Feature visualization - #180

Open
KarinSchork wants to merge 22 commits into
devfrom
feature-visualization
Open

Feature visualization#180
KarinSchork wants to merge 22 commits into
devfrom
feature-visualization

Conversation

@KarinSchork

@KarinSchork KarinSchork commented Jul 31, 2026

Copy link
Copy Markdown
Member

Add subworkflow and module for visualization

PR checklist

  • [ x] This comment contains a description of changes (with reason).
  • [x ] 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/macproqc branch on the nf-core/test-datasets repository.
  • [? Freezes at some point ] Make sure your code lints (nf-core pipelines lint).
  • [ x] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • [ x] 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).

@KarinSchork
KarinSchork requested a review from a team July 31, 2026 13:53
@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit c0367db

+| ✅ 208 tests passed       |+
#| ❔   8 tests were ignored |#
!| ❗  21 tests had warnings |!
Details

❗ Test warnings:

  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in nextflow.config: Optionally, you can add a pipeline-specific nf-core config at https://github.com/nf-core/configs
  • pipeline_todos - TODO string in nextflow.config: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0
  • pipeline_todos - TODO string in README.md: If applicable, add a list of additional contributors here
  • pipeline_todos - TODO string in README.md: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file.
  • pipeline_todos - TODO string in awsfulltest.yml: You can customise AWS full pipeline tests as required
  • pipeline_todos - TODO string in main.nf.test: Once you have added the required tests, please run the following command to build this file:
  • pipeline_todos - TODO string in meta.yml: # Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: ##Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: ##Add a description of all of the variables used as output
  • pipeline_todos - TODO string in nextflow.config: Specify any additional parameters here
  • pipeline_todos - TODO string in main.nf: Optionally add in-text citation tools to this list.
  • pipeline_todos - TODO string in main.nf: Optionally add bibliographic entries to this list.
  • pipeline_todos - TODO string in main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
  • pipeline_todos - TODO string in main.nf.test: Add tags for all modules used within this subworkflow. Example:
  • pipeline_todos - TODO string in CONTRIBUTING.md: Add any pipeline specific contribution guidelines here, such as coding styles, procedures, checklists etc.
  • pipeline_todos - TODO string in test_full.config: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA)
  • pipeline_todos - TODO string in test_full.config: Give any required params for the test so that command line flags are not needed
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in base.config: Customise requirements for specific processes.

❔ Tests ignored:

  • files_exist - File is ignored: assets/multiqc_config.yml
  • files_exist - File is ignored: conf/igenomes.config
  • files_exist - File is ignored: conf/igenomes_ignored.config
  • files_unchanged - File ignored due to lint config: assets/sendmail_template.txt
  • files_unchanged - File ignored due to lint config: assets/nf-core-macproqc_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-macproqc_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-macproqc_logo_dark.png
  • multiqc_config - multiqc_config

✅ Tests passed:

Run details

  • nf-core/tools version 4.0.2
  • Run at 2026-08-03 10:33:14

@julianu
julianu force-pushed the feature-visualization branch from c0367db to 811365d Compare August 20, 2026 12:47
@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 4212b44

+| ✅ 206 tests passed       |+
#| ❔  11 tests were ignored |#
#| ❔   1 tests had warnings |#
!| ❗  22 tests had warnings |!
Details

❗ Test warnings:

  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in README.md: If applicable, add a list of additional contributors here
  • pipeline_todos - TODO string in README.md: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file.
  • pipeline_todos - TODO string in CHANGELOG.md: ## v1.0.0dev - [unreleased replace with date on release ]
  • pipeline_todos - TODO string in nextflow.config: Optionally, you can add a pipeline-specific nf-core config at https://github.com/nf-core/configs
  • pipeline_todos - TODO string in nextflow.config: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0
  • pipeline_todos - TODO string in main.nf.test: Once you have added the required tests, please run the following command to build this file:
  • pipeline_todos - TODO string in meta.yml: # Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: ##Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: ##Add a description of all of the variables used as output
  • pipeline_todos - TODO string in main.nf.test: Add tags for all modules used within this subworkflow. Example:
  • pipeline_todos - TODO string in main.nf: Optionally add in-text citation tools to this list.
  • pipeline_todos - TODO string in main.nf: Optionally add bibliographic entries to this list.
  • pipeline_todos - TODO string in main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
  • pipeline_todos - TODO string in nextflow.config: Specify any additional parameters here
  • pipeline_todos - TODO string in awsfulltest.yml: You can customise AWS full pipeline tests as required
  • pipeline_todos - TODO string in CONTRIBUTING.md: Add any pipeline specific contribution guidelines here, such as coding styles, procedures, checklists etc.
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in base.config: Customise requirements for specific processes.
  • pipeline_todos - TODO string in test_full.config: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA)
  • pipeline_todos - TODO string in test_full.config: Give any required params for the test so that command line flags are not needed

❔ Tests ignored:

  • files_exist - File is ignored: assets/multiqc_config.yml
  • files_exist - File is ignored: conf/igenomes.config
  • files_exist - File is ignored: conf/igenomes_ignored.config
  • files_exist - File is ignored: .github/workflows/linting_comment.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/branch.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/linting.yml
  • files_unchanged - File ignored due to lint config: assets/sendmail_template.txt
  • files_unchanged - File ignored due to lint config: assets/nf-core-macproqc_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-macproqc_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-macproqc_logo_dark.png
  • multiqc_config - multiqc_config

❔ Tests fixed:

✅ Tests passed:

Run details

  • nf-core/tools version 4.1.0
  • Run at 2026-08-25 12:17:02

@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

❌ nf-test failed with latest Nextflow version

Note

Tests with Nextflow's latest version failed but it will not cause a CI workflow failure.
Please check if the failure is expected with newer (edge-)releases of Nextflow or if it needs fixing.

  • docker | latest-everything | Shard 4/7

See the full run for details.

@@ -0,0 +1,10 @@
name,sequence,mz,RT,mz-tol,rt-tol
MPCSPIKE1,X[+457.2834],457.2834,5,10 ppm,36000

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.

Maybe as the default we could add something really useful, like iRT peptides (and have a test-dataset with them)?
The MPC spike in peptides can still be used, but only for the respective dataset, IMHO

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.

This would be more of a global thing right? So to use such a data set for all tests?

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.

Yes, this would be a global default. But the peptides right now are rather unknown and very MPC-specific.

Comment thread conf/modules.config Outdated
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
ext.spikein_columns = { params.spikein_columns ?: 'MS1 feature maximum intensity,retention time,count of identified spectra,Delta_to_expected_RT' }
ext.args = {

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.

Using all the arguments as ext.args is a nasty hack, which should be omitted.

Granted, I kind of did this in cometconfig, BUT there is no nice way to pass an argument to a (python) template. Calling a python script and passing the params in the script, as in your visualization module, allows to pass params from teh module to the script, though.

ext.args in this case should rather be used to "pass additional, not mandatory params to the tool" (in your case the python module). But your params seem to be mandatory. So please make these passed params to the module (like teh outputdir), instead of squeezing them into the ext.args.

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.

Done!

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.

Now, you can safely remove the withName: 'QCVISUALIZATION'.. in modules.config, as it uses the default. The outputdir is set by the process-name.

Comment thread modules/local/qcvisualization/environment.yml Outdated
Comment thread modules/local/qcvisualization/main.nf Outdated

conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/YOUR-TOOL-HERE':

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 think you could put the ghcr container here onle - the apptainer-stub shoudl be removed (but not urgent now)

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.

I changed it to how it was done in cometconfig, I hope thats ok

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.

Maybe you missed the push here? It is still there.

But more urgently: please use a running version of the helper Docker container. "latest" is not updated, so the executer uses the "latest it has cached", which can be an old version.

For me, ghcr.io/mpc-bioinformatics/macproqc-helpers:sha-60c25b7 works right now and produces non-empty files.

You also need to update the test-snapshot 😉

Comment thread nextflow_schema.json Outdated
Comment thread nextflow_schema.json Outdated
Comment thread nextflow_schema.json Outdated
Comment thread nextflow_schema.json Outdated
Comment thread nextflow_schema.json Outdated

@julianu julianu 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.

Added a new comment regarding the stub test.

)
}
}
}

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.

Please add a "-stub" test as well.

@julianu julianu 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.

Some more requests for the documentation.

Comment thread docs/usage.md
| `name` | Unique identifier for the spike-in peptide. |
| `sequence` | Proforma peptidoform sequence of the spike-in, including any modifications. |
| `mz` | Expected mass-to-charge ratio (m/z) of the spike-in. |
| `RT` | Expected retention time of the spike-in. |

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.

Please add the unit information.

Comment thread docs/output.md
- [FDR filtering and protein inference](#fdr-filtering-and-protein-inference) — 1 % FDR filter and PIA protein groups _(migrating)_
- [Feature finding](#feature-finding) — isotope feature detection with IDMapper _(migrating)_
- [mzQC output](#mzqc-output) — standardised QC metric export _(migrating)_
- [Visualisation](#visualisation) — interactive Plotly report _(migrating)_

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.

Please update this information and the link

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.

2 participants