blob: d11f3c6c0c3fd42fc060e25395980e75bf400bdf (
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
|
* guix-bioinformatics
Bioinformatics packages for GNU Guix that are used in
http://genenetwork.org/ and some other places. See [[https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org][Guix notes]] for
installing and hacking GNU Guix. Other channels of bioinformatics
interest can be found at
1. https://github.com/BIMSBbioinfo
2. https://github.com/UMCUGenetics/guix-additions
3. https://github.com/ekg/guix-genomics
To easily use the packages from this repo, simply add it to your
`channels` list in ~/.config/guix/channels.scm as described
[[https://guix.gnu.org/manual/en/html_node/Channels.html][here]]:
#+BEGIN_SRC scheme
(cons*
(channel
(name 'gn-bioinformatics)
(url "https://git.genenetwork.org/pjotrp/guix-bioinformatics.git")
(branch "master"))
%default-channels)
#+END_SRC
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.
#+BEGIN_SRC bash
git clone https://git.genenetwork.org/pjotrp/guix-bioinformatics.git
export GUIX_PACKAGE_PATH=$PWD/guix-bioinformatics/
guix package -A cwl
#+END_SRC
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
#+BEGIN_SRC bash
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
#+END_SRC
* Module system
Install the module environment with
#+BEGIN_SRC bash
guix pull
guix package -i environment-modules
modulecmd --version
VERSION=3.2.10
DATE=2012-12-21
#+END_SRC
* Common Workflow Language (CWL)
Install the common workflow language tool cwltool with
#+BEGIN_SRC bash
guix pull
guix package -i python2-cwltool
cwtool --version
1.0.20150916041152
#+END_SRC
* Development tips
** Override individual packages
The cheerful way of overriding a version of a package:
#+BEGIN_SRC scheme
(use-modules (guix) (gnu packages emacs))
(package
(inherit emacs)
(name "emacs-snapshot")
(source "/path/to/some-file-or-directory.tar.gz"))
#+END_SRC
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+
|