Hello all,
I'm looking for guidance on how to write a non-interactive job script for qiime2. The HPC I have access to uses LSF and docker images, which are both new to me. So far, I have been creating an interactive shell to use qiime2 (I created a .sh file that I submit) and have used the below when submitting the job:
#! /bin/bash
bsub -Is -G [compute-group] -q general-interactive -R 'rusage[mem=16GB]' -a 'docker(quay.io/qiime2/core:2023.2)' /bin/bash
This has worked fine and, if I need to increase RAM, I re-submit with 16GB replaced with 32GB. However, an issue is that this shell has a 24 hour limit and so does the vpn I use to access the HPC. If I wanted to submit a non-interactive job (no time limit unless you specify it) for any qiime2 commands (e.g., dada2
, cutadapt
, etc), how would I write a script for this?
I have seen some write their scripts like this:
#!/bin/bash
##NECESSARY JOB SPECIFICATIONS
#BSUB -J [JobName]
#BSUB -L /bin/bash
#BSUB -R "rusage[mem=32G]"
#BSUB -q general
#BSUB -u name@email.com
#BSUB -B -N
#BSUB -o OutErr.%J
#BSUB -a 'docker(quay.io/qiime2/core:2023.2)'
##EXECUTABLE CODE
What would I put under "Executable Code"? Would it just be the qiime2 command I want to use? Would this also be a .sh file that I submit?
Any help or guidance to resources would be greatly appreciated! Thank you so much.