Containerization with Singularity

The Jackson Laboratory

Online

Mar 5, 2021

9:00 am - 1:00 pm

Instructors: Matt Bradley

Helpers: Jason Macklin, Aaron McDivitt, Richard Yanicky, Sue McClatchy, Dave McKenzie

Some adblockers block the registration window. If you do not see the registration box below, please check your adblocker settings.

General Information

Singularity is a container platform. It allows you to create and run containers that package up pieces of software in a way that is portable and reproducible. You can build a container using Singularity on your laptop, and then run it on many of the largest HPC clusters in the world, local university or company clusters, a single server, in the cloud, or on a workstation down the hall. Your container is a single file, and you don’t have to worry about how to install all the software you need on each different operating system. Singularity is key to research reproducibility.

Who: The course is aimed at graduate students and other researchers. For IT security reasons this course is only open to JAX employees.

Where: This training will take place online. The instructors will provide you with the information you will need to connect to this meeting.

When: Mar 5, 2021. Add to your Google Calendar.

Requirements: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.). They should have a few specific software packages installed (listed below).

Accessibility: We are dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

Contact: Please email susan.mcclatchy@jax.org or matt.bradley@jax.org for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.


Surveys

Please be sure to complete this survey after the workshop.

Post-workshop Survey


Schedule

Friday Mar 5

09:00 Introductions
09:10 Container Basics: What is a container?
09:40 How do I use a container?
10:30 Building containers: the basics
10:45 Building containers: Python
11:00 Morning break
11:20 Building containers: STAR from Source
12:00 Adding a signature to your container
12:15 Using containers in batch jobs
12:45 JaxReg: The JAX Container Registry
12:50 Wrap-up
13:00 END

Setup

To participate in a workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

Install the videoconferencing client

We will use WebEx for this workshop.

Set up your workspace

Like other Carpentries workshops, you will be learning by "coding along" with the Instructors. To do this, you will need to have both the window for the tool you will be learning about (a terminal) and the window for Webex open. In order to see both at once, we recommend using one of the following set up options:

This blog post includes detailed information on how to set up your screen to follow along during the workshop.

The Bash Shell

Bash is a commonly-used shell that gives you the power to do simple tasks more quickly.

  1. Download and install MobaXterm or PuTTY.
  2. If your "HOME" environment variable is not set (or you don't know what this is):
    1. Open command prompt (Open Start Menu then type cmd and press [Enter])
    2. Type the following line into the command prompt window exactly as shown:

      setx HOME "%USERPROFILE%"

    3. Press [Enter], you should see SUCCESS: Specified value was saved.
    4. Quit command prompt by typing exit then pressing [Enter]

The default shell in some versions of macOS is Bash, and Bash is available in all versions, so no need to install anything. You access Bash from the Terminal (found in /Applications/Utilities). See the Git installation video tutorial for an example on how to open the Terminal. You may want to keep Terminal in your dock for this workshop.

To see if your default shell is Bash type echo $SHELL in Terminal and press the enter/return key. If the message printed does not end with '/bash' then your default is something else and you can run Bash by typing bash.

The default shell is usually Bash and there is usually no need to install anything.

To see if your default shell is Bash type echo $SHELL in a terminal and press the enter/return key. If the message printed does not end with '/bash' then your default is something else and you can run Bash by typing bash.