nf-core / nf-core/denovotranscript
Using Trinity with grid_exec
Nobody has claimed this yet.
- Dominant language
- Nextflow
- Stars
- 26
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
Description of the bug
From Isaac:
I'm running this pipeline on a slurm cluster with Singularity and am trying to get set up to use --grid_exec.
If I configure the param for extra trinity args as:
"extra_trinity_args": "--SS_lib_type RF --grid_exec \"sbatch --qos shortq --time 0:29:59 --mem 1GB --cpus-per-task 1\"",
I get the error: bash: line 1: sbatch: command not found .
Reading further, I've seen that it's recommended to use HPCGridRunner to distribute the commands in recursive_trinity.cmds as jobs. I've tried this approach, but get the error (with paths shortened):
*** Dispatching parallel commands to the compute farm:
Friday, January 17, 2025: 16:11:21 CMD: .../hpc_cmds_GridRunner.pl -G .../hpc_conf/SLURM.Monash.conf -c recursive_trinity.cmds
SERVER: m3v117, PID: 24318
FARMIT failed to accept job: sbatch --qos shortq --time 0:29:59 --mem 1GB --cpus-per-task 1 -e .../pooled_reads_trinity/farmit.J24318.m3v117.24318.1737090681/cmds/J24318.S0.sh.stderr -o .../pooled_reads_trinity/farmit.J24318.m3v117.24318.1737090681/cmds/J24318.S0.sh.stdout .../pooled_reads_trinity/farmit.J24318.m3v117.24318.1737090681/cmds/J24318.S0.sh 2>&1
(ret -1)
FARMIT failed to accept job. Will try again shortly.
I thought that the above attempts fail because Trinity is being run within a Singularity container and so sbatch isn't available, but the error message mentioning FARMIT comes from HpcGridRunner - not sure how it'd be reached if the execution environment was inside the container.
I've tried running HpcGridRunner separately on recursive_trinity.cmds and it worked to distribute jobs - but they all failed because they're configured for the path to Trinity inside the container.
I came across these threads with Brian's responses seemingly about this issue, but it's not clear to me if his changes have made it to the current version of Trinity v2.15.2. https://github.com/trinityrnaseq/trinityrnaseq/issues/952 and https://groups.google.com/g/trinityrnaseq-users/c/-DnnDYKe0xo/m/Lp6ZUF-QAwAJ
When we get around to troubleshooting, we're thinking to try using a local Trinity installation paired with skipping the singularity container for that stage/process. That way it should execute in an environment that can submit sbatch
Command used and terminal output
Relevant files
No response
System information
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with recursive_trinity.cmds, hpc_cmds_GridRunner.pl, and hpc_conf/SLURM.Monash.conf, comparing the --grid_exec and HPCGridRunner paths described in the report. Check the Trinity v2.15.2 behavior against issues 952 and the linked user discussion. Done means the documented Singularity or local-installation setup can submit jobs successfully and the distributed commands run with the intended Trinity paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash
- Domain
- bioinformatics, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100