Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Lmod is a powerful piece of software that ARCC leverages for managing dynamic user environments and access to complicated software stacks. Our configuration of Lmod uses a hierarchy for the organization of software that starts with compilers. Compilers are central to nearly all software installed on Teton. The supported compilers are Intel, GCC, and PGI. There are however some packages that are compiler-independent.

Searching for Modules

Excerpt
nameSearching Modules

Module spider

The spider subcommand is a great search tool to find out if the software package has been installed as a system package. From the command line, run the module spider command to output a list of the available software for the entire system:

Code Block
$ module spider

To search for specific packages and/or versions, you can supply the names/arguments to the command:

Code Block
 $ module spider samtools 

If there is only one version, the output will contain information regarding which compilers are required to be loaded before the package can be loaded as well as provide a brief segment on the help of the module. If there are multiple versions available, the output contains which versions are available and instructions to get more information on the individual version. To get information regarding a specific version of the package, include the version as part of the argument:

Code Block
 $ module spider samtools/1.6 

There are opportunities to use regular expressions to search for modules. See output from module help for more information.

Example

The general process for all apps you might want to load is:

  1. Find versions.

  2. Find a version’s dependencies.

  3. Check what is already loaded and what is missing.

  4. Load required (missing) dependencies.

  5. Load application.

Code Block
# Find versions of samtools
[@blog2 ~]$ module spider samtools
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  samtools:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     Versions:
        samtools/1.14
        samtools/1.16.1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  For detailed information about a specific "samtools" package (including how to load the modules) use the module's full name.
  Note that names that have a trailing (E) are extensions provided by other modules.
  For example:
     $ module spider samtools/1.16.1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

# Does samtools/1.16.1 have any dependencies that need to be loaded first?
[@blog2 ~]$ module spider samtools/1.16.1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  samtools: samtools/1.16.1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    You will need to load all module(s) on any one of the lines below before the "samtools/1.16.1" module is available to load.
      arcc/1.0  gcc/12.2.0
    Help:
      SAM Tools provide various utilities for manipulating alignments in the
      SAM format, including sorting, merging, indexing and generating
      alignments in a per-position format

# Check what is already loaded?
# In this arcc/1.0 is loaded by default whenever a new session is started.
# But gcc/12.2.0 is missing.
[@blog2 ~]$ ml
Currently Loaded Modules:
  1) slurm/latest (S)   2) arcc/1.0 (S)   3) singularity/3.10.3
  Where:
   S:  Module is Sticky, requires --force to unload or purge

# You can load gcc/12.2.0 on the same line as samtools/1.16.1, but it must be loaded before it, i.e. it appears to the left of it.
[@blog2 ~]$ module load gcc/12.2.0 samtools/1.16.1

# If you'd tried the following i.e. load samtools before gcc, then you'll see the following error:
[@blog2 ~]$ module load samtools/1.16.1 gcc/12.2.0
Lmod has detected the following error:  These module(s) or extension(s) exist but cannot be loaded as requested: "samtools/1.16.1"
   Try: "module spider samtools/1.16.1" to see how to load the module(s).

Module avail

Additionally, using the avail subcommand will show a table of available modules that are capable of being loaded into the current environment.

...