changeset 11:67e2bd1c4579 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bcftools commit 7ea221c576832871e9e5876d6927887d567d4f98"
author iuc
date Thu, 28 Nov 2019 10:05:48 -0500
parents da6fc9f4a367
children a62e934346f5
files bcftools_norm.xml
diffstat 1 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/bcftools_norm.xml	Thu Oct 17 02:52:10 2019 -0400
+++ b/bcftools_norm.xml	Thu Nov 28 10:05:48 2019 -0500
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='utf-8'?>
-<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@+galaxy1">
+<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@+galaxy2">
     <description>Left-align and normalize indels; check if REF alleles match the reference; split multiallelic sites into multiple rows; recover multiallelics from multiple rows</description>
     <macros>
         <token name="@EXECUTABLE@">norm</token>
@@ -7,6 +7,9 @@
     </macros>
     <expand macro="requirements">
         <expand macro="samtools_requirement"/>
+        <!-- gawk only required for current bcftools norm bug workaround
+        Remove once fixed (see command section below -->
+        <requirement type="package" version="5.0.1">gawk</requirement>
     </expand>
     <expand macro="version_command" />
     <command detect_errors="aggressive"><![CDATA[
@@ -14,6 +17,17 @@
 @PREPARE_INPUT_FILE@
 #set $section = $reference_source
 @PREPARE_FASTA_REF@
+
+## The next two lines are a workaround for a bug in bcftools norm up to version
+## 1.9, which caused indel normalization to be case-sensitive
+## see:
+## https://github.com/samtools/bcftools/commit/65b211da1f5cdbf1c7c11eb610481a736fa88bda
+## https://github.com/samtools/bcftools/commit/77b0a27a156803e382d60651ff94ea0bd95fad0f
+## With the next release of bcftools, this should be fixed and, at that point,
+## the time-consuming on-the-fly uppercasing should be removed again.
+awk '{ if ($0 !~ />/) {print toupper($0)} else {print $0} }' '$input_fa_ref' > ref_upper.fa &&
+#set $input_fa_ref = 'ref_upper.fa'
+
 #set $section = $sec_restrict
 @PREPARE_TARGETS_FILE@
 @PREPARE_REGIONS_FILE@