Skip to content

Adding nf-core sparsesignatures module #8567

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

Open
wants to merge 36 commits into
base: master
Choose a base branch
from

Conversation

Katerina10-cloud
Copy link

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.
  • Emit the versions.yml file.
  • 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

@Katerina10-cloud
Copy link
Author

Due to the large container size and memory limitations in the CI environment, Docker and Singularity profile tests have been skipped. Only the Conda profile is tested in CI.

@SPPearce
Copy link
Contributor

Due to the large container size and memory limitations in the CI environment, Docker and Singularity profile tests have been skipped. Only the Conda profile is tested in CI.

That's unusual, but reasonable. Can you confirm it does pass when using docker/singularity please

@Katerina10-cloud
Copy link
Author

Katerina10-cloud commented May 29, 2025

Due to the large container size and memory limitations in the CI environment, Docker and Singularity profile tests have been skipped. Only the Conda profile is tested in CI.

That's unusual, but reasonable. Can you confirm it does pass when using docker/singularity please

I confirm that all tests pass using the Singularity profile when run locally on my HPC environment. Singularity tests in CI failed due to container pulling issue.
Stub tests pass using the Docker profile, both locally and in CI. However, non-stub Docker test fails consistently due to out-of-memory issue. This seems to stem from the high memory demands of the NMF-based computation in the SparseSignatures process.

@Katerina10-cloud
Copy link
Author

In the latest commit, the Singularity profile test successfully passed in CI. You can check it on Run nf-test/Test | singularity | 13 and 14.

Copy link
Contributor

@SPPearce SPPearce left a comment

Choose a reason for hiding this comment

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

I find it hard to understand what the base R parse_args code does, I'm sure that there is a better way to do that if you have tidyr/dplyr packages included into the container/conda environment.
But presumably it works.

@Katerina10-cloud
Copy link
Author

I find it hard to understand what the base R parse_args code does, I'm sure that there is a better way to do that if you have tidyr/dplyr packages included into the container/conda environment. But presumably it works.

I’ve updated the parse_args function to use dplyr/tidyr functions, as suggested.

@Katerina10-cloud
Copy link
Author

Katerina10-cloud commented Jun 4, 2025

I find it hard to understand what the base R parse_args code does, I'm sure that there is a better way to do that if you have tidyr/dplyr packages included into the container/conda environment. But presumably it works.

I’ve updated the parse_args function to use dplyr/tidyr functions, as suggested.

Coming back to the original parse_args function, what we need to be clearer? When writing this function, we followed the example from the nf-core deseq2/differential module, as recommended in the nf-core guidlines and it appears to work as expected.

Our wondering now is whether the modified version of the function (using dplyr/tidyr) will still work correctly when called from the command line.

@Katerina10-cloud Katerina10-cloud requested review from SPPearce and removed request for mashehu June 5, 2025 21:18
@Katerina10-cloud Katerina10-cloud self-assigned this Jun 6, 2025
@Katerina10-cloud
Copy link
Author

Hi @SPPearce,
I have addressed your comments.
Thank you for your review!

Copy link
Contributor

@SPPearce SPPearce left a comment

Choose a reason for hiding this comment

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

I think this is virtually ready, apologies for not reviewing sooner.

@SPPearce
Copy link
Contributor

Oh, and is it possible to add a test with GRCh37?

@Katerina10-cloud
Copy link
Author

Hi @SPPearce,
I adressed your last comments and added GRCh37 genome test.

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

Successfully merging this pull request may close these issues.

2 participants