aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJustin Bedo <cu@cua0.org>2021-12-03 09:42:04 +1100
committerJustin Bedo <cu@cua0.org>2021-12-03 09:42:04 +1100
commit32c842e7c5fe1038cec73da3e07ba12df6295549 (patch)
tree2418ebb61d450fe4c11be3659afb22156ab52a1b /tools
parent7e9f9d84efbfa3ddcd1b41f410adc53daca3f405 (diff)
genmap: init
Diffstat (limited to 'tools')
-rw-r--r--tools/genmap-calcmap.nix22
-rw-r--r--tools/genmap-index.nix16
-rw-r--r--tools/genmap.nix9
3 files changed, 47 insertions, 0 deletions
diff --git a/tools/genmap-calcmap.nix b/tools/genmap-calcmap.nix
new file mode 100644
index 0000000..df9ccc3
--- /dev/null
+++ b/tools/genmap-calcmap.nix
@@ -0,0 +1,22 @@
+{ bionix
+, k ? 30
+, e ? 2
+}:
+
+with bionix;
+
+ref: stage {
+ name = "genmap-mappability";
+ buildInputs = with pkgs; [ genmap ];
+ buildCommand = ''
+ mkdir $out
+ genmap map \
+ -K ${toString k} \
+ -E ${toString e} \
+ --wig \
+ -I ${bionix.genmap.index {} ref} \
+ -O $out \
+ -T $NIX_BUILD_CORES
+ '';
+ passthru.multicore = true;
+}
diff --git a/tools/genmap-index.nix b/tools/genmap-index.nix
new file mode 100644
index 0000000..249f061
--- /dev/null
+++ b/tools/genmap-index.nix
@@ -0,0 +1,16 @@
+{ bionix }:
+
+with bionix;
+with lib.types;
+
+let
+ fa = f: matchFiletype "genmap-index" { fa = _: f; } f;
+in
+
+ref: stage {
+ name = "genmap-index";
+ buildInputs = with pkgs; [ genmap ];
+ buildCommand = ''
+ genmap index -F ${fa ref} -I $out
+ '';
+}
diff --git a/tools/genmap.nix b/tools/genmap.nix
new file mode 100644
index 0000000..c29d74c
--- /dev/null
+++ b/tools/genmap.nix
@@ -0,0 +1,9 @@
+{ bionix }:
+
+with bionix;
+
+{
+ index = callBionixE ./genmap-index.nix;
+ calcmap = callBionixE ./genmap-calcmap.nix;
+}
+