aboutsummaryrefslogtreecommitdiff
path: root/tools/samtools-index.nix
diff options
context:
space:
mode:
Diffstat (limited to 'tools/samtools-index.nix')
-rw-r--r--tools/samtools-index.nix11
1 files changed, 7 insertions, 4 deletions
diff --git a/tools/samtools-index.nix b/tools/samtools-index.nix
index d0f8d7a..62ee4c9 100644
--- a/tools/samtools-index.nix
+++ b/tools/samtools-index.nix
@@ -8,16 +8,19 @@ with bionix;
with lib;
with types;
-assert (matchFiletype "samtools-index" { bam = _: true; } input);
+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.bam
- samtools index -@ $NIX_BUILD_CORES ${optionalString (flags != null) flags} input.bam
- cp input.bam.bai $out
+ ln -s ${input} input.${ext input}
+ samtools index -@ $NIX_BUILD_CORES ${optionalString (flags != null) flags} input.${ext input} $out
'';
passthru.multicore = true;
}