Skip to content

Conda#

Course overview#

GitHub repository 15 Oct 2024 - 09:15 - 12:15

Conda is a package and environment manager. As a package manager it enables you to install a wide range of software and tools using one simple command: conda install. As an environment manager it allows you to create and manage multiple different environments, each with their own set of packages. What are the benefits of using an environment manager? Some examples include the ability to easily run different versions of the same package, have different cross-package dependencies that are otherwise incompatible with each other and, last but not least, easy installation of all the software needed for an analysis.

Environments are of particular relevance when making bioinformatics projects reproducible. Full reproducibility requires the ability to recreate the system that was originally used to generate the results. This can, to a large extent, be accomplished by using Conda to make a project environment with specific versions of the packages that are needed in the project. You can read more about Conda here.

A Conda package is a compressed tarball (system-level libraries, Python or other modules, executable programs or other components). Conda keeps track of the dependencies between packages and platforms - this means that when installing a given package, all necessary dependencies will also be installed.

Conda packages are typically hosted and downloaded from remote so-called channels. Some widely used channels for general-purpose and bioinformatics packages are conda-forge and Bioconda, respectively. Both of these are community-driven projects, so if you're missing some package you can contribute to the channel by adding the package to it. When installing a Conda package you specify the package name, version (optional) and channel to download from.

A Conda environment is essentially a directory that is added to your PATH and that contains a specific collection of packages that you have installed. Packages are symlinked between environments to avoid unnecessary duplication.

Application#

This course is open for members of the MIVEGEC unit from the IRD (Research Institute for Development).

The only entry requirements for this course is a basic knowledge of Unix systems (i.e. being able to work on the command line).

The number of participants accepted is limited to the number of people that the teacher(s) can supervise in good conditions for the learners. If we receive more applications, participants will be selected based on several criteria. Selection criteria include correct entry requirements, motivation to attend the course.

Please note that this training events do not provide any formal university credits.

By accepting to participate in the course, you agree to follow the Code of Conduct.

Schedule#

Day 1

Time Topic
15 min Setting up
1h Master your dependencies - environments and reproducibility
- Introduction to the package and environment manager Conda
- Practical tutorial: Conda
15 min Break
1h ... continued: conda tutorial
15 min Wrap-up conda tutorial

The above schedule is approximate; variations may occur.

Location#

This course round is given on site.
This time the training will be held in room 151 at IRD DRO.

Pre-course setup#

The pre-course setup page lists the installation and setup of all the tools used in the course, so make sure you've gone through them all before the course begins.

Teachers#

  • Jacques Dainat (course leader)

Contact#

To contact me, please send a mail at jacques.dainat@ird.fr.