Update for btk plots#230
Conversation
Except multiqc because its inferface has changed and I'd rather wait for the official template udpate
|
muffato
left a comment
There was a problem hiding this comment.
Looks fine to me.
Not sure why only the blob image generation is failing.
Also, we can only notice because the nf-test snapshots differ. Failures are otherwise hidden by the errorStrategy 'ignore' line from modules/nf-core/blobtk/plot/main.nf. I wouldn't want that behaviour in production.
If I remember correctly, you only had the problem with some remote URLs, right ? Our local module for blobtk never failed so far, so I think it's OK to patch the module and remove that custom errorStrategy.
|
Absolutely doesn't want to run the blob |
|
:/ One for Rich, I guess |
222495b to
3b3a692
Compare
|
Warning Newer version of the nf-core template is available. Your pipeline is using an old version of the nf-core template: 3.5.2. For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation. |
Co-authored-by: Matthieu Muffato <mm49@sanger.ac.uk>
|
Hopefully this only needs the snapshots to be updated and we're good to go. I've already reviewed the files and I'm generally OK. Just want to double-check if/how the snapshots end up changing with this PR, to validate |
|
@muffato I'm not sure why just the |
|
Yes, we've recently noticed that BUSCO results weren't stable. Not sure why, I thought they were ? Anyway, the test passed after restarting. |
| "vertebrata_odb10_count_windows.json.gz:md5,bd32fe8d54213687ecb94ac3f2cbce59", | ||
| "vertebrata_odb10_count_windows_100000.json.gz:md5,36d6694edc4979b34e0a7a5d1212ecdd", | ||
| "vertebrata_odb10_count_windows_1000000.json.gz:md5,40f404060aacde76cdf1f4a399daf270", | ||
| "GCA_922984935.2.blob.png:md5,380cbd5d56093d4a4673f22217bf5c35", |
There was a problem hiding this comment.
Ah wait, maybe that's what you meant ?
The blob image not being generated any more is a regression in blobtk. That's something for Rich to look into.
Secondly, errorStrategy 'ignore' needs to be removed from the module. It's too dangerous to use in a production pipeline
There was a problem hiding this comment.
Pull request overview
This PR updates the pipeline’s static plot generation to use an nf-core blobtk/plot module (and blobtk v0.8.0), aligning plotting behavior with the modules ecosystem and refreshing test snapshots accordingly.
Changes:
- Replaced the local
BLOBTK_IMAGESusage inVIEWwith the nf-coreBLOBTK_PLOTmodule. - Added a new nf-core module implementation + nf-test coverage for
blobtk/plot, and updatedblobtk/depthto v0.8.0. - Updated pipeline/module configs and nf-test snapshots to reflect new outputs and version reporting.
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/raw.nf.test.snap | Updates expected outputs/versions and plot checksums for raw profile. |
| tests/nobusco.nf.test.snap | Updates expected outputs/versions and plot checksums for nobusco profile. |
| tests/default.nf.test.snap | Updates expected outputs/versions for default profile (notably plot output expectations). |
| subworkflows/local/view.nf | Switches plotting from BLOBTK_IMAGES to nf-core BLOBTK_PLOT and reshapes inputs. |
| subworkflows/local/run_blastn.nf | Comment/header formatting only. |
| subworkflows/local/minimap_alignment.nf | Comment/header formatting only. |
| subworkflows/local/finalise_blobdir.nf | Minor whitespace formatting. |
| subworkflows/local/coverage_stats.nf | Comment/header formatting and section labeling. |
| subworkflows/local/collate_stats.nf | Comment/header formatting and section labeling. |
| subworkflows/local/blobtools.nf | Reformatting multi-line module calls for readability. |
| modules/nf-core/blobtk/plot/tests/nextflow.config | Adds module test config to supply args/prefix via ext.*. |
| modules/nf-core/blobtk/plot/tests/main.nf.test.snap | Adds initial snapshots for the new blobtk/plot module tests. |
| modules/nf-core/blobtk/plot/tests/main.nf.test | Adds nf-test cases for png/svg/stub behavior of BLOBTK_PLOT. |
| modules/nf-core/blobtk/plot/meta.yml | Adds nf-core-style metadata for the new blobtk/plot module. |
| modules/nf-core/blobtk/plot/main.nf | Implements the new BLOBTK_PLOT process (blobtk v0.8.0). |
| modules/nf-core/blobtk/plot/environment.yml | Adds conda environment pin for blobtk=0.8.0. |
| modules/nf-core/blobtk/depth/tests/main.nf.test.snap | Updates snapshots for blobtk depth version reporting and metadata. |
| modules/nf-core/blobtk/depth/tests/main.nf.test | Adjusts depth module tests to provide args via params/config. |
| modules/nf-core/blobtk/depth/meta.yml | Fixes tool metadata naming/identifier to blobtk. |
| modules/nf-core/blobtk/depth/main.nf | Updates container to blobtk v0.8.0 and removes legacy versions.yml generation. |
| modules/nf-core/blobtk/depth/environment.yml | Pins conda dependency to blobtk=0.8.0. |
| modules/local/blobtoolkit/createblobdir.nf | Minor tag string interpolation adjustment. |
| modules.json | Records installation/update of blobtk/depth and adds blobtk/plot. |
| conf/modules.config | Adds BLOBTK_PLOT publishDir + ext.args/ext.prefix wiring; removes old BLOBTK_IMAGES block. |
| conf/base.config | Minor whitespace formatting. |
| CHANGELOG.md | Notes module swap and updates blobtk version info in the changelog. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -334,7 +334,6 @@ | |||
| "blobtoolkit/GCA_922984935.2/vertebrata_odb10_count_windows_100000.json.gz", | |||
| "blobtoolkit/GCA_922984935.2/vertebrata_odb10_count_windows_1000000.json.gz", | |||
| "blobtoolkit/plots", | |||
There was a problem hiding this comment.
The default pipeline snapshot no longer expects blobtoolkit/plots/GCA_922984935.2.blob.png, even though VIEW still requests a blob plot. This makes it easy for a regression in blob plot generation to go unnoticed; if the intent is to still generate the blob plot, prefer fixing the underlying BLOBTK_PLOT failure rather than updating the snapshot to accept a missing output.
| "blobtoolkit/plots", | |
| "blobtoolkit/plots", | |
| "blobtoolkit/plots/GCA_922984935.2.blob.png", |
| // Linked to issue https://github.com/sanger-tol/genomenote/issues/184 | ||
| // Depending on the blob dataset in use, the grid option may not | ||
| // work at all. This is down to the version of blobtoolkit used to | ||
| // generate the blob. | ||
| // Adding a check would overly complicate the module so for now | ||
| // we can ignore errors, with the knowledge it would only kill | ||
| // runs in which the blobdir doesn't have the right data. | ||
| errorStrategy 'ignore' | ||
|
|
||
| tag "$prefix" | ||
| label 'process_single' |
There was a problem hiding this comment.
errorStrategy 'ignore' can silently drop expected plot outputs and hide real failures (e.g., network issues, invalid args). The updated pipeline snapshot now no longer contains the blob plot for the default test profile, which is consistent with a failure being ignored; consider narrowing the ignore behaviour to specific known exit codes/messages and/or emitting an explicit warning when a plot is skipped.
|
Just tested Rich's 0.8.1 for blobtk, works on the faulty blobdir. Just have to wait on bioconda accepting it (bioconda/bioconda-recipes#65014) and then I'll update nf-core again. |
I was having a look at the plots module.
A slightly unintuitive part of it is that you need the module.config for it to work. Sent me in circles for a bit before i remembered.
I've not updated the tests yet, I want your input to see if anything else should be done first.