aboutsummaryrefslogtreecommitdiff
path: root/default.nix
blob: 5218a99466e97c08b8f6fc764e44ce4bf6c5a568 (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
{nixpkgs ? import <nixpkgs> {}}:

let
  bionix = nixpkgs.lib.makeExtensible (self:
  let callBionix = file: attrs: import file ({ bionix = self; nixpkgs = nixpkgs; } // attrs);
  in with self; {
    callBionix = callBionix;
    id = x: x;

    types = callBionix ./lib/types.nix {};

    bwa = callBionix ./tools/bwa.nix {};
    compression = callBionix ./tools/compression.nix {};
    crumble = callBionix ./tools/crumble.nix {};
    fastqc = callBionix ./tools/fastqc.nix {};
    gridss = callBionix ./tools/gridss.nix {};
    infercnv = callBionix ./tools/infercnv.nix {};
    mosdepth = callBionix ./tools/mosdepth.nix {};
    mutect = callBionix ./tools/mutect.nix {};
    platypus = callBionix ./tools/platypus.nix {};
    samtools = callBionix ./tools/samtools.nix {};
    strelka = callBionix ./tools/strelka.nix {};

    qsub = nixpkgs.callPackage ./lib/qsub.nix {};
    qsubAttr = qsubAttrs: f: attrs: i: qsub qsubAttrs (f attrs i);
    qsubAttrs = attrs: nixpkgs.lib.mapAttrs (_: x: qsubAttr attrs x);
    ref = callBionix ./lib/references.nix {};
    def = f: defs: attrs: f (defs // attrs);
    defQsub = qsubAttrs: f: defs: qsubAttr qsubAttrs (def f defs);

  });
in bionix