aboutsummaryrefslogtreecommitdiff
path: root/tools/gridss-callVariants.nix
diff options
context:
space:
mode:
authorJustin Bedo <cu@cua0.org>2018-09-26 17:08:45 +1000
committerJustin Bedo <cu@cua0.org>2018-09-26 17:08:45 +1000
commit418b0ccf5f3c54187f2a8de4d11968cead959249 (patch)
treee7662cfcafcb0d5d0a26c98b591605d3c8ef01f7 /tools/gridss-callVariants.nix
parent21d71e6892f529f89d419bd9b2fa1a127a1dc003 (diff)
Missing GRIDSS files
Diffstat (limited to 'tools/gridss-callVariants.nix')
-rw-r--r--tools/gridss-callVariants.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/tools/gridss-callVariants.nix b/tools/gridss-callVariants.nix
new file mode 100644
index 0000000..9d78896
--- /dev/null
+++ b/tools/gridss-callVariants.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, lib
+, callPackage
+, fetchurl
+, jre
+, R
+, bwa
+, ref
+, blacklist ? null
+, bwaIndex ? callPackage ./bwa-index.nix { inherit stdenv bwa lib; }
+, faidx ? callPackage ./samtools-faidx.nix { inherit stdenv; }
+, flags ? null}:
+
+with lib;
+
+inputs:
+
+stdenv.mkDerivation rec {
+ name = "gridss-callVariants";
+ buildInputs = [ jre R bwa ];
+ jar = fetchurl {
+ url = "https://github.com/PapenfussLab/gridss/releases/download/v2.0.0/gridss-2.0.0-gridss-jar-with-dependencies.jar";
+ sha256 = "01srl3qvv060whqg1y1fpxjc5cwga5wscs1bmf1v3z87dignra7k";
+ };
+ buildCommand = ''
+ ln -s ${ref} ref.fa
+ ln -s ${faidx ref} ref.fa.fai
+ for f in ${bwaIndex ref}/*; do
+ ln -s $f
+ done
+ mkdir $out
+ java -ea -Xmx31g \
+ -Dreference_fasta="ref.fa" \
+ -Dsamjdk.create_index=true \
+ -Dsamjdk.use_async_io_read_samtools=true \
+ -Dsamjdk.use_async_io_write_samtools=true \
+ -Dsamjdk.use_async_io_write_tribble=true \
+ -Dgridss.gridss.output_to_temp_file=true \
+ -cp ${jar} gridss.CallVariants \
+ WORKER_THREADS=$NIX_BUILD_CORES \
+ TMP_DIR=. \
+ WORKING_DIR=. \
+ REFERENCE_SEQUENCE="ref.fa" \
+ ${concatMapStringsSep " " (i: "INPUT=\"${i}\"") inputs} \
+ OUTPUT="$out/gridss.vcf" \
+ ASSEMBLY="$out/gridss.bam" \
+ ${optionalString (blacklist != null) ("BLACKLIST=" + blacklist)} \
+ ${optionalString (flags != null) flags}
+ '';
+}