Skip to content

Glossary

aaaaaaarya edited this page Feb 6, 2024 · 3 revisions

This page contains explanations of BioNix-related vocabulary. Do add any new words you think is of significance on this page so it can be helpful to future interns.

Basic Glossary:

1. Nix:

  • Definition:
    • A powerful package manager.
    • A configuration language.
  • Implementation in this internship: You need to undergo basic training and refer to a cheat sheet to learn how to code in Nix for wrapping packages.

2. NixOS:

  • Definition: NixOS is a Linux distribution that utilizes the Nix package manager for system configuration.
  • Implementation: You don't need to delve into too much detail or training related to NixOS. You can skip materials explaining or implementing NixOS when searching and learning online.

3. BioNix:

  • Definition:
    • An extension of the Nix package manager tailored for managing bioinformatics software and workflows.
    • Aimed at ensuring reproducibility.
  • Implementation: Our final goal in this internship is to contribute to the BioNix repository. Start by testing the three mentioned tools in bioinformatics, then create a BioNix expression for these tools.

Technical Glossary:

Derivation: Derivations specify all the inputs and procedures required to produce a given build product. If a build product has prerequisites, its derivation will refer to the derivations corresponding to those prerequisites. Nix expressions specify and manipulate derivations.

Package: A software package is a bundle of software, code modules, and dependencies that work together to achieve a common purpose. Some packages revolve around one main application, with all other contents complementing this application. They also contain metadata; this is information concerning the package such as its name, version, a list of dependencies, etc. This metadata helps users understand the purpose of the package, and how to use them. Because of these properties, in bioinformatics, packages are often used as a means to effectively share tools for others to use or build upon (e.g. genomic analysis tools).

Workflow: As per the name, it is a flow of stages input is put through to produce a desired output. In BioNix context, we typically work with data analysis workflows where data files are passed through various software tools and dependencies to output a desired file.

Clone this wiki locally