Skip to content

Searching software modules

This page contains a basic overview of common interactions with the module system. For a guided tutorial, please see our Introduction to the Module System.

Searching in docs

Please refer to the Available Software page for a searchable list of available modules and how to load them.

Command line search using module spider

To search for a particular software module (e.g. "ABC"), you would run

1
module spider ABC # can also be abc, ABc...

Once you find it, and want to load a specific version (say 1.1.1), run

1
module spider ABC/1.1.1-foss-2023a # should only be ABC

The resulting output information will tell you what prerequisites modules are needed before loading your ABC/1.1.1-foss-2023a.

Command line searching with a partial name

You don't need to know the full name of the software. For example, let's search for all modules related to VCF:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ module spider vcf

------------------------
  VCFtools: VCFtools/0.1.16-GCC-12.3.0
------------------------
    Description:
      The aim of VCFtools...

    This module can be loaded directly: module load VCFtools/0.1.16-GCC-12.3.0

    Help:
      ...

------------------------
  vcfR:
------------------------
    Versions:
        vcfR/1.14.0 (E)
        vcfR/1.15.0 (E)

Names marked by a trailing (E) are extensions provided by another module.

------------------------
For detailed information about a specific "vcfR" 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 vcfR/1.15.0
------------------------

The output of module spider may also suggest other ways to search for modules.

See the example for PCRE below, which suggests both "other possible module matches" and "other possible module matches."

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
$ module spider PCRE

--------------------------
  PCRE:
--------------------------
    Description:
      The PCRE library...

     Versions:
        PCRE/8.44-GCCcore-10.2.0
        ...
        PCRE/8.45-GCCcore-13.2.0
     Other possible modules matches:
        PCRE2

--------------------------
  To find other possible module matches execute:

      $ module -r spider '.*PCRE.*'

--------------------------

Loading a specific version

If a module is loaded without specifying a version - e.g. module load HDF5 - the version of that module from the FOSS 2023a toolchain (or a sibling toolchain) will be loaded. Such modules will be compatible with the HPCC's default modules. In this case, HDF5/1.14.0-gompi-2023a will be loaded.

A specific version of a module can be loaded using its full name. Users must run module purge before loading a module from a different toolchain than their currently loaded modules. Otherwise, an error about incompatible dependencies will be displayed.

Note that module purge is always needed before you start loading your own modules. This command will clear the default modules and prevent version conflicts.

Saving and restoring module sets

Your currently loaded modules can be saved for easy access at a later time.

To save your modules, run

1
module save <collection_name>
where <collection_name> is replaced with your desired name.

You can then re-load this collection of modules with

1
module restore <collection_name>

To see all saved collections, use

1
module savelist

To see the contents of a collection, use

1
module describe <collection_name>

A saved collection can be removed with

1
module disable <collection_name>

Troubleshooting

Sometimes, module spider doesn't work because your personal module cache is out of date. To clear it, do rm ~/.cache/lmod/spider*