set up odyssey HPC dot files

dot files

Those files are originally got from Samir Amin, my labmate in Roel Verhaak’s lab. Thanks for sharing!


and inside .profile.d folder, there is a file named It was executed when you login the shell.

You can grab my dot files in my github repo.

Inside the .bash_profile:

if [ -d $HOME/.profile.d ]; then
  for i in $HOME/.profile.d/*.sh; do
    if [ -r $i ]; then
          if [ "${-#*i}" != "$-" ]; then
            . "$i" >/dev/null 2>&1
            . "$i" >/dev/null 2>&1
  unset i

add or remove path in the file. load modules in this file as well.

install conda

install conda to my home directory /n/home02/mtang

After finishing installing, it will ask

Do you wish the installer to initialize Anaconda3
in your /n/home02/mtang/.bashrc ? [yes|no]

I chosed no. It showed me

You may wish to edit your /n/home02/mtang/.bashrc to setup Anaconda3:

source /n/home02/mtang/anaconda3/etc/profile.d/

Thank you for installing Anaconda3!

I guess I got why Samir set up the dot files (has a .profile.d folder) like this. conda is doing similar with source /n/home02/mtang/anaconda3/etc/profile.d/

add conda to PATH:

In the ~/.profiled.d/, add one line:

mypathmunge ${HOME}/anaconda3/bin

mypathmunge is a function inside the .bash_profile

mypathmunge () {
    case ":${PATH}:" in
            if [ "$2" = "after" ] ; then

it will add the ${HOME}/anaconda3/bin in front of the $PATH. If you want to append it to $PATH, do mypathmunge ${HOME}/anaconda3/bin after

source .bash_profile
which conda

A side note. see here for the difference between .bashrc and .bash_profile.

.bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.

When you login (type username and password) via console, either sitting at the machine, or remotely via ssh: .bash_profile is executed to configure your shell before the initial command prompt.

But, if you’ve already logged into your machine and open a new terminal window (xterm) then .bashrc is executed before the window command prompt. .bashrc is also run when you start a new bash instance by typing /bin/bash in a terminal.

On OS X, Terminal by default runs a login shell every time, so this is a little different to most other systems, but you can configure that in the preferences.

This is a very helpful blog post to understand the differences.

Dedicating a folder for installing tools

usually, install tools with conda. If there is no recipe in conda. I will downlad the source to ~/apps and compile there.

Then in the ~/.profiled.d/ file, add the executable to the PATH.

e.g. I want to install ncdu to check disk usage

mkdir apps
cd apps
mkdir ncdu; cd ncdu
tar xvzf  ncdu-1.13.tar.gz
cd ncdu-1.13

./configure --prefix=${HOME}/apps/ncdu/ncdu-1.13
make install

In the ~/.profiled.d/ file, add two lines:

export ODYAPPS="${HOME}/apps
mypathmunge $ODYPPS/ncdu/ncdu-1.13/bin after

source ~/.bash_profile
# now ready to go
comments powered by Disqus