blob: 120f825ad8e25cdae87c13798f965ca9d97a5bd6 (
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
|
{ bionix
, flags ? null
, outfmt ? null
}:
inputs:
with bionix;
with lib;
let
inherit (bionix.types) matchFiletype matchSorting;
inputIsHomogenous = length (unique (map (matchFiletype "samtools-merge" {bam = x: x // {sorting = matchSorting "samtools-merge" {coord = _: "coord";} x;};}) inputs)) == 1;
in
assert inputIsHomogenous;
stage {
name = "samtools-merge";
buildInputs = with pkgs; [ samtools ];
buildCommand = ''
samtools merge ${optionalString (flags != null) flags} $out ${concatStringsSep " " inputs}
'';
passthru.filetype = (builtins.elemAt inputs 0).filetype;
}
|