Singularity is a container solution for high-performance computing and research environments. Singularity allows a non-privileged user to "swap out" the operating system on the host for one they control.
This type of container is very useful for scientific because it allows the reproducibility of the result without the dependence of the computer.
If you need a specific software in the cluster like R, you don't need to ask the administrator of the cluster to install it, you can use singularity. You create a Linux image, install R into the image and copy the image on the cluster and run your programme.
You need to have a computer where you have root (administrative) privileges.
In the cluster, you need to modify your ~/.bashrc in order to have access to singularity.
In ~/.bashrc, add the following line in the section user :
# User specific aliases and functionsexport PATH=/soft/singularity/bin:$PATH
Once your container is on the cluster.
submit to Slurm
$ sbatch singularity run /path/to/image
If your container is executable :
$ sbatch ./path/to/image
The website of singularity is here.
The documentation for the creation of your image is here.
Example of image configuration for the execution of python on Ubutun