Skip to content

Added support for Cleanifier tool: cleanifier/download, cleanifier/index and cleanifier/filter#12360

Open
LeonHornich wants to merge 1 commit into
nf-core:masterfrom
LeonHornich:cleanifier
Open

Added support for Cleanifier tool: cleanifier/download, cleanifier/index and cleanifier/filter#12360
LeonHornich wants to merge 1 commit into
nf-core:masterfrom
LeonHornich:cleanifier

Conversation

@LeonHornich

@LeonHornich LeonHornich commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

With this PR I want to add support for the Cleanifier tool for species contamination removal. There are 3 added modules: download, index and filter.

Unfortunately I am still experiencing some issues with nf-test snapshot stability. If anyone has an idea on how to fix them i'd very much appreciate that. Of course other feedback is also highly appreciated.

PR checklist

Closes #XXX

  • 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 module conventions in the contribution docs
  • If necessary, include test data in your PR.
  • Remove all TODO statements.
  • Broadcast software version numbers to topic: versions - See version_topics
  • Follow the naming conventions.
  • Follow the parameters requirements.
  • Follow the input/output options guidelines.
  • Add a resource label
  • Use BioConda and BioContainers if possible to fulfil software requirements.
  • Ensure that the test works with either Docker / Singularity. Conda CI tests can be quite flaky:
    • For modules:
      • nf-core modules test <MODULE> --profile docker
      • nf-core modules test <MODULE> --profile singularity
      • nf-core modules test <MODULE> --profile conda

@famosab

famosab commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

I would suggest to split this up into one PR by subtool / command :) regarding the md5sum instability I will add a comment

@famosab famosab left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I added a few hints :)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We want the ext.args to be present in the main.nf.test file. That makes everything more readable in one go. See the module specifications for more info.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

You can run

nextflow lint -format -sort-declarations -spaces 4 -harshil-alignment

on this file to clean this up nicely.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please remove this file :)

@@ -0,0 +1,5 @@
process {
withName: CLEANIFIER_INDEX {
ext.args = "-k 31"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We want the ext.args to be present in the main.nf.test file. That makes everything more readable in one go. See the module specifications for more info.

"""
}
}

then {
assertAll(
{ assert process.success },
{ assert snapshot(sanitizeOutput(process.out)).match() }
{ assert snapshot(process.out).match() }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I would just first assert the txt content of the filter output and then we can probably see why the md5sum is instable

Suggested change
{ assert snapshot(process.out).match() }
{ assert snapshot(
path(process.out.filter[0][1]).readLines(),
process.out.info,
process.out.findAll { key, val -> key.startsWith("versions") },
).match() }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new module Adding a new module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants