JAL-4134 JAL-3855 store/restore groups, tree and threshold used to cluster a PAE...
[jalview.git] / src / jalview / ws / datamodel / alphafold / PAEContactMatrix.java
index db3addc..87ccab6 100644 (file)
@@ -228,9 +228,11 @@ public class PAEContactMatrix implements ContactMatrixI
   @Override
   public String getAnnotLabel()
   {
-    StringBuilder label = new StringBuilder("pAE Matrix");
+    StringBuilder label = new StringBuilder("PAE Matrix");
     if (this.getReferenceSeq() != null)
+    {
       label.append(":").append(this.getReferenceSeq().getDisplayId(false));
+    }
     return label.toString();
   }
 
@@ -264,12 +266,15 @@ public class PAEContactMatrix implements ContactMatrixI
   {
     return newick;
   }
+  boolean abs;
+  double thresh;
+  String treeType=null;
   public void makeGroups(float thresh,boolean abs)
   {
     AverageDistanceEngine clusterer = new AverageDistanceEngine(null, null, this);
     double height = clusterer.findHeight(clusterer.getTopNode());
     newick = new jalview.io.NewickFile(clusterer.getTopNode(),false,true).print();
-
+    treeType = "UPGMA";
     Console.trace("Newick string\n"+newick);
 
     List<BinaryNode> nodegroups;
@@ -285,7 +290,8 @@ public class PAEContactMatrix implements ContactMatrixI
       nodegroups = new ArrayList<BinaryNode>();
       nodegroups.add(clusterer.getTopNode());
     }
-
+    this.abs=abs;
+    this.thresh=thresh;
     groups = new ArrayList<>();
     for (BinaryNode root:nodegroups)
     {
@@ -309,4 +315,28 @@ public class PAEContactMatrix implements ContactMatrixI
     }
     return ContactMatrixI.super.getGroupsFor(column);
   }
+
+  public void restoreGroups(List<BitSet> newgroups, String treeMethod,
+          String tree, double thresh2)
+  {
+    treeType=treeMethod;
+    groups = newgroups;
+    thresh=thresh2;
+    newick =tree;
+    
+  }
+  @Override
+  public boolean hasCutHeight() {
+    return groups!=null && thresh!=0;
+  }
+  @Override
+  public double getCutHeight()
+  {
+    return thresh;
+  }
+  @Override
+  public String getTreeMethod()
+  {
+    return treeType;
+  }
 }