Software

Environment Modules

Environment modules provide a convenient way of using most of the installed sotfware on the Mantis cluster. Environment modules are a dynamic way to modify your shell environment, allowing you to easily load and unload different software packages, compilers, and libraries without conflicts. They work by setting up the necessary environment variables (like PATH, LD_LIBRARY_PATH, and MANPATH).

Below is a list of commonly used commands, where <module> is the target module.

Module Command Description
module avail Display all available modules.
module load <module> Loads a specific module into environemnt.
module list Show list of currently loaded modules.
module unload <module> Unloads a specific module.
module purge Unloads all loaded modules.

The Mantis cluster uses the Lmod implementation of environment modules.

Compiling software yourself

Some software is pretty easy to install. See this classic softare in population genetics, psmc.

All you have to do to install are the following commands (the instructions are in the README.md file):

# clone the repository
git clone https://github.com/lh3/psmc.git
cd psmc
make; (cd utils; make)

And it should create an executable binary. Some software is slightly more complicated, but still manageable by novice to intermediate users.

Some software, however can be very difficult, with a complex chain of dependencies, in which case we often rely on containerization with Singularity or use isolated environments created with Conda

Singularity

Reproducing environments and managing dependencies is difficult problem. Containerization is a powerful solution, allowing users to package software and its dependencies into a single, portable unit. Singularity is a container platform that is well-suited for HPC environments and can additionally use Docker images (Docker is the other major containerization platform and unavailable on Mantis).

Singularity is in your PATH by default so it can be run without loading a module.

To get an existing container from a repository, you use the command singularity pull <URL>. For example:

singularity pull https://depot.galaxyproject.org/singularity/fastqc:0.12.1--hdfd78af_0

This will create the file fastqc:0.12.1--hdfd78af_0, a singularity image (some image files will have the extension .sif). This containst the package fastqc.

To run a command (e.g. fastqc --help) inside the container, particularly when submitting SLURM batch scripts, you typically you will use singularity exec <container> <command>:

singularity exec fastqc:0.12.1--hdfd78af_0 fastqc --help

You can also start up a shell inside the container and explore interactively with singularity shell <container>.

singularity shell fastqc:0.12.1--hdfd78af_0

See here for a more in-depth tutorial.

Conda

Conda is a popular package and environment management system that allows users to install, run, and update software packages in isolated environments. It is particularly popular for Python users but can be used for R packages and many other languages and tools as well.

See the conda-forge website for documentation on using conda.

For a brief intro on using conda on Mantis, see here

Warning

Some conda commands will utilize all of the available CPU resources for long periods of time on login nodes. This can negatively impact other users on these nodes. Please refrain from running conda install, conda create, or conda update on login nodes. Instead, use an interactive session or a batch job to run these commands. Any long-running, resource-intensive processes running on login nodes may be terminated without notice.

Request Software Installation

Users can request the installation of software by submitting a software request. We can create global environment modules, help you compile something in your home directory, or if you need, help you get a singularity container running or set up conda.

Commercial Software

Together with the HPC admins we help manage the use of software for which we have commercial licenses.

IPA

Ingenuity Pathway Analysis from Qiagen “allows you to “quickly visualize and understand complex ’omics data and perform insightful data analysis and interpretation by placing your experimental results within the context of biological systems”.

Request an account here.

Log in here

Some training materials

Geneious

Geneious is a software package which allows you to run many common bioinformatic workflows in a graphical user interface. It runs on your local machine, not Mantis. Some features:

  • Reference mapping of sequencing data.
  • Alignment and phylogeny estimation.
  • Visualization of the data and analysis.
  • Searching NCBI databases.

We have a floating license with 10 seats (10 users can simultaneously run it).

How to Access Geneious

  1. Request an account here.

  2. Once the request has been approved, connect to the UCHC VPN using Pulse Secure:

    UConn Health CAM VPN Tutorial

  3. Use the following URL to download the client for your computer:
    http://geneious.cam.uchc.edu:8080/GeneiousServer/clients.jsp

  4. Select “Return to Home Page” and select the “Download the Geneious Server bundled plugin file” link on the home page to download the correct plugins.

Installation and Login

  1. Double-click to open the Geneious Prime installation file and follow the prompts to accept license agreement and download

  2. Leave the defaults for the Select Destination Directory window, Select Start Menu Folder window, and Select File Associations window, clicking “Next >” after each one

  3. Click “Finish” to complete installation

  4. Open the Geneious Prime application and click “Activate a License” on the pop-up message

  5. Click “License server” and enter geneious.cam.uchc.edu next to Server and leave the port as default, Enter your email address and click “OK”

  6. You will get a notification that the license has been obtained from the FLEXnet server

  7. Install plugins by double clicking the GeneiousServerbundle.gplugin file

  8. Exit out of Geneious once installation is complete, Re-open to begin analyzing data

Virtual Machines

If you need to run something that requires a virtual machine, you can request one here.