# Using Software

Because of the diversity of research areas currently supported by HBS RCS, it is impossible to include all of the software tools in every user's environment.

The default submission scripts -- the drop-down menus in NoMachine and the command-line wrapper scripts -- provide access to commonly used applications with predefined configurations of RAM and compute cores. But these same applications, programs pre-installed with the OS and standard Linux distributions, as well as software and scripts that you've installed locally, can be used in your LSF interactive and batch jobs.

By default, when you log in to your account, the default PATH variable, a Unix variable that defines where the system should look to find commands that you enter, points to commonly used and installed Unix and 3rd party software. This includes (but is not limited to) commands like mv, cp, and the system installed python and R. Anything outside of these locations must be referenced by a full pathname to execute the program. If you wish to write custom LSF job submission commands, you need to know what software titles and versions are available and where they are.

/usr/local/bin, which is included in the default PATH, includes pointers to most of the current, commonly installed applications and programming environments. Either the pointer or the full path may be used, and multiple titles or symlinks can be used for the same program (denoted as 'or' by the vertical bar '|')

mathematica | Mathematica /usr/local/app/mathematica/mathematica11/Executables/mathematica
matlab /usr/local/app/matlab/matlab_2018a/bin/matlab
mcc /usr/local/app/matlab/matlab_2018a/bin/mcc
mex /usr/local/app/matlab/matlab_2018a/bin/mex
python | python2 | python2.7 /usr/local/bin/python                   (see warning)
python3 | python3.6 /usr/local/bin/python3                 (see warning)
R /usr/local/bin/R                           (see warning)
rscript | Rscript /usr/local/bin/Rscript                  (see warning)
rstudio | Rstudio /usr/local/bin/Rstudio                 (see warning)
sas /usr/local/app/SAS/SAS95M5/install/SASFoundation/9.4/sas
st /usr/local/app/stattransfer/st
stata-mp2 | 4 | 8 /usr/local/app/stata15-mp[2|4|8]/stata-mp[2|4|8]
stata-se /usr/local/app/stata-se/stata-se
stattransfer /usr/local/app/stattransfer/stattransfer
wolfram /usr/local/app/mathematica/mathematica11/Executables/wolfram
WolframKernel /usr/local/app/mathematica/mathematica11/Executables/WolframKernel
xstata-mp2 | 4 | 8 /usr/local/app/stata15-mp[2|4|8]/stata-mp[2|4|8]
xstata-se /usr/local/app/stata15-mp[2|4|8]/stata-mp[2|4|8]


This list is not exhaustive; look around the filesystem, especially /usr/local/bin, to see what else is in the default PATH.

As one can surmise from above, most software on the HBS compute cluster is installed centrally at /usr/local/app and can be called directly.

WARNING! This is not the case for the R and Python environments offered via the Anaconda distribution. If the programs in these are called directly without setting the PATH correctly, your code may crash and jobs may fail. For this reason, always call the ones at /usr/local/bin -- this and a few other items are handled for you with these.

Older software titles are also kept at /usr/local/app. For example, three versions of MATLAB are stored at /usr/local/app/matlab:

	[jharvard@rhrcsnod8:~]\$ ls -al /usr/local/app/matlab
total 40
drwxr-xr-x.  5 root root  4096 Jun 24 15:47 .
drwxr-xr-x. 23 root root  4096 Jun  7 11:22 ..
-rw-r--r--.  1 root root 20476 Mar  5  2018 license.lic
drwxr-xr-x. 23 root root  4096 Mar  5  2018 matlab_2017b
drwxr-xr-x. 23 root root  4096 Jul 27  2018 matlab_2018a
drwxr-xr-x. 25 root root  4096 Jun 25 11:52 matlab_2019a


Any programs that you install in your home or project folders will need to be reference by full pathname unless you include this in your PATH, either as a part of your submission script or by including the PATH assignment in your .bashrc login script.

Note: Most modern compute clusters use a module system to load software into your environment and provide version control. We are currently investigating its use for the HBS Grid.

Last updated 6/28/2019