You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Pjotr Prins 63f1398e03 Merge branch 'master' of 2 years ago
gn/packages Merge branch 'master' of 2 years ago
.gitignore Ignore editor temporary files 3 years ago
4store-fix-buildsystem.patch gn: Add 4store. 6 years ago
LICENSE LICENSE 6 years ago Change README to convert to a guix channel 2 years ago
arrayfire-lapack-detection.patch gn: Fix building arrayfire. 2 years ago
arrayfire-newer-boost-compute.patch gn: Fix building arrayfire. 2 years ago
delly-use-system-libraries.patch Add delly. 6 years ago
gnulib-gets.patch gn: Add octave@3.4.3. 2 years ago
htslib-add-cram_to_bam.patch Cleaner patch file. 6 years ago
ldc-disable-tests2.patch LDC 4 years ago
ldc-druntime-finiTLSRanges.patch Patching Druntime for sambamba 5 years ago
mongodb-add-version-file.patch Add mongodb. 6 years ago
octave-nested-class.patch gn: Add octave@3.4.3. 2 years ago
plink-ng-Makefile-zlib.patch plink2 installs with patched Makefile 6 years ago
python2-htmlgen-Applied-Deb-patch.patch python2-htmlgen patches 6 years ago
python2-htmlgen-Fix-test-for-random.patch Fix name of patch 6 years ago


Bioinformatics packages for GNU Guix that are used in See Guix Notes for installing and hacking GNU Guix.

To easily use the packages from this repo, simply add it to your channels list:

    (name 'gn-bioinformatics)
    (url "")
    (branch "master"))

and run guix pull like normal to update your software. This is the recommended way to use the software from this repository and the code snippets in this README assume you have done so.

If you want to make changes to the packages in this repo then simply set the GUIX_PACKAGE_PATH to point to the root of this directory before running Guix. E.g.

git clone
export GUIX_PACKAGE_PATH=$PWD/guix-bioinformatics/
guix package -A cwl

or using a checked out Guix repo with

env GUIX_PACKAGE_PATH=$genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -A cwl

Some (or most) of these package definitions should make it upstream into the GNU Guix repository when tested and stable.

Slurm and munge

Install slurm with

guix pull
guix package -i slurm-llnl

~/.guix-profile/sbin/slurmd -C -D
  ClusterName=(null) NodeName=selinunte CPUs=4 Boards=1 SocketsPerBoard=1 CoresPerSocket=2 ThreadsPerCore=2 RealMemory=7890 TmpDisk=29909

Module system

Install the module environment with

guix pull
guix package -i environment-modules

modulecmd --version

python2-numarray 1.5.2

Install python2-numarray package with

guix pull
guix package -i python2-numarray

Common Workflow Language (CWL)

Install the common workflow language tool cwltool with

guix pull
guix package -i python2-cwltool

cwtool --version

Packages moved from here to main line GNU Guix

LLVM D compiler

The LLVM D compiler was added to GNU Guix main stream!

guix package -i ldc

Elixir and Erlang

Both languages have gone in to main line Guix:

guix package -i elixir
guix package -i erlang


R-qtl is now part of main stream GNU Guix:

guix package -i r-qtl r

Development tips

Override individual packages

The cheerful way of overriding a version of a package:

(use-modules (guix) (gnu packages emacs))

  (inherit emacs)
  (name "emacs-snapshot")
  (source "/path/to/some-file-or-directory.tar.gz"))

and then run:

guix package --install-from-file=that-file.scm


These package descriptions (so-called Guix expressions) are distributed by the same license as GNU Guix, i.e. GPL3+