aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 42712a04eef83b73bf811ee014a525e83fa2889b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# guix-bioinformatics

Bioinformatics packages for GNU Guix that are used in
http://genenetwork.org/.  See
[Guix Notes](https://github.com/pjotrp/guix-notes/blob/master/HACKING.org)
for installing and hacking GNU Guix.

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

    (cons*
      (channel
        (name 'gn-bioinformatics)
        (url "https://gitlab.com/genenetwork/guix-bioinformatics")
        (branch "master"))
      %default-channels)

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 https://github.com/genenetwork/guix-bioinformatics.git
    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
      VERSION=3.2.10
      DATE=2012-12-21

## 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
      1.0.20150916041152

# 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

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))

    (package
      (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


## LICENSE

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