Skip to content

Conversation

@tgelafr-pfzr
Copy link

@tgelafr-pfzr tgelafr-pfzr commented Oct 30, 2025

Address #375.

I chose to enforce that the user manually pass the genome version to keep some sort of front-loaded check on the reference matching the probeset.

Updated tests accordingly.

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!
  • 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.
  • CHANGELOG.md is updated.
@tgelafr-pfzr tgelafr-pfzr force-pushed the bug/375-cellranger-multi-index-mm branch from 840a5f4 to 81cf3be Compare October 30, 2025 15:19
@tgelafr-pfzr tgelafr-pfzr requested a review from Copilot October 30, 2025 18:58

This comment was marked as outdated.

@tgelafr-pfzr tgelafr-pfzr marked this pull request as ready for review October 31, 2025 14:20

This comment was marked as resolved.

Copy link
Contributor

@nictru nictru left a comment

Choose a reason for hiding this comment

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

Looks generally good, just one minor thing

However, I personally can only check if the code is good from an nf-core perspective, as I have never worked with cellranger multi

@nf-core-bot
Copy link
Member

Warning

Newer version of the nf-core template is available.

Your pipeline is using an old version of the nf-core template: 3.4.1.
Please update your pipeline to the latest version.

For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation.

@tgelafr-pfzr tgelafr-pfzr force-pushed the bug/375-cellranger-multi-index-mm branch from 8644c49 to d070f9c Compare December 2, 2025 21:23
Comment on lines +145 to +163
if ( params.gex_frna_probe_set && params.gex_reference_version ) {
def probeset_file = file(params.gex_frna_probe_set)
def probeset_reference = null
probeset_file.withReader { reader ->
String line
while ((line = reader.readLine()) != null) {
if (line.startsWith("#reference_genome=")) {
ref_split = line.split("=")
if (ref_split.size() > 1) {
probeset_reference = ref_split[1].trim()
}
break
}
}
}
if ( probeset_reference != params.gex_reference_version ) {
error "Parameter 'gex_reference_version' (${params.gex_reference_version}) does not match the probeset reference genome (${probeset_reference}). Please ensure the reference genome version matches the probeset file."
}
}
Copy link
Member

Choose a reason for hiding this comment

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

Instead of just checking that the specified gex_reference_version matches the #reference_genome in the probset, would it also work to directly obtain it from there?

That way we would save an additional parameter and it doesn't seem to be used anywhere else.
Or would you see any downsides to this approach?

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