Closed kopardev closed 9 months ago
xavier
does something similar but does print version at the bottom line. Also xavier --help
does this:
It complains but also prints the help.
The modules should only be loaded if they're not already in the path and the platform is either biowulf or FRCE.
The version command works when you call the main driver script /renee
directly. The problem is in bin/redirect
(symlinked to bin/renee
), which contains the logic for loading modules and conda envs. I tend to think we should get rid of these bin/
files for both xavier and renee (except for maybe the last line to just call the CLI), and instead handle module stuff within run/dryrun subprocesses in the main driver script. Our nextflow template has a simpler design where there's only one subprocess.run
call that prepends the command with module load
if needed -- much easier to maintain since there's only one place where nextflow gets called (see https://github.com/CCBR/CCBR_NextflowTemplate/blob/da155de02067db79c0c74013840992739b05de90/src/util.py#L193-L208).
Work in progress on branch iss-107
Idea: what if we handle loading modules and the py311 conda env in the ccbrpipeliner
module? This way we don't have to write repetitive and hpc-specific code for each pipeline, when they all require most of the same modules anyway (either snakemake or nextflow plus singularity). Most software typically requires users to figure out how to install dependencies with their preferred method anyway, but keeping it in the ccbrpipeliner module allows our biowulf & frce users the extra ease of use of having those dependencies loaded for them.
Edit: we will implement this in a future release of ccbrpipeliner. https://github.com/CCBR/ccbrpipeliner/issues/36
renee --version
does not print version number on the head node, but tries to load singularity. I understand thatrenee run
etc do require singularity. Butrenee --version
should spit out version without the need to load singularity.On head node:
On interactive node: