diff options
author | Justin Bedo <cu@cua0.org> | 2020-04-22 20:44:43 +1000 |
---|---|---|
committer | Justin Bedo <cu@cua0.org> | 2020-06-27 14:57:41 +1000 |
commit | 8a2778f8853ab687f83e07c4c322ab843b08f2af (patch) | |
tree | 76448ef65e5ac8c4d85fcc31e44de4269cb936ab /tools/whisper-align.nix | |
parent | 7611c8798f41427c5b48a3406d8bb9e0cde9786c (diff) |
whisper: init 2.0
Diffstat (limited to 'tools/whisper-align.nix')
-rw-r--r-- | tools/whisper-align.nix | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tools/whisper-align.nix b/tools/whisper-align.nix new file mode 100644 index 0000000..5620fe3 --- /dev/null +++ b/tools/whisper-align.nix @@ -0,0 +1,39 @@ +{ bionix +, ref +, bamOutput ? true +, flags ? null +, indexAttrs ? {} +}: + +{ input1 +, input2 ? null +}: + +with bionix; +with lib; +with types; +with compression; + +let + fa = f: matchFiletype "whisper-ref" { fa = _: f; } f; + fq = f: matchFiletype "whisper-input" { fq = _: f; gz = matchFiletype' "whisper-input" { fq = _: f; }; } f; + +in stage { + name = "whisper-mem"; + buildInputs = [ whisper.app ]; + buildCommand = '' + ln -s ${fa ref} ref.fa + for f in ${bionix.whisper.index indexAttrs ref}/* ; do + ln -s $f + done + whisper ${optionalString (flags != null) flags} -t $NIX_BUILD_CORES \ + ${optionalString bamOutput "-store-BAM"} \ + ${optionalString (input2 != null) "-rp"} \ + -stdout \ + index ${fq input1} \ + ${optionalString (input2 != null) (fq input2)} \ + > $out + ''; + passthru.filetype = if bamOutput then filetype.bam {ref = ref; sorting = sort.name {};} else filetype.sam {ref = ref; sorting = sort.name {};}; + passthru.multicore = true; +} |