Merge branch 'develop' into features/JAL-4134_use_annotation_row_for_colours_and_groups
[jalview.git] / src / jalview / datamodel / SeqDistanceContactMatrix.java
index a915bb0..f8fd750 100644 (file)
@@ -5,16 +5,19 @@ import java.util.BitSet;
 import java.util.HashMap;
 import java.util.List;
 
+import jalview.util.MapList;
+import jalview.ws.datamodel.alphafold.MappableContactMatrix;
 /**
  * Dummy contact matrix based on sequence distance
  * 
  * @author jprocter
  *
  */
-public class SeqDistanceContactMatrix implements ContactMatrixI
+public class SeqDistanceContactMatrix
+        extends MappableContactMatrix<SeqDistanceContactMatrix>
+        implements ContactMatrixI
 {
   private static final String SEQUENCE_DISTANCE = "SEQUENCE_DISTANCE";
-
   private int width = 0;
 
   public SeqDistanceContactMatrix(int width)
@@ -82,20 +85,6 @@ public class SeqDistanceContactMatrix implements ContactMatrixI
   }
 
   @Override
-  public boolean hasReferenceSeq()
-  {
-    // TODO Auto-generated method stub
-    return false;
-  }
-
-  @Override
-  public SequenceI getReferenceSeq()
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
   public String getAnnotDescr()
   {
     return "Sequence distance matrix";
@@ -124,47 +113,16 @@ public class SeqDistanceContactMatrix implements ContactMatrixI
   {
     return width;
   }
-
-  private List<BitSet> groups = null;
-
-  @Override
-  public void updateGroups(List<BitSet> colGroups)
-  {
-    groups = colGroups;
-  }
-
   @Override
-  public boolean hasGroups()
+  protected double getElementAt(int _column, int i)
   {
-    return groups != null;
+    return Math.abs(_column - i);
   }
-
-  @Override
-  public List<BitSet> getGroups()
-  {
-    return groups;
-  }
-
-  HashMap<BitSet, Color> colorMap = new HashMap<>();
-
   @Override
-  public Color getColourForGroup(BitSet bs)
+  protected SeqDistanceContactMatrix newMappableContactMatrix(
+          SequenceI newRefSeq, MapList newFromMapList)
   {
-    if (bs == null)
-    {
-      return Color.white;
-    }
-    Color groupCol = colorMap.get(bs);
-    if (groupCol == null)
-    {
-      return Color.white;
-    }
-    return groupCol;
-  }
 
-  @Override
-  public void setColorForGroup(BitSet bs, Color color)
-  {
-    colorMap.put(bs, color);
+    return new SeqDistanceContactMatrix(width);
   }
 }