Conda Package Manager

Conda is a package manager for programming languages such as Python or R. It differs from most languages native package manager as it includes external librarires/binaries built in other languages. For example many R libraries depend on external C/C++ libraries. The package manager for R only solves half of the dependency tree, just R libraries, while Conda solves/provides for the entire dependency tree.

All Conda usage on Discovery is, and should be, based on the Conda-Forge or Bioconda community-led package channels. Discovery is not licensed for the usage of the Anaconda commercial package channel.

Installation

There are 2 ways to use Conda on the Discovery Cluster. The first is to use one of the read-only global software modules. Second is to install Conda into your home, or project directory, using our in-house tool called SStack.

See Install for instructions.

Note that mamba is an alternative to conda.

Mamba is optimized on top of conda to support multi-threaded downloads, accelerated dependency resolution, and improved installation speed. For complex environment, you may want to use mamba for greater efficiency.

Mamba is also perfectly compatible with conda, you can directly replace conda commands with mamba, which means there is no extra learning cost.

Virtual Environments

Virtual Environments are a set of isolated packages containing binaries, libraries, configuration, and data that are linked together.

Creating virtual environments gives you the ability to have a set of custom packages combined specifically to meet your projects needs.

See Virtual Environments for instructions.