JAL-4134 store/restore Newick tree for PAE annotation row
authorJames Procter <j.procter@dundee.ac.uk>
Fri, 17 Mar 2023 17:32:40 +0000 (17:32 +0000)
committerJames Procter <j.procter@dundee.ac.uk>
Fri, 17 Mar 2023 17:32:40 +0000 (17:32 +0000)
77 files changed:
schemas/jalview.xsd
src/jalview/gui/AlignFrame.java
src/jalview/gui/AnnotationLabels.java
src/jalview/gui/TreeCanvas.java
src/jalview/gui/TreePanel.java
src/jalview/project/Jalview2XML.java
src/jalview/ws/datamodel/alphafold/PAEContactMatrix.java
src/jalview/xml/binding/embl/EntrySetType.java
src/jalview/xml/binding/embl/EntryType.java
src/jalview/xml/binding/embl/ObjectFactory.java
src/jalview/xml/binding/embl/ROOT.java
src/jalview/xml/binding/embl/XrefType.java
src/jalview/xml/binding/jalview/AlcodonFrame.java
src/jalview/xml/binding/jalview/Annotation.java
src/jalview/xml/binding/jalview/AnnotationColourScheme.java
src/jalview/xml/binding/jalview/AnnotationElement.java
src/jalview/xml/binding/jalview/DoubleMatrix.java
src/jalview/xml/binding/jalview/DoubleVector.java
src/jalview/xml/binding/jalview/Feature.java
src/jalview/xml/binding/jalview/FeatureMatcher.java
src/jalview/xml/binding/jalview/FeatureMatcherSet.java
src/jalview/xml/binding/jalview/FilterBy.java
src/jalview/xml/binding/jalview/JalviewModel.java
src/jalview/xml/binding/jalview/JalviewUserColours.java
src/jalview/xml/binding/jalview/MapListType.java
src/jalview/xml/binding/jalview/Mapping.java
src/jalview/xml/binding/jalview/MatrixType.java
src/jalview/xml/binding/jalview/NoValueColour.java
src/jalview/xml/binding/jalview/ObjectFactory.java
src/jalview/xml/binding/jalview/PcaDataType.java
src/jalview/xml/binding/jalview/Pdbentry.java
src/jalview/xml/binding/jalview/Sequence.java
src/jalview/xml/binding/jalview/SequenceSet.java
src/jalview/xml/binding/jalview/SequenceType.java
src/jalview/xml/binding/jalview/ThresholdType.java
src/jalview/xml/binding/jalview/VAMSAS.java
src/jalview/xml/binding/jalview/WebServiceParameterSet.java
src/jalview/xml/binding/jalview/package-info.java
src/jalview/xml/binding/uniprot/CitationType.java
src/jalview/xml/binding/uniprot/CofactorType.java
src/jalview/xml/binding/uniprot/CommentType.java
src/jalview/xml/binding/uniprot/ConsortiumType.java
src/jalview/xml/binding/uniprot/DbReferenceType.java
src/jalview/xml/binding/uniprot/Entry.java
src/jalview/xml/binding/uniprot/EventType.java
src/jalview/xml/binding/uniprot/EvidenceType.java
src/jalview/xml/binding/uniprot/EvidencedStringType.java
src/jalview/xml/binding/uniprot/FeatureType.java
src/jalview/xml/binding/uniprot/GeneLocationType.java
src/jalview/xml/binding/uniprot/GeneNameType.java
src/jalview/xml/binding/uniprot/GeneType.java
src/jalview/xml/binding/uniprot/ImportedFromType.java
src/jalview/xml/binding/uniprot/InteractantType.java
src/jalview/xml/binding/uniprot/IsoformType.java
src/jalview/xml/binding/uniprot/KeywordType.java
src/jalview/xml/binding/uniprot/LocationType.java
src/jalview/xml/binding/uniprot/MoleculeType.java
src/jalview/xml/binding/uniprot/NameListType.java
src/jalview/xml/binding/uniprot/ObjectFactory.java
src/jalview/xml/binding/uniprot/OrganismNameType.java
src/jalview/xml/binding/uniprot/OrganismType.java
src/jalview/xml/binding/uniprot/PersonType.java
src/jalview/xml/binding/uniprot/PhysiologicalReactionType.java
src/jalview/xml/binding/uniprot/PositionType.java
src/jalview/xml/binding/uniprot/PropertyType.java
src/jalview/xml/binding/uniprot/ProteinExistenceType.java
src/jalview/xml/binding/uniprot/ProteinType.java
src/jalview/xml/binding/uniprot/ReactionType.java
src/jalview/xml/binding/uniprot/ReferenceType.java
src/jalview/xml/binding/uniprot/SequenceType.java
src/jalview/xml/binding/uniprot/SourceDataType.java
src/jalview/xml/binding/uniprot/SourceType.java
src/jalview/xml/binding/uniprot/StatusType.java
src/jalview/xml/binding/uniprot/SubcellularLocationType.java
src/jalview/xml/binding/uniprot/Uniprot.java
src/jalview/xml/binding/uniprot/package-info.java
test/jalview/project/Jalview2xmlTests.java

index 7a18d59..adaa3ee 100755 (executable)
                                                <xs:attribute name="markUnlinked" type="xs:boolean" />
                                                <xs:attribute name="fitToWindow" type="xs:boolean" />
                                                <xs:attribute name="currentTree" type="xs:boolean" />
+                                               <xs:attribute name="columnWise" type="xs:boolean" use="optional" default="false"><xs:annotation><xs:documentation>Set for trees associated with columns of an alignment, sequence or annotation row</xs:documentation></xs:annotation></xs:attribute>
+                                               <xs:attribute name="columnReference" type="xs:string" use="optional"><xs:annotation><xs:documentation>Refers to annotation row the tree is provided by</xs:documentation></xs:annotation></xs:attribute>
                                                <xs:attribute name="id" type="xs:ID" use="optional">
                                                        <xs:annotation>
                                                                <xs:documentation>
index 82ec1d2..92a18ec 100644 (file)
@@ -4189,34 +4189,50 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   {
     int x = 4, y = 5;
     int w = 400, h = 500;
+    
     try
     {
       NewickFile fin = new NewickFile(
-              new FileParse(cm.getNewickString(), DataSourceType.PASTE));
-      fin.parse();
-      if (fin.getTree() == null)
-      {
-        return;
-      }
+              new FileParse(cm.getNewick(), DataSourceType.PASTE));
       String title = "PAE Matrix Tree for "
               + cm.getReferenceSeq().getDisplayId(false);
-      TreePanel tp = new TreePanel(alignPanel, fin, aa, title);
-
-      tp.setSize(w, h);
-
-      if (x > 0 && y > 0)
-      {
-        tp.setLocation(x, y);
-      }
 
-      Desktop.addInternalFrame(tp, title, w, h);
+      showColumnWiseTree(fin, aa, title, w,h, x,y);
     } catch (Throwable xx)
     {
       Console.error("Unexpected exception showing tree for contact matrix",
               xx);
     }
+  }
+  public TreePanel showColumnWiseTree(NewickFile nf, AlignmentAnnotation aa, String treeTitle,
+           int w, int h, int x, int y)
+  {
+      try
+      {
+        nf.parse();
+        if (nf.getTree() == null)
+        {
+          return null;
+        }
+        TreePanel tp = new TreePanel(alignPanel, nf, aa, title);
+
+        tp.setSize(w, h);
+
+        if (x > 0 && y > 0)
+        {
+          tp.setLocation(x, y);
+        }
 
+        Desktop.addInternalFrame(tp, title, w, h);
+        return tp;
+      } catch (Throwable xx)
+      {
+        Console.error("Unexpected exception showing tree for contact matrix",
+                xx);
+      }
+      return null;
   }
+  
   private boolean buildingMenu = false;
 
   /**
index 0ccd6c2..d1a40e5 100755 (executable)
@@ -428,7 +428,7 @@ public class AnnotationLabels extends JPanel
       {
         final PAEContactMatrix cm = (PAEContactMatrix) av
                 .getContactMatrix(aa[selectedRow]);
-        if (cm.getNewickString()!=null && cm.getNewickString().length()>0)
+        if (cm.getNewick()!=null && cm.getNewick().length()>0)
         {
           item = new JMenuItem("Show Matrix");
           item.addActionListener(new ActionListener()
index 354feac..97ca391 100755 (executable)
@@ -295,7 +295,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
 
       // Colour selected leaves differently
       boolean isSelected = false;
-      if (tp.getColumnWise())
+      if (tp.isColumnWise())
       {
         isSelected = isColumnForNodeSelected(node);
       }
@@ -822,7 +822,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
     else
     {
       Vector<BinaryNode> leaves = tree.findLeaves(highlightNode);
-      if (tp.getColumnWise()) {
+      if (tp.isColumnWise()) {
         markColumnsFor(getAssociatedPanels(), leaves, Color.red);
       } else {
       for (int i = 0; i < leaves.size(); i++)
@@ -1000,7 +1000,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
       setColor(groups.get(i), col.brighter());
 
       Vector<BinaryNode> l = tree.findLeaves(groups.get(i));
-      if (!tp.getColumnWise()) {
+      if (!tp.isColumnWise()) {
         createSeqGroupFor(aps, l, col);
       } else {
         markColumnsFor(aps,l,col);
index 6a07a4e..30e4305 100755 (executable)
@@ -135,18 +135,23 @@ public class TreePanel extends GTreePanel
   public TreePanel(AlignmentPanel alignPanel, NewickFile fin,
           AlignmentAnnotation aa, String title)
   {
-    this(alignPanel, fin, title, null);
+    super();
     columnWise=true;
     assocAnnotation = aa;
-    
-
+    this.setFrameIcon(null);
+    this.treeTitle = title;
+    initTreePanel(alignPanel, null, null, fin, null);
   }
+  
   boolean columnWise=false;
   AlignmentAnnotation assocAnnotation=null;
-  public boolean getColumnWise()
+  public boolean isColumnWise()
   {
     return columnWise;
   }
+  public AlignmentAnnotation getAssocAnnotation() {
+    return assocAnnotation;
+  }
 
   public AlignmentI getAlignment()
   {
@@ -167,6 +172,15 @@ public class TreePanel extends GTreePanel
     this.treeType = type;
     this.scoreModelName = modelName;
 
+    if (columnWise)
+    {
+      bootstrapMenu.setVisible(false);
+      placeholdersMenu.setSelected(false);
+      placeholdersMenu.setVisible(false);
+      fitToWindow.setSelected(false);
+      sortAssocViews.setVisible(false);
+    }
+
     treeCanvas = new TreeCanvas(this, ap, scrollPane);
     scrollPane.setViewportView(treeCanvas);
 
index 36c87ce..efcc7ff 100644 (file)
@@ -1325,6 +1325,13 @@ public class Jalview2XML
               tree.setLinkToAllViews(
                       tp.getTreeCanvas().isApplyToAllViews());
 
+              // columnWiseTree
+              if (tp.isColumnWise())
+              {
+                tree.setColumnWise(true);
+                String annId = tp.getAssocAnnotation().annotationId;
+                tree.setColumnReference(annId);
+              }
               // jms.addTree(tree);
               object.getTree().add(tree);
             }
@@ -4385,10 +4392,28 @@ public class Jalview2XML
         TreePanel tp = (TreePanel) retrieveExistingObj(tree.getId());
         if (tp == null)
         {
-          tp = af.showNewickTree(new NewickFile(tree.getNewick()),
-                  tree.getTitle(), safeInt(tree.getWidth()),
-                  safeInt(tree.getHeight()), safeInt(tree.getXpos()),
-                  safeInt(tree.getYpos()));
+          if (tree.isColumnWise())
+          {
+            AlignmentAnnotation aa = (AlignmentAnnotation) annotationIds.get(tree
+                    .getColumnReference());
+            if (aa == null)
+            {
+              Console.warn(
+                      "Null alignment annotation when restoring columnwise tree");
+            }
+            tp = af.showColumnWiseTree(new NewickFile(tree.getNewick()), aa,
+                    tree.getTitle(), safeInt(tree.getWidth()),
+                    safeInt(tree.getHeight()), safeInt(tree.getXpos()),
+                    safeInt(tree.getYpos()));
+
+          }
+          else
+          {
+            tp = af.showNewickTree(new NewickFile(tree.getNewick()),
+                    tree.getTitle(), safeInt(tree.getWidth()),
+                    safeInt(tree.getHeight()), safeInt(tree.getXpos()),
+                    safeInt(tree.getYpos()));
+          }
           if (tree.getId() != null)
           {
             // perhaps bind the tree id to something ?
index 3ce1c83..a5ce9a0 100644 (file)
@@ -262,7 +262,8 @@ public class PAEContactMatrix implements ContactMatrixI
     return groups!=null;
   }
   String newick=null;
-  public String getNewickString()
+  @Override
+  public String getNewick()
   {
     return newick;
   }
index 5e1b3ea..0479a34 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:03 AM GMT 
+// Generated on: 2023.03.17 at 05:31:45 PM GMT 
 //
 
 
index 84a1ab3..6336ef1 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:03 AM GMT 
+// Generated on: 2023.03.17 at 05:31:45 PM GMT 
 //
 
 
index 234c721..e1a917a 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:03 AM GMT 
+// Generated on: 2023.03.17 at 05:31:45 PM GMT 
 //
 
 
index 76cb42d..958cdbc 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:03 AM GMT 
+// Generated on: 2023.03.17 at 05:31:45 PM GMT 
 //
 
 
index 56a9539..244d0fe 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:03 AM GMT 
+// Generated on: 2023.03.17 at 05:31:45 PM GMT 
 //
 
 
index cdc21a5..2a40e11 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index ba54d37..8d99141 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index ccd6222..27e0cc6 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 72a3e73..c5f75e0 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index c304ff8..9be9876 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 2a8d1eb..6546be9 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 09701ba..a124e62 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 2e41fe0..61e66ce 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index faf4182..24190b8 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index e4ea645..3a9428c 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 0bf4211..22b2533 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
@@ -260,6 +260,8 @@ import javax.xml.datatype.XMLGregorianCalendar;
  *                   &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
  *                   &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
  *                   &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *                   &lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ *                   &lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" />
  *                   &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
  *                   &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
  *                 &lt;/restriction>
@@ -310,8 +312,8 @@ import javax.xml.datatype.XMLGregorianCalendar;
  *                     &lt;/element>
  *                     &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/>
  *                   &lt;/sequence>
- *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
  *                   &lt;attGroup ref="{www.jalview.org}SimilarityParams"/>
+ *                   &lt;attGroup ref="{www.jalview.org}swingwindow"/>
  *                   &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
  *                   &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" />
  *                   &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" />
@@ -3124,8 +3126,8 @@ public class JalviewModel {
      *         &lt;/element>
      *         &lt;element name="pcaData" type="{www.jalview.org}PcaDataType"/>
      *       &lt;/sequence>
-     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
      *       &lt;attGroup ref="{www.jalview.org}SimilarityParams"/>
+     *       &lt;attGroup ref="{www.jalview.org}swingwindow"/>
      *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
      *       &lt;attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" />
      *       &lt;attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" />
@@ -3180,14 +3182,6 @@ public class JalviewModel {
         protected Boolean showLabels;
         @XmlAttribute(name = "linkToAllViews")
         protected Boolean linkToAllViews;
-        @XmlAttribute(name = "width")
-        protected Integer width;
-        @XmlAttribute(name = "height")
-        protected Integer height;
-        @XmlAttribute(name = "xpos")
-        protected Integer xpos;
-        @XmlAttribute(name = "ypos")
-        protected Integer ypos;
         @XmlAttribute(name = "includeGaps")
         protected Boolean includeGaps;
         @XmlAttribute(name = "matchGaps")
@@ -3196,6 +3190,14 @@ public class JalviewModel {
         protected Boolean includeGappedColumns;
         @XmlAttribute(name = "denominateByShortestLength")
         protected Boolean denominateByShortestLength;
+        @XmlAttribute(name = "width")
+        protected Integer width;
+        @XmlAttribute(name = "height")
+        protected Integer height;
+        @XmlAttribute(name = "xpos")
+        protected Integer xpos;
+        @XmlAttribute(name = "ypos")
+        protected Integer ypos;
 
         /**
          * Gets the value of the sequencePoint property.
@@ -3544,195 +3546,195 @@ public class JalviewModel {
         }
 
         /**
-         * Gets the value of the width property.
+         * Gets the value of the includeGaps property.
          * 
          * @return
          *     possible object is
-         *     {@link Integer }
+         *     {@link Boolean }
          *     
          */
-        public Integer getWidth() {
-            return width;
+        public Boolean isIncludeGaps() {
+            return includeGaps;
         }
 
         /**
-         * Sets the value of the width property.
+         * Sets the value of the includeGaps property.
          * 
          * @param value
          *     allowed object is
-         *     {@link Integer }
+         *     {@link Boolean }
          *     
          */
-        public void setWidth(Integer value) {
-            this.width = value;
+        public void setIncludeGaps(Boolean value) {
+            this.includeGaps = value;
         }
 
         /**
-         * Gets the value of the height property.
+         * Gets the value of the matchGaps property.
          * 
          * @return
          *     possible object is
-         *     {@link Integer }
+         *     {@link Boolean }
          *     
          */
-        public Integer getHeight() {
-            return height;
+        public Boolean isMatchGaps() {
+            return matchGaps;
         }
 
         /**
-         * Sets the value of the height property.
+         * Sets the value of the matchGaps property.
          * 
          * @param value
          *     allowed object is
-         *     {@link Integer }
+         *     {@link Boolean }
          *     
          */
-        public void setHeight(Integer value) {
-            this.height = value;
+        public void setMatchGaps(Boolean value) {
+            this.matchGaps = value;
         }
 
         /**
-         * Gets the value of the xpos property.
+         * Gets the value of the includeGappedColumns property.
          * 
          * @return
          *     possible object is
-         *     {@link Integer }
+         *     {@link Boolean }
          *     
          */
-        public Integer getXpos() {
-            return xpos;
+        public Boolean isIncludeGappedColumns() {
+            return includeGappedColumns;
         }
 
         /**
-         * Sets the value of the xpos property.
+         * Sets the value of the includeGappedColumns property.
          * 
          * @param value
          *     allowed object is
-         *     {@link Integer }
+         *     {@link Boolean }
          *     
          */
-        public void setXpos(Integer value) {
-            this.xpos = value;
+        public void setIncludeGappedColumns(Boolean value) {
+            this.includeGappedColumns = value;
         }
 
         /**
-         * Gets the value of the ypos property.
+         * Gets the value of the denominateByShortestLength property.
          * 
          * @return
          *     possible object is
-         *     {@link Integer }
+         *     {@link Boolean }
          *     
          */
-        public Integer getYpos() {
-            return ypos;
+        public Boolean isDenominateByShortestLength() {
+            return denominateByShortestLength;
         }
 
         /**
-         * Sets the value of the ypos property.
+         * Sets the value of the denominateByShortestLength property.
          * 
          * @param value
          *     allowed object is
-         *     {@link Integer }
+         *     {@link Boolean }
          *     
          */
-        public void setYpos(Integer value) {
-            this.ypos = value;
+        public void setDenominateByShortestLength(Boolean value) {
+            this.denominateByShortestLength = value;
         }
 
         /**
-         * Gets the value of the includeGaps property.
+         * Gets the value of the width property.
          * 
          * @return
          *     possible object is
-         *     {@link Boolean }
+         *     {@link Integer }
          *     
          */
-        public Boolean isIncludeGaps() {
-            return includeGaps;
+        public Integer getWidth() {
+            return width;
         }
 
         /**
-         * Sets the value of the includeGaps property.
+         * Sets the value of the width property.
          * 
          * @param value
          *     allowed object is
-         *     {@link Boolean }
+         *     {@link Integer }
          *     
          */
-        public void setIncludeGaps(Boolean value) {
-            this.includeGaps = value;
+        public void setWidth(Integer value) {
+            this.width = value;
         }
 
         /**
-         * Gets the value of the matchGaps property.
+         * Gets the value of the height property.
          * 
          * @return
          *     possible object is
-         *     {@link Boolean }
+         *     {@link Integer }
          *     
          */
-        public Boolean isMatchGaps() {
-            return matchGaps;
+        public Integer getHeight() {
+            return height;
         }
 
         /**
-         * Sets the value of the matchGaps property.
+         * Sets the value of the height property.
          * 
          * @param value
          *     allowed object is
-         *     {@link Boolean }
+         *     {@link Integer }
          *     
          */
-        public void setMatchGaps(Boolean value) {
-            this.matchGaps = value;
+        public void setHeight(Integer value) {
+            this.height = value;
         }
 
         /**
-         * Gets the value of the includeGappedColumns property.
+         * Gets the value of the xpos property.
          * 
          * @return
          *     possible object is
-         *     {@link Boolean }
+         *     {@link Integer }
          *     
          */
-        public Boolean isIncludeGappedColumns() {
-            return includeGappedColumns;
+        public Integer getXpos() {
+            return xpos;
         }
 
         /**
-         * Sets the value of the includeGappedColumns property.
+         * Sets the value of the xpos property.
          * 
          * @param value
          *     allowed object is
-         *     {@link Boolean }
+         *     {@link Integer }
          *     
          */
-        public void setIncludeGappedColumns(Boolean value) {
-            this.includeGappedColumns = value;
+        public void setXpos(Integer value) {
+            this.xpos = value;
         }
 
         /**
-         * Gets the value of the denominateByShortestLength property.
+         * Gets the value of the ypos property.
          * 
          * @return
          *     possible object is
-         *     {@link Boolean }
+         *     {@link Integer }
          *     
          */
-        public Boolean isDenominateByShortestLength() {
-            return denominateByShortestLength;
+        public Integer getYpos() {
+            return ypos;
         }
 
         /**
-         * Sets the value of the denominateByShortestLength property.
+         * Sets the value of the ypos property.
          * 
          * @param value
          *     allowed object is
-         *     {@link Boolean }
+         *     {@link Integer }
          *     
          */
-        public void setDenominateByShortestLength(Boolean value) {
-            this.denominateByShortestLength = value;
+        public void setYpos(Integer value) {
+            this.ypos = value;
         }
 
 
@@ -4200,6 +4202,8 @@ public class JalviewModel {
      *       &lt;attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
      *       &lt;attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
      *       &lt;attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+     *       &lt;attribute name="columnWise" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+     *       &lt;attribute name="columnReference" type="{http://www.w3.org/2001/XMLSchema}string" />
      *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
      *       &lt;attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
      *     &lt;/restriction>
@@ -4238,6 +4242,10 @@ public class JalviewModel {
         protected Boolean fitToWindow;
         @XmlAttribute(name = "currentTree")
         protected Boolean currentTree;
+        @XmlAttribute(name = "columnWise")
+        protected Boolean columnWise;
+        @XmlAttribute(name = "columnReference")
+        protected String columnReference;
         @XmlAttribute(name = "id")
         @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
         @XmlID
@@ -4519,6 +4527,58 @@ public class JalviewModel {
         }
 
         /**
+         * Gets the value of the columnWise property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link Boolean }
+         *     
+         */
+        public boolean isColumnWise() {
+            if (columnWise == null) {
+                return false;
+            } else {
+                return columnWise;
+            }
+        }
+
+        /**
+         * Sets the value of the columnWise property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link Boolean }
+         *     
+         */
+        public void setColumnWise(Boolean value) {
+            this.columnWise = value;
+        }
+
+        /**
+         * Gets the value of the columnReference property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getColumnReference() {
+            return columnReference;
+        }
+
+        /**
+         * Sets the value of the columnReference property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setColumnReference(String value) {
+            this.columnReference = value;
+        }
+
+        /**
          * Gets the value of the id property.
          * 
          * @return
index c5177ba..b62cf15 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 22242eb..7a86123 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index a147ab4..10d3d5b 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index fcf9958..d884100 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 935adc5..22b78a5 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 3a2f81b..f034a2a 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 3d19c58..06aecab 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 544b568..401022a 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 5851659..d02fd03 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index f96550a..a915d94 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 62c04c8..fa65d58 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 304d653..192caf8 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 0571f85..dd41877 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index 21b35d7..d3c2098 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 
index a8e5b9f..2cfefda 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:02 AM GMT 
+// Generated on: 2023.03.17 at 05:31:44 PM GMT 
 //
 
 @javax.xml.bind.annotation.XmlSchema(namespace = "www.vamsas.ac.uk/jalview/version2", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
index 15940c7..de12eb2 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index f2ecd0c..e9244e9 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 7ce7ebc..e0692c9 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 022099d..71db504 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index b623d2c..73ccfa8 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 74efb7c..21963a8 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index f8d37c5..0b4d4bd 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index afe1b60..59c9857 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 78ed315..0fa25a6 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 0632ac3..f818e2e 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 1094851..f2d5638 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 6547333..71af71f 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 0dbe520..5fa628e 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 4c493d5..3d6c308 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 038f37f..c9cadc2 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index b3aa4e8..ea55664 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 7f3c265..f6409ee 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 38c1665..62e9999 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 285b8d3..8b52523 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index eddabb2..be68867 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index d18fdcd..e2bb255 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 06a0470..bc5c8c5 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 80171d4..bb76add 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 63ea683..1354092 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index f5a126a..e674452 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 33c194e..a00d698 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 45f654f..c9f169c 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 7cdaabd..c34a0f5 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 9edfb71..7b106fb 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 933a013..8d9d51d 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 8315a1c..e5f9fde 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index fbd840b..49cd130 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index ef8f052..9796260 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 711afca..9293a64 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index dc8f920..dd3308b 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 27ea148..97522e2 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index a7bc828..14f96df 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 
index 3f8b048..a7bc67c 100644 (file)
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2023.03.09 at 07:45:04 AM GMT 
+// Generated on: 2023.03.17 at 05:31:46 PM GMT 
 //
 
 @javax.xml.bind.annotation.XmlSchema(namespace = "http://uniprot.org/uniprot", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
index 0ab9dcb..fa6c25c 100644 (file)
@@ -1568,6 +1568,7 @@ public class Jalview2xmlTests extends Jalview2xmlBase
     float[][] vals = ContactMatrix.fromFloatStringToContacts(content, sq.getLength(), sq.getLength());
     assertEquals(vals[3][4],paevals[3][4]);
     dummyMat.makeGroups(0.5f, false);
+    Assert.assertNotSame(dummyMat.getNewick(), "");
     AlignmentAnnotation paeCm = sq.addContactList(dummyMat);
     al.addAnnotation(paeCm);
     File tfile = File.createTempFile("testStoreAndRecoverPAEmatrix",