aboutsummaryrefslogtreecommitdiff
path: root/tools/samtools-index.nix
blob: 62ee4c9e64b03a4ff8febf61f14e147533bcfb3f (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
{ bionix
, flags ? null
}:

input:

with bionix;
with lib;
with types;

assert (matchFiletype "samtools-index" { bam = _: true; cram = _: true; } input);
assert (matchFileSorting "samtools-index" { coord = _: true; } input);

let
  ext = matchFiletype "samtools-index-ext" { bam = _: "bam"; cram = _: "cram"; };
in

stage {
  name = "samtools-index";
  buildInputs = with pkgs; [ samtools ];
  buildCommand = ''
    ln -s ${input} input.${ext input}
    samtools index -@ $NIX_BUILD_CORES ${optionalString (flags != null) flags} input.${ext input} $out
  '';
  passthru.multicore = true;
}