Biopkgs is a collection of packages for the Nix package manager. This collection contains mainly bioinformatic applications and libraries, and it is maintained independently from the official Nixpkgs tree because
- Biopkgs will keep multiple versions of each package to facilitate reproducibility of research results.
- Biopkgs will add or update packages in a rolling manner.
- Biopkgs will not require that packages be split into modular pieces, nor will it require that packages be always compiled against shared libraries.
Nix is a suitable package manager for fast-paced research software development, because it natively allows for multiple versions of packages (especially C and C++ libraries). Its requirement for full specification of package dependencies within a functional framework facilitates code compilation across Unix-like platforms.
There is propbably a smarter way of distributing this package collection, but
for now, you should clone the repository in your $HOME
directory:
cd
git clone https://github.com/djhshih/biopkgs
Then, you may list the available packages in Biopkgs by
nix-env -f ~/biopkgs -qa
To install a package (e.g. samtools), run
nix-env -f ~/biopkgs -i samtools
Nix scripts to build docker images are found in pkgs/docker-images
. These
images may be built using bin/dockerize.sh
.
Nix Package Manager Guide
Nixpkgs Contributors Guide
Submit a pull request for each package. Please ensure that your package builds successfully before submitting.