SMOG 2 in Singularity


What is Singularity?

Containers are units of software that package up code and all dependencies, so that applications can run quickly and reliably in different computing environments. Singularity is a common container software package that has been designed for use on shared compute clusters. While it can also be installed on personal computers, we have found Docker to be easier for personal usage. If you are using a shared academic resource, there is a good chance that Singularity is already available. Singularity containers for SMOG2 are accessible through the Sylabs SMOG-SERVER page.

How to access SMOG 2 containers for Singularity

If singularity is installed on your computer, the following command will pull the container for the most recent released version of SMOG 2:

>$ singularity pull library://smog-server/library/smog2:stable

If you want to use a different version, then change the tag "stable" to the desired version (e.g. gitversion, v2.4.4, v2.4.5-pre1, etc). The above command will download the container in the form of a Singularity Image Format file: smog2_<tag>.sif

You can also pull any of the SMOG 2 Docker images over to Singularity format, if you find that our Docker Hub repo has a version of interest. For this, you use a command of the following form:

>$singularity pull smog2_stable.sif docker://smogserver/smog2:stable

This will pull the Docker image and save it as the Singularity container file smog2_stable.sif.

Regardless of how you obtain the sif file, the container can be launched for interactive use with:

>$ singularity shell smog2_stable.sif

The only visible difference will be that the command prompt says "Singularity". However, SMOG 2 and all SMOG Tools will be available in your path. Just type "smog2" to get going. For detailed information on SMOG 2 usage, see the SMOG Tutorials page or SMOG 2 manual.

When inside the container, there are a couple files that you can consult to obtain more information about container usage and contents. /opt/smog2/docker/README.docker describes container usage and /opt/containerinfo (only available in some images) has information about the specific contents of the image.

This resource is provided by the Center for Theoretical Biological Physics.
Please direct questions and comments to info@smog-server.org.
Page created and maintained by Jeff Noel and Paul Whitford