diff options
Diffstat (limited to 'tools/picard-markDuplicates.nix')
-rw-r--r-- | tools/picard-markDuplicates.nix | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/picard-markDuplicates.nix b/tools/picard-markDuplicates.nix new file mode 100644 index 0000000..957a05e --- /dev/null +++ b/tools/picard-markDuplicates.nix @@ -0,0 +1,33 @@ +{ bionix +, flags ? null +} : + +inputBam : + +with bionix; +with lib; +with types; + +assert (matchFiletype "picard-markDuplicates" { bam = _: true; } inputBam); +assert (matchFileSorting + "picard-markDuplicates" + { coord = _: true; name = _: true; } + inputBam); + +# Note that picard markDuplicates has different behaviour depending on whether the input +# is name-sorted or coordinate-sorted. + +stage { + name = "picard-markDuplicates"; + buildInputs = with pkgs; + [ picard-tools ]; + outputs = [ "out" "metrics" ]; + buildCommand = '' + picard MarkDuplicates \ + I=${inputBam} \ + O=$out \ + M=$metrics \ + ${optionalString (flags != null) flags} + ''; + passthru.filetype = inputBam.filetype; +} |