-
Notifications
You must be signed in to change notification settings - Fork 2
Glossary
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.
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.
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.