Skip to main content

Access to many applications and libraries is controlled by the modules utility. The module command allows you to easily manipulate your Linux environment to use various applications and programming libraries, sometimes including older or newer versions than the default. When you need to change your environment you simply add or rm modules. Here are some of the commands you’ll need.

List Available Software

[username@bisonnet-hpc ~]$ module avail
-------------------------------------- /software/etc/modulefiles ---------------------------------------
admixture/1.3.0                 gurobi-optimizer/12.0.1         python/3.11-genome        
alignment/2025.03.26            insectOR/2024.05.09             python/3.12-bio           
annontation/2025.03.27          jdftx/1.7.0                     python/3.12-deeplearn     
assembly/2025.03.27             kraken2/2.1.4                   python/3.12-gpu           
assembly_assessment/2025.03.26  lammps/2024.08.29               python/3.12-jdreese-test  
avogadro2/1.100                 mathematica/14.2.1              python/3.12-minimal       
bcftools/1.21                   matlab/R2024b                   python/3.12-omnic         
blast/2.2.26                    molecular_evolution/2025.03.26  python/3.12-seff          
braker3/3.0.8                   ncbi-blast/2.16.0+              qc/2025.03.28             
comsol/6.3                      octave/9.4.0                    R/4.4.3                   
CPLEX/22.1.2                    Omni-C/2025.03.25               radseq/2025.03.25         
cuda/12.4.1                     opencv/4.11.0                   RELION/5.0                
cudnn/9.8.0                     openmpi/4.1.8                   repeats/2025.04.11        
dfam-tetools/2025.03.26         openmpi/5.0.7                   seq_tools/2025.03.27      
emacs/30.1                      orca/6.0.1                      SIMULIA/2025              
exonerate/2.4.0                 perl/5.40.1                     stacks/2.68               
fastp/0.24                      pfamscan/1.6                    structure/2.3.4           
ffmpeg/7.1                      phylogeny/2025.03.28            transdecoder/5.7.1        
gaussian/16.B.01                plink/1.9                       Trinity/2.15.2            
genome/2025.03.26               python/3.10-ahf009              vscode/1.100.3            
glimmer/3.02                    python/3.10-misc                xcrysden/1.6.2            
GT-POWER/2025.1.0001            python/3.11-curation            xmgrace/5.1.25            

------------------------------------ /usr/share/Modules/modulefiles ------------------------------------
dot  module-git  module-info  modules  null  use.own  

Key:
modulepath  default-version  

List Software In Your Environment

[username@bisonnet-hpc ~]$ module list
Currently Loaded Modulefiles:
 1) python/3.12-minimal  

Key:
default-version  

Add Software to Your Environment

[username@bisonnet-hpc ~]$ module load python/3.12-minimal

You can also load the default version of a software package by dropping the version:

[username@bisonnet-hpc ~]$ module load python

Remove Software from Your Environment

[username@bisonnet-hpc ~]$ module unload python/3.12-minimal

Module Conflicts

Modules will prevent you from adding conflicting packages. For example, you’ll receive an error if you try to add two versions of Python to your environment. To change to a new version, either unload one version and load another or use the switch command:

[username@bisonnet-hpc ~]$ module list
Currently Loaded Modulefiles:
 1) python/3.12-minimal  

Key:
default-version  
[username@bisonnet-hpc ~]$ module switch python/3.12-deeplearn
Switching from python/3.12-minimal to python/3.12-deeplearn
  Loading requirement: cuda/12.4.1 cudnn/9.8.0

Add Modules at Login

To add modules to your Linux environment that will load every time you login, use:
(NOTE: only run the echo command once; then just use initadd to add additional modules):

[username@bisonnet-hpc ~]$ echo "module add null" >> ~/.bashrc
[username@bisonnet-hpc ~]$ module initadd python/3.12-minimal

Likewise, you can remove commands from your initial environment using:

[username@bisonnet-hpc ~]$ module initrm python/3.12-minimal

Additional Help

[username@bisonnet-hpc ~]$ module help