From 835bfe5f8db6ebcfbe3e6803b8cae636a39905e2 Mon Sep 17 00:00:00 2001
From: tcarver <tjc>
Date: Tue, 20 Dec 2011 16:14:14 +0000
Subject: [PATCH] fix for writing filter lines in VCF header

---
 .../artemis/components/variant/AbstractVCFReader.java      | 7 ++++---
 uk/ac/sanger/artemis/components/variant/FilteredPanel.java | 6 +++++-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/uk/ac/sanger/artemis/components/variant/AbstractVCFReader.java b/uk/ac/sanger/artemis/components/variant/AbstractVCFReader.java
index 88e7f79de..b2888ef46 100644
--- a/uk/ac/sanger/artemis/components/variant/AbstractVCFReader.java
+++ b/uk/ac/sanger/artemis/components/variant/AbstractVCFReader.java
@@ -170,9 +170,10 @@ public abstract class AbstractVCFReader
       return;
     }
     
-    TabixReader tr = new TabixReader(vcfFileName);
+    final TabixReader tr = new TabixReader(vcfFileName);
     String line;
     boolean headerEnd = true;
+
     while ((line = tr.readLine()) != null)
     {
       if(line.startsWith("##"))
@@ -183,7 +184,7 @@ public abstract class AbstractVCFReader
       }
       else if(headerEnd)
       {
-        writer.write(FilteredPanel.getHeader()+"\n");
+        writer.write(FilteredPanel.getHeader());
         headerEnd = false;
       }
       
@@ -220,7 +221,7 @@ public abstract class AbstractVCFReader
         {
           if(str.startsWith("#CHROM"))
           {
-            buff.append(filterLines+"\n");
+            buff.append(filterLines);
             buff.append(str+"\n");
           }
           else
diff --git a/uk/ac/sanger/artemis/components/variant/FilteredPanel.java b/uk/ac/sanger/artemis/components/variant/FilteredPanel.java
index 5f0d81952..967e4a85d 100644
--- a/uk/ac/sanger/artemis/components/variant/FilteredPanel.java
+++ b/uk/ac/sanger/artemis/components/variant/FilteredPanel.java
@@ -169,7 +169,11 @@ import javax.swing.border.Border;
       while(filterStr.hasMoreElements())
       {
         RecordFilter recFilter = filters.get(filterStr.nextElement());
-        buff.append(recFilter.getHeaderLine().toString());
+        buff.append("##FILTER=<ID=");
+        buff.append(recFilter.getHeaderLine().getID());
+        buff.append(",Description=\"");
+        buff.append(recFilter.toString());
+        buff.append("\">\n");
       }
       return buff.toString();
     }
-- 
GitLab