JAL-3210 Improvements to eclipse detection. New src tree and SwingJS updated from...
[jalview.git] / src / jalview / io / PIRFile.java
index 28f553a..3f0fea0 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  */
 package jalview.io;
 
-import java.io.*;
-import java.util.*;
+import jalview.bin.Cache;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceI;
+import jalview.util.Comparison;
 
-import jalview.datamodel.*;
+import java.io.IOException;
 
 public class PIRFile extends AlignFile
 {
-  public static boolean useModellerOutput = false;
-
-  Vector words = new Vector(); // Stores the words in a line after splitting
+  // Vector words = new Vector(); // Stores the words in a line after splitting
 
   public PIRFile()
   {
   }
 
-  public PIRFile(String inFile, String type) throws IOException
+  public PIRFile(String inFile, DataSourceType sourceType)
+          throws IOException
   {
-    super(inFile, type);
+    super(inFile, sourceType);
   }
 
   public PIRFile(FileParse source) throws IOException
@@ -45,6 +46,7 @@ public class PIRFile extends AlignFile
     super(source);
   }
 
+  @Override
   public void parse() throws IOException
   {
     StringBuffer sequence;
@@ -99,19 +101,15 @@ public class PIRFile extends AlignFile
     }
   }
 
-  public String print()
-  {
-    return print(getSeqsAsArray());
-  }
-
-  public String print(SequenceI[] s)
+  @Override
+  public String print(SequenceI[] s, boolean jvsuffix)
   {
-    boolean is_NA = jalview.util.Comparison.isNucleotide(s);
+    boolean is_NA = Comparison.isNucleotide(s);
     int len = 72;
     StringBuffer out = new StringBuffer();
     int i = 0;
     ModellerDescription md;
-
+    boolean useModellerOutput = Cache.getDefault("PIR_MODELLER", false);
     while ((i < s.length) && (s[i] != null))
     {
       String seq = s[i].getSequenceAsString();
@@ -147,7 +145,6 @@ public class PIRFile extends AlignFile
       }
       else
       {
-
         if (useModellerOutput)
         {
           out.append(">P1;" + s[i].getName());
@@ -158,7 +155,7 @@ public class PIRFile extends AlignFile
         }
         else
         {
-          out.append(">P1;" + printId(s[i]));
+          out.append(">P1;" + printId(s[i], jvsuffix));
           out.append(newline);
           if (s[i].getDescription() != null)
           {
@@ -173,7 +170,8 @@ public class PIRFile extends AlignFile
           }
         }
       }
-      int nochunks = (seq.length() / len) + 1;
+      int nochunks = (seq.length() / len)
+              + (seq.length() % len > 0 ? 1 : 0);
 
       for (int j = 0; j < nochunks; j++)
       {