Skip to content
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

new configuration for using nf-core pipelines at University of Luebeck #592

Merged
merged 13 commits into from
Nov 27, 2023

Conversation

finjasygo
Copy link
Contributor


name: New Config
about: A new cluster config

Please follow these steps before submitting your PR:

  • If your PR is a work in progress, include [WIP] in its title
  • Your PR targets the master branch
  • You've included links to relevant issues, if any

Steps for adding a new config profile:

  • Add your custom config file to the conf/ directory
  • Add your documentation file to the docs/ directory
  • Add your custom profile to the nfcore_custom.config file in the top-level directory
  • Add your custom profile to the README.md file in the top-level directory
  • Add your profile name to the profile: scope in .github/workflows/main.yml

conf/uzl_omics.config Outdated Show resolved Hide resolved
conf/uzl_omics.config Outdated Show resolved Hide resolved
conf/uzl_omics.config Outdated Show resolved Hide resolved
Copy link
Contributor Author

@finjasygo finjasygo left a comment

Choose a reason for hiding this comment

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

Updated the files according to your suggestions.


```bash
module load nextflow
module load singularity
Copy link
Contributor

Choose a reason for hiding this comment

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

Are loaded modules carried through to jobs or should this be in a process.beforeScript as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The modules are carried through. It's not needed in a process.beforeScript


nf-core requires a Nextflow version 22.10.1 or higher, so you have to intall a more recent version first.

For Nextflow versions newer than 23.07.0-edge, it is necessary to explicitly mount the home directory using the command:
Copy link
Contributor

Choose a reason for hiding this comment

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

There seems to be some buggy modules not being happy without a writable $HOME, is this because of this or some other thing?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Without it causes an error at check_samplecheet.py as can seen here
https://nfcore.slack.com/archives/CE8SSJV3N/p1698833301245139
The nextflow version didn't bind the home directory, so there was no access to $HOME/.nextflow/assets/nf-core/rnaseq/bin
It only worked with providing NXF_SINGULARITY_HOME_MOUNT=true

Copy link
Contributor

Choose a reason for hiding this comment

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

It seems I made the last comments there ;)

Was the outcome that the singularity setup was intentionally broken (not allowing mount controls)? I guess that would limit to $HOME if that was the case, but then again, I'd definitely try raising it for a chance to have it fixed first.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Could you please explain what you mean and how we can get it fixed?

The singularity is installed by the HPC maintainers, and we are currently unsure why this problem occurs when we do not explicitly ask to mount $HOME using the global variable NXF_SINGULARITY_HOME_MOUNT.

In our understanding, it is rather a Nextflow related issue, because previous versions (e.g. 22.10.1) of Nextflow worked fine without this variable decoration. Starting from version 23.07.0-edge, nextflow documentation says that the default is set to false when it comes to mounting the home directory.

Copy link
Contributor

Choose a reason for hiding this comment

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

As was mentioned in the slack thread, it is very likely a good idea to reach out to your systems people and let them now that their singularity configuration (disallowing user binds) makes things more difficulty for you.

I obviously don't know how your systems are set up exactly, and maybe everything is under users' home directories - then making sure nextflow doesn't disable home binds would be good enough (although the user experience is lousy as it currently requires setting that environment variable). But obviously that doesn't cover anything run outside of the home directories.

A setup that doesn't have singularity stopping if a bind is provided could use singularity.autoMounts to pass the binds nextflow knows of that would be required (although in some cases with links going back and forth, it might be a good idea to help with specifying some binds explicitly).

So, to sum up, I'd say the singularity configuration is weird if it doesn't allow the user specificying bind mounts (which it seemed from the slack thread), and I'd generally suggest trying to fix that since it breaks a lot of use cases.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We will work on fixing this issue. For now I have edited the documentation file and erased this part, to not cause any conflicts.

docs/uzl_omics.md Outdated Show resolved Hide resolved
@pontus
Copy link
Contributor

pontus commented Nov 21, 2023

Looks much better, but I made a few new comments on the documentation.

Also, the linter still complains on the documentation page, can you please update? (Can e.g. be done with running prettier through docker if you don't want to install it on some system).

Copy link
Contributor Author

@finjasygo finjasygo left a comment

Choose a reason for hiding this comment

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

Fix according to the suggestions. Updated the documentation after running prettier.

Copy link
Contributor Author

@finjasygo finjasygo left a comment

Choose a reason for hiding this comment

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

edited the documentation file


nf-core requires a Nextflow version 22.10.1 or higher, so you have to intall a more recent version first.

For Nextflow versions newer than 23.07.0-edge, it is necessary to explicitly mount the home directory using the command:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We will work on fixing this issue. For now I have edited the documentation file and erased this part, to not cause any conflicts.

Adding a configuration file for the OMICS cluster of the University of Luebeck.
Adding the documentation file uzl_omics.md for the OMICS cluster of the University of Luebeck.
adding custom profile for the University of Luebeck
Adding custom profile for the OMICS cluster of the University of Luebeck
Adding profile name for the OMICS Cluster of the University of Luebeck.
fix nextflow version for home mount in uzi_omics.md
Erasing the unnecessary configuration settings.
For the UzL OMICS cluster it is necessary to be in $WORK directory. After erasing the workDir in the configuration file, it is even more necessary to provide it in the batch-script.
fixed syntax with prettier
Adding the non-mandatory information. After fixing syntax with prettier.
Fix according to the suggestions. Erased that running the pipeline in `$WORK` is necessary.
erasing the part with NXF_SINGULARITY_HOME_MOUNT that causes conflicts
corrected the syntax using prettier
@pontus pontus merged commit 325d2b8 into nf-core:master Nov 27, 2023
109 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants