15  Managing and Using Software

Author

Marc Carlson, Sean Taylor, Glenn Morton, Jenny Smith, and Lindsay Clark

Published

May 7, 2026

15.1 Overview

On Sasquatch, we’ve adopted a user-centric philosophy for software management. Rather than maintaining a vast collection of pre-installed applications, we maintain a minimal set of common tools while empowering you to manage your own software and dependencies. This approach ensures you have the flexibility to use the exact versions and libraries your research requires, without being constrained by system-wide installations. We encourage you to use tools like modules, mamba, and Singularity containers to effectively build, manage, and maintain your software stack, ensuring a reproducible and efficient workflow. This strategy promotes a more streamlined environment and allows you to tailor your computational setup precisely to your research needs.

15.2 Software solutions

Suppose you would like to run bcftools on Sasquatch. Here are the options you should try, roughly in this order, from easiest to most difficult.

  1. See if it has already been installed on the cluster with lmod. Typing module avail bcftools will show you any modules matching that name. See Section 18.2.

  2. See if there is a container or pipeline provided by the RSC team that already performs your workflow. See Chapter 21 for more information.

  3. Find a publicly available Conda package for the software. See Chapter 18.

  4. Find a publicly available Singularity/Apptainer image, or Docker image for the software. See Section 20.1.

  5. If the software has few or no dependencies and can be installed without sudo (i.e. administrative) access, install it in your home directory. See Chapter 20

  6. Build your own lmod module. See Section 18.3.

  7. Build a new Singularity container and install the software onto it. See Section 20.2.

In subsequent chapters, we will cover how to do each of the above items.