-
Notifications
You must be signed in to change notification settings - Fork 742
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update NORM meta in abundance_differential_filter #7302
update NORM meta in abundance_differential_filter #7302
Conversation
…and limma_norm, and updated test snapshots
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unless I'm missing something (always possible), I think what you're doing here is making the _NORM modules run for EVERY combination of contrasts and matrix etc, rather than just the first contrast.
LIMMA_NORM( | ||
norm_inputs.contrasts.filter{it[0].method == 'limma'}.first(), | ||
norm_inputs.samples_and_matrix.filter{it[0].method == 'limma'} | ||
inputs.contrasts_for_norm.filter{it[0].method == 'limma'}.unique(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Surely this will have LIMMA_NORM run for EVERY contrast?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right! I put norm_inputs back, now it should be fine, it should only compute NORM as many times as unique meta_input have.
The reason I use unique()
instead of first()
is to make sure that the ch_inputs coming with different meta (eg. args) will not be ignored.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, I think we should just lose .first()
, it was a hangover from before our iterations and I should have removed it before. Don't think we need unique
either. The whole idea of the .combine()s
is to generate all the combinations we need.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now the code should be fine! I also added def meta
inside the multimap criteria, because otherwise the two iterations sometimes mix up.
…ithub.com/nf-core/modules into modify_meta_abundance_differential_filter
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good
Just a small change, to use a meta for
deseq2_norm
andlimma_norm
that does not contain contrast info (since they are irrelevant here).PR checklist
Closes #XXX
versions.yml
file.label
nf-core modules test <MODULE> --profile docker
nf-core modules test <MODULE> --profile singularity
nf-core modules test <MODULE> --profile conda
nf-core subworkflows test <SUBWORKFLOW> --profile docker
nf-core subworkflows test <SUBWORKFLOW> --profile singularity
nf-core subworkflows test <SUBWORKFLOW> --profile conda