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.,
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 [email protected] #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.