Welcome to the Jackson Laboratory introduction to Singularity workshop!
Containerization technologies (Docker, Singularity, etc.) are rapidly becoming an important tool to facilitate and encourage scientific reproducibility, and containers of computational tools and their dependencies are increasingly distributed as digital artifacts alongside manuscript publication. While Docker is the de facto standard for software containerization in cloud computing environments, Singularity is rapidly emerging as the standard for containerization in large scale parallel and distributed computing environments, such as a typical high performance computing cluster at an academic institution. In this tutorial, we will provide an introduction to containerization technologies in general, with a specific focus on Singularity and cover core features of using Singularity to containerize and execute computational biology and bioinformatics applications.
Objectives
- Learn what a software container is and why adoption of containerized applications is increasing.
- Learn what existing, online resources for containers are already available (ex: DockerHub, Singularity-Hub).
- Learn how to navigate and interact with containers from the Linux command line.
- Learn how to build your own containers both using container definition files and from scratch.
- Learn how to leverage containers for your existing scientific workflows.
Prerequisites
Familiarity with BASH shell scripting.
Familiarity with editing text files using programs such as Nano or vi.
If you are attending a scheduled workshop, virtual machine instances will be provided for each attendee. For workshop connection instructions, please click here