Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
More information on conda and mamba

More information on conda and mamba

To bypass verbatim and process to the installation of the package manager go to Mamba installation.

Conda and miniconda

Conda is a cross-platform multi-language environment management system, see Conda. There are several distributions, including Anaconda and Miniconda. The latter just ships the repository management system, which is sufficient for our purposes. Thus, visit the Miniconda distribution per OS page and install miniconda for your operating system. In the sequel, we assume that the Conda directory created is named miniconda2.

Conda channels, conda environment, conda packages. We briefly mention the main conda concepts:

  • Conda package : a tarball providing (i) system-level libraries, (ii) python, (iii) a collection of files – typically one or several libraries.

A local environment has all required resources (libraries and dependencies in particular) to compile and run executables from a library. It may be seen as a virtual environment, except that all files are located in one's Conda directory. Two nice features are the following ones:

  • The creation of a local environment takes place in one's conda home directory. That is, no root privileges are required.
  • The number of local environments is arbitrary, which is convenient to handle different versions of libraries in particular.
An additional useful resource is the conda cheatsheet.


Mamba

As explained in , mamba is a reimplementation of the conda package manager in C++, and provides the same functionnalities. It is much more efficient than the python implementation of conda, especially regarding dependency solving.

Installation scripts for miniforge and mambaforge (package manager systems depending by default on mamba) are available here .

Both installations add the channel conda-forge to the default, avoiding the need to specify it for each package install.

An alternative to installing miniforge or mambaforge to use a preexisting conda installation (miniconda, anaconda...) is to install the mamba package within the base environment of that preexisting installation.

Mamba installation

If you don't have an existing installation of conda, anaconda, miniconda, mambaforge or miniforge, process to the installation of either one of these package distributions.

  • miniforge / mambaforge : everything is set up to install the sbl package.
  • conda / miniconda :
    • install the mamba package and initialize mamba:
      conda install mamba -c conda-forge 
      mamba init 
    • source the shell configuration file (source ~/.bashrc for instance)