Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

On O2, we encourage cluster users to install the packages and software they need. One method to install packages and manage environments is to use conda, which is available through the conda2/4.2.13 module or miniconda3/4.10.3 module. Conda manages dependencies by default when you install packages, which can make it easier to install software. Packages that can be installed with conda include Python modules, libraries, or executable programs. Conda includes its own version of Python (2.7.12), though you can explicitly request to use Python 3 if you would prefer.

Commonly used commands, examples

Command

Meaning

module spider conda

shows the versions of conda installed on O2

module load

conda2

miniconda3/version

loads an individual conda module

(replace version with an actual version)

conda info --envs

see available conda environments

conda create -n test_env

create conda environment named test_env

(name the environment whatever you'd like)

conda create -n aligners_env bwa bowtie star

create conda environment, and install some packages (bwa, bowtie, and star) on the fly

source activate test_env

"activate" a conda environment named test_env

source deactivate

exit current conda environment

conda-env remove -n test_env

delete a conda environment named test_env

conda search numpy

search for a package

(replace numpy with the package of your choice)

conda install numpy

install a package, and must be within a conda environment or this command will fail.

(replace numpy with the package of your choice)

Setup

To install packages on O2 using conda, you must first create a conda environment. Environments are simply directories in ~/.conda/envs/ that contain packages you installed. You "source" an environment to use those packages, and can "deactivate" to exit the environment. You can have multiple environments, and can switch between them. 

...

Code Block
mfk8@compute-a-01-01:~$ module load conda2miniconda3/4.210.133

Then the conda command will be available:

Code Block
mfk8@compute-a-01-01:~$ which conda
/n/app/conda2miniconda3/4.10.3/bin/conda

Running conda info will return information about the current conda installation:

...

Code Block
(test_env) mfk8@compute-a-01-01:~$ which python
/n/app/conda2miniconda3/4.10.3/bin/python

The default version of Python that's available through the conda module is Python 2.7.12:

Code Block
(test_env) mfk8@compute-a-01-01:~$ python --version
Python 23.7.12 :: Continuum Analytics, Inc.9.5

If you want to use conda and Python 3a specific version of Python with conda, you can create a conda environment and install Python 3 to it. For example to create an environment using Python 3.6.5:

...

Code Block
mfk8@login01:~$ srun --pty -p interactive -t 0-2 bash
mfk8@compute-a-01-01:~$ module load conda2miniconda3/4.210.133
mfk8@compute-a-01-01:~$ module list

Currently Loaded Modules:
  1) conda2miniconda3/4.210.133 (E)

  Where:
   E:  Experimental

mfk8@compute-a-01-01:~$ conda create -n my_env
# truncated
mfk8@compute-a-01-01:~$ source activate my_env

# install example python package, scipy, which is available through conda:
(my_env) mfk8@compute-a-01-01:~$ conda install scipy
# truncated

# see list of packages available in this conda environment:
(my_env) mfk8@compute-a-01-01:~$ conda list
# truncated
# will report scipy in the list

# test importing scipy in python to verify it is installed correctly
(my_env) mfk8@compute-a-01-01:~$ python -c "import scipy"
(my_env) mfk8@compute-a-01-01:~$ 

# exit environment
(my_env) mfk8@compute-a-01-01:~$ source deactivate
mfk8@compute-a-01-01:~$

...

The centralized conda installation, available through the conda2/4.2.13 modulethe conda modules, includes several channels that we support. Channels are repositories where conda looks for packages. This is done with a centralized .condarc file that contains:

...