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.
[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
[username@bisonnet-hpc ~]$ module list
Currently Loaded Modulefiles:
1) python/3.12-minimal
Key:
default-version
[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
[username@bisonnet-hpc ~]$ module unload python/3.12-minimal
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
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
[username@bisonnet-hpc ~]$ module help