Merge branch 'develop' into spike/JAL-4047/JAL-4048_columns_in_sequenceID
[jalview.git] / src / jalview / io / StockholmFile.java
index a3f7531..d674485 100644 (file)
@@ -147,19 +147,19 @@ public class StockholmFile extends AlignFile
               + umcp.getMessage() + ")";
       throw new IOException(umcp);
     }
-    // DEBUG System.out.println("this is the secondary scructure:"
+    // DEBUG jalview.bin.Console.outPrintln("this is the secondary scructure:"
     // +result.size());
     SequenceI[] seqs = new SequenceI[result.size()];
     String id = null;
     for (int i = 0; i < result.size(); i++)
     {
-      // DEBUG System.err.println("Processing i'th sequence in Stockholm file")
+      // DEBUG jalview.bin.Console.errPrintln("Processing i'th sequence in Stockholm file")
       RNA current = result.get(i);
 
       String seq = current.getSeq();
       String rna = current.getStructDBN(true);
-      // DEBUG System.out.println(seq);
-      // DEBUG System.err.println(rna);
+      // DEBUG jalview.bin.Console.outPrintln(seq);
+      // DEBUG jalview.bin.Console.errPrintln(rna);
       int begin = 0;
       int end = seq.length() - 1;
       id = safeName(getDataName());
@@ -218,8 +218,9 @@ public class StockholmFile extends AlignFile
     r = new Regex("# STOCKHOLM ([\\d\\.]+)");
     if (!r.search(nextLine()))
     {
-      throw new IOException(MessageManager
-                           .getString("exception.stockholm_invalid_format") +" ("+r+")");
+      throw new IOException(
+              MessageManager.getString("exception.stockholm_invalid_format")
+                      + " (" + r + ")");
     }
     else
     {
@@ -440,7 +441,7 @@ public class StockholmFile extends AlignFile
       }
       else if (!r.search(line))
       {
-        // System.err.println("Found sequence line: " + line);
+        // jalview.bin.Console.errPrintln("Found sequence line: " + line);
 
         // Split sequence in sequence and accession parts
         if (!x.search(line))
@@ -464,7 +465,7 @@ public class StockholmFile extends AlignFile
         String annType = r.stringMatched(1);
         String annContent = r.stringMatched(2);
 
-        // System.err.println("type:" + annType + " content: " + annContent);
+        // jalview.bin.Console.errPrintln("type:" + annType + " content: " + annContent);
 
         if (annType.equals("GF"))
         {
@@ -566,7 +567,7 @@ public class StockholmFile extends AlignFile
           else
           {
             // throw new IOException("Error parsing " + line);
-            System.err.println(">> missing annotation: " + line);
+            jalview.bin.Console.errPrintln(">> missing annotation: " + line);
           }
         }
         else if (annType.equals("GC"))
@@ -684,7 +685,7 @@ public class StockholmFile extends AlignFile
           // }
           else
           {
-            System.err.println(
+            jalview.bin.Console.errPrintln(
                     "Warning - couldn't parse sequence annotation row line:\n"
                             + line);
             // throw new IOException("Error parsing " + line);
@@ -936,7 +937,7 @@ public class StockholmFile extends AlignFile
               annot.annotations.length);
       System.arraycopy(els, 0, anns, annot.annotations.length, els.length);
       annot.annotations = anns;
-      // System.out.println("else: ");
+      // jalview.bin.Console.outPrintln("else: ");
     }
     return annot;
   }
@@ -1048,9 +1049,18 @@ public class StockholmFile extends AlignFile
       }
     }
 
-    // output annotations
+    // output description and annotations
+
     while (i < slen && (seq = s[i]) != null)
     {
+      if (seq.getDescription() != null)
+      {
+        // out.append("#=GR ");
+        out.append(new Format("%-" + maxid + "s").form("#=GS "
+                + printId(seq, jvSuffix) + " DE " + seq.getDescription()));
+        out.append(newline);
+      }
+
       AlignmentAnnotation[] alAnot = seq.getAnnotation();
       if (alAnot != null)
       {
@@ -1260,7 +1270,7 @@ public class StockholmFile extends AlignFile
     {
       return (String) typeIds.get(id);
     }
-    System.err.println(
+    jalview.bin.Console.errPrintln(
             "Warning : Unknown Stockholm annotation type code " + id);
     return id;
   }
@@ -1282,7 +1292,7 @@ public class StockholmFile extends AlignFile
     {
       return key;
     }
-    System.err.println(
+    jalview.bin.Console.errPrintln(
             "Warning : Unknown Stockholm annotation type: " + type);
     return key;
   }