JAL-1503 update version in GPL header
[jalview.git] / src / jalview / io / FormatAdapter.java
index dc0526d..bb1608d 100755 (executable)
@@ -1,19 +1,20 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- * 
+ *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.io;
 
@@ -36,7 +37,7 @@ public class FormatAdapter extends AppletFormatAdapter
   }
 
   /**
-   * create sequences with each seuqence string replaced with the one given in
+   * create sequences with each sequence string replaced with the one given in
    * omitHiddenCOlumns
    * 
    * @param seqs
@@ -194,23 +195,28 @@ public class FormatAdapter extends AppletFormatAdapter
   {
     if (omitHidden != null)
     {
-      // 
-      Alignment alv = new Alignment(replaceStrings(alignment
-              .getSequencesArray(), omitHidden));
+      // TODO consider using AlignmentView to prune to visible region
+      // TODO prune sequence annotation and groups to visible region
+      // TODO: JAL-1486 - set start and end for output correctly. basically, AlignmentView.getVisibleContigs does this.
+      Alignment alv = new Alignment(replaceStrings(
+              alignment.getSequencesArray(), omitHidden));
       AlignmentAnnotation[] ala = alignment.getAlignmentAnnotation();
-      for (int i = 0; i < ala.length; i++)
+      if (ala != null)
       {
-        AlignmentAnnotation na = new AlignmentAnnotation(ala[i]);
-        if (selgp != null)
-        {
-          colSel.makeVisibleAnnotation(selgp.getStartRes(), selgp
-                  .getEndRes(), na);
-        }
-        else
+        for (int i = 0; i < ala.length; i++)
         {
-          colSel.makeVisibleAnnotation(na);
+          AlignmentAnnotation na = new AlignmentAnnotation(ala[i]);
+          if (selgp != null)
+          {
+            colSel.makeVisibleAnnotation(selgp.getStartRes(),
+                    selgp.getEndRes(), na);
+          }
+          else
+          {
+            colSel.makeVisibleAnnotation(na);
+          }
+          alv.addAnnotation(na);
         }
-        alv.addAnnotation(na);
       }
       return this.formatSequences(format, alv, suffix);
     }