Skip to content

Trident validate - #13128

Open
TCLamnidis wants to merge 36 commits into
nf-core:masterfrom
TCLamnidis:trident_validate
Open

TCLamnidis wants to merge 36 commits into
nf-core:masterfrom
TCLamnidis:trident_validate

Conversation

@TCLamnidis

@TCLamnidis TCLamnidis commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

This PR adds a module for trident validate, which validates local packages against the poseidon schema.

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
    • For subworkflows:
      • nf-core subworkflows test <SUBWORKFLOW> --profile docker
      • nf-core subworkflows test <SUBWORKFLOW> --profile singularity
      • nf-core subworkflows test <SUBWORKFLOW> --profile conda

@TCLamnidis

Copy link
Copy Markdown
Contributor Author

Might be worthwhile to also check a failing package in the tests, with workflow.failed.
To do so I would need to edit the downloaded package to make it invalid, but I'm not sure what the best way to do that is.

@TCLamnidis

Copy link
Copy Markdown
Contributor Author

Linting failure:

trident/validate  │ modules/nf-core/trident/validate/main.nf │ main_nf_meta_output: 'meta' map not emitted in output channel(s)    

main_nf_meta_output
If meta is present in the module inputs, it must also appear in at least one output channel.

Should the input not have a meta then?

@SPPearce

Copy link
Copy Markdown
Contributor

Linting failure:

trident/validate  │ modules/nf-core/trident/validate/main.nf │ main_nf_meta_output: 'meta' map not emitted in output channel(s)    

main_nf_meta_output
If meta is present in the module inputs, it must also appear in at least one output channel.

Should the input not have a meta then?

Interesting, the linting is presumably not thinking that this might be a use-case.
I think you should probably be returning some kind of output though, to show whether or not the validation pass.
That can just be the exit code from the tool as a env.

@TCLamnidis

Copy link
Copy Markdown
Contributor Author

I followed the approach in samtools/quickcheck to emit the input meta and package, as well as the exit code of trident validate.

That fixed the linting error. Thanks for the suggestions @SPPearce ^_^

@TCLamnidis
TCLamnidis requested review from SPPearce and a balanced review from Copilot and removed request for Copilot November 3, 2026 13:49
@TCLamnidis TCLamnidis mentioned this pull request Nov 3, 2026
17 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants