A job refers to a specific resource allocation by slum, the specifics are definied by the users and what runs in the job also. Running a job can be in one line if simple enough, for example requesting interactive session on a compute node with 8GB RAM, 1 core on 1 node for 30minutes can be done like so,
salloc --nodes=1 --ntasks-per-node=1 --mem=8G --time=00:30:00 -p short
In other use cases, it is better to define a slurm batch script, below is a script prototype.
#!/bin/bash
# Example sbatch script
#SBATCH -J test # Job name
#SBATCH -o /work/<<USERNAME>>/job.%j.out # Name of standard log file (%j expands to jobId)
#SBATCH -e /work/<<USERNAME>>/job.%j.err # Name of error file (%j expands to jobId)
#SBATCH --nodes=1
#SBATCH -n 16 # Total number of threads requested or total number of mpi tasks
#SBATCH --mem=2000 # Maximum amount of memory in Mb the job can use
#SBATCH -t 00:30:00 # Run time ([d-]hh:mm:ss)
#SBATCH --mail-type=ALL # Will send you email notification everytime the status of your job changes
#SBATCH --mail-user=your.email@wur.nl
# Load your software/command
module load CMD/version
# Run your command
CMD [OPTIONS] INPUTS
to submit the job to slurm use the command below, let's assume the sbatch script file is called, my_job.sbatch
sbtach my_job.sbatch
Obviously, the above script will not work if run. It is a simple template to highlight the different parts of a batch script.
The bioinformatics software are not directly installed on the machines but in a separate environment where they can be shared accross all machines. To use them users have to first load them, this is true for interactive or non-interactive jobs.
Use the command module for any software/tools operations.
module list
module avail
module avail <<keyword>>
#OR
module spider <<keyword>>
module load <<MODULENAME/VERSION>>
module unload [module_name/version]
module switch
module purge