crossrefs have properly updated pdbId lists
[jalview.git] / src / jalview / io / FormatAdapter.java
index 24c9109..3cbd73b 100755 (executable)
@@ -119,6 +119,13 @@ public class FormatAdapter
         afile.addJVSuffix(
             jalview.bin.Cache.getDefault("PFAM_JVSUFFIX", true));
       }
+      /* amsa is not supported by this function - it requires an alignment rather than a sequence vector
+      else if (format.equalsIgnoreCase("AMSA"))
+      {
+        afile = new AMSAFile();
+        afile.addJVSuffix(
+            jalview.bin.Cache.getDefault("AMSA_JVSUFFIX", true));
+      }*/
 
       afile.setSeqs(seqs);
 
@@ -141,7 +148,11 @@ public class FormatAdapter
   }
   public String formatSequences(String format, AlignmentI alignment, String[] omitHidden, ColumnSelection colSel)
   {
-    return formatSequences(format, alignment, omitHidden, getCacheSuffixDefault(format), colSel);
+    return formatSequences(format, alignment, omitHidden, getCacheSuffixDefault(format), colSel, null);
+  }
+  public String formatSequences(String format, AlignmentI alignment, String[] omitHidden, ColumnSelection colSel, SequenceGroup sgp)
+  {
+    return formatSequences(format, alignment, omitHidden, getCacheSuffixDefault(format), colSel, sgp);
   }
     /**
    * hack function to replace seuqences with visible sequence strings before generating a
@@ -154,7 +165,12 @@ public class FormatAdapter
    */
   public String formatSequences(String format, AlignmentI alignment, String[] omitHidden, boolean suffix, ColumnSelection colSel)
   {
-    AlignFile afile = null;
+    return formatSequences(format, alignment, omitHidden, suffix, colSel, null);
+  }
+
+  public String formatSequences(String format, AlignmentI alignment, String[] omitHidden, boolean suffix, 
+          ColumnSelection colSel, jalview.datamodel.SequenceGroup selgp)
+  {
     if (omitHidden!=null)
     {
       // 
@@ -163,7 +179,12 @@ public class FormatAdapter
       for (int i=0; i<ala.length; i++)
       {
         AlignmentAnnotation na = new AlignmentAnnotation(ala[i]);
-        colSel.makeVisibleAnnotation(na);
+        if (selgp!=null)
+        {
+          colSel.makeVisibleAnnotation(selgp.getStartRes(),selgp.getEndRes(), na);
+        } else {
+          colSel.makeVisibleAnnotation(na);
+        }
         alv.addAnnotation(na);
       }
       return this.formatSequences(format, alv, suffix);