View on GitHub

Computational Techniques for Life Sciences

1) Search the module system for any application(s) that you need for your research.

For my research, I use a molecular dynamics tool called gromacs:

$ module list
Currently Loaded Modules:
   1) intel/17.0.4   2) impi/17.0.3   3) git/2.9.0   4) autotools/1.1   5) python/2.7.13   6) xalt/1.7.7   7) TACC

$ module spider gromacs
----------------------------------------------------------------------------------------------------------------------
  gromacs:
----------------------------------------------------------------------------------------------------------------------
    Description:
      molecular dynamics simulation package

     Versions:
        gromacs/5.1.2
        gromacs/2016.3
        gromacs/2016.4
        gromacs/2018.1

2) Figure out if any dependencies are required to load the module.

$ module spider gromacs/5.1.2       # carefully read output
...
You will need to load all module(s) on any one of the lines below before the "gromacs/5.1.2" module is available to load.

  intel/17.0.4  impi/17.0.3
  intel/18.0.0  impi/18.0.
...

It looks like I must have intel/17.0.4, intel/18.0.0, impi/17.0.3 and impi/18.0 loaded in order to load gromacs/5.1.2. I already have those loaded, so I should be ready to go.

3) Load the module and determine what effect it has on your environment.

$ module show gromacs/5.1.2         # carefully read output
...
prepend_path("PATH","/opt/apps/intel17/impi17_0/gromacs/5.1.2/bin")
prepend_path("LD_LIBRARY_PATH","/opt/apps/intel17/impi17_0/gromacs/5.1.2/lib64")
setenv("TACC_GROMACS_DIR","/opt/apps/intel17/impi17_0/gromacs/5.1.2")
setenv("TACC_GROMACS_INC","/opt/apps/intel17/impi17_0/gromacs/5.1.2/include")
setenv("TACC_GROMACS_LIB","/opt/apps/intel17/impi17_0/gromacs/5.1.2/lib64")
setenv("TACC_GROMACS_BIN","/opt/apps/intel17/impi17_0/gromacs/5.1.2/bin")
setenv("TACC_GROMACS_DOC","/opt/apps/intel17/impi17_0/gromacs/5.1.2/share")
setenv("GMXLIB","/opt/apps/intel17/impi17_0/gromacs/5.1.2/share/gromacs/top")
append_path("MANPATH","/opt/apps/intel17/impi17_0/gromacs/5.1.2/share/man")
append_path("PKG_CONFIG_PATH","/opt/apps/intel17/impi17_0/gromacs/5.1.2/lib/pkgconfig")
...

It looks like the major changes are to prepend the PATH and LD_LIBRARY_PATH environment variables, and to define several new variables with _GROMACS_ in the name (plus a few other minor changes).

$ echo $PATH
$ echo $TACC_GROMACS_DIR
$ module load gromacs/5.1.2
$ module list
$ echo $PATH
$ echo $TACC_GROMACS_DIR

4) Make sure the desired executables (and correct version) are in your PATH.

$ which gmx
# gmx --version       # do not run these applications on the login node, but checking the version is okay

Return