diff options
author | Justin Bedo <cu@cua0.org> | 2021-12-06 17:23:47 +1100 |
---|---|---|
committer | Justin Bedo <cu@cua0.org> | 2021-12-06 17:23:47 +1100 |
commit | d75b723281aea944fbafdb28f5b0841a03827b4a (patch) | |
tree | 1b3b8a6103ed6547d00b1e3e1b61b08038e08a27 /tools | |
parent | 18d442a951dc36a352c13c604642cb3d4db5a6b6 (diff) |
parameterise RG line as nix attribute set
Allows more seamless transitioning between alingment algorithms
Diffstat (limited to 'tools')
-rw-r--r-- | tools/bowtie-align.nix | 5 | ||||
-rw-r--r-- | tools/bwa-mem.nix | 3 | ||||
-rw-r--r-- | tools/bwa-mem2.nix | 2 | ||||
-rw-r--r-- | tools/minimap2-align.nix | 2 |
4 files changed, 10 insertions, 2 deletions
diff --git a/tools/bowtie-align.nix b/tools/bowtie-align.nix index 8df3dba..cca12a2 100644 --- a/tools/bowtie-align.nix +++ b/tools/bowtie-align.nix @@ -3,6 +3,7 @@ , bamOutput ? true , flags ? null , indexAttrs ? { } +, RG ? { } }: { input1 @@ -29,7 +30,9 @@ stage { fi bowtie2 -x ${bionix.bowtie.index indexAttrs ref}/ref ${optionalString (flags != null) flags} --threads $cores \ ${if input2 != null then "-1 " + fq input1 + " -2 " + fq input2 else "-U " + fq input1} \ - | samtools sort -n \ + ${optionalString (RG ? ID) '' + --rg-id ${RG.ID} ${concatMapAttrsStringsSep " " (k: v: "--rg ${k}:${v}") (filterAttrs (k: _: k != "ID") RG)} \ + ''} \ ${optionalString bamOutput "| samtools view -b"} \ > $out ''; diff --git a/tools/bwa-mem.nix b/tools/bwa-mem.nix index 52e73d1..84038d9 100644 --- a/tools/bwa-mem.nix +++ b/tools/bwa-mem.nix @@ -3,6 +3,7 @@ , bamOutput ? true , flags ? null , indexAttrs ? { } +, RG ? { } }: { input1 @@ -17,7 +18,6 @@ with compression; let fa = f: matchFiletype "bwa-ref" { fa = _: f; } f; fq = f: matchFiletype "bwa-input" { fq = _: f; gz = matchFiletype' "bwa-input" { fq = _: f; }; } f; - in stage { name = "bwa-mem"; @@ -33,6 +33,7 @@ stage { fi bwa mem ${optionalString (flags != null) flags} -t $cores ref.fa ${fq input1} \ ${optionalString (input2 != null) (fq input2)} \ + ${optionalString (RG ? ID) "-R'@RG\\t${concatMapAttrsStringsSep "\\t" (k: v: "${k}:${v}") RG}'"} \ ${optionalString bamOutput "| samtools view -b"} \ > $out ''; diff --git a/tools/bwa-mem2.nix b/tools/bwa-mem2.nix index 843c5b0..e6237f0 100644 --- a/tools/bwa-mem2.nix +++ b/tools/bwa-mem2.nix @@ -3,6 +3,7 @@ , bamOutput ? true , flags ? null , indexAttrs ? { } +, RG ? { } }: { input1 @@ -33,6 +34,7 @@ stage { fi bwa-mem2 mem ${optionalString (flags != null) flags} -t $cores ref.fa ${fq input1} \ ${optionalString (input2 != null) (fq input2)} \ + ${optionalString (RG ? ID) "-R'@RG\\t${concatMapAttrsStringsSep "\\t" (k: v: "${k}:${v}") RG}'"} \ ${optionalString bamOutput "| samtools view -b"} \ > $out ''; diff --git a/tools/minimap2-align.nix b/tools/minimap2-align.nix index 18bca35..e7e71c6 100644 --- a/tools/minimap2-align.nix +++ b/tools/minimap2-align.nix @@ -3,6 +3,7 @@ , bamOutput ? true , flags ? null , preset +, RG ? { } }: { input1 @@ -30,6 +31,7 @@ stage { fi minimap2 ${optionalString (flags != null) flags} -t $cores -ax ${preset} ref.fa ${fq input1} \ ${optionalString (input2 != null) (fq input2)} \ + ${optionalString (RG ? ID) "-R'@RG\\t${concatMapAttrsStringsSep "\\t" (k: v: "${k}:${v}") RG}'"} \ ${optionalString bamOutput "| samtools view -b"} \ > $out ''; |