JAL-4090 JAL-1551 source license
[jalview.git] / src / jalview / datamodel / SeqDistanceContactMatrix.java
index a915bb0..987ea36 100644 (file)
@@ -1,3 +1,23 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ 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.datamodel;
 
 import java.awt.Color;
@@ -5,13 +25,18 @@ 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";
 
@@ -82,20 +107,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";
@@ -125,46 +136,17 @@ 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()
+  public double getElementAt(int _column, int i)
   {
-    return groups != null;
+    return Math.abs(_column - i);
   }
 
   @Override
-  public List<BitSet> getGroups()
+  protected SeqDistanceContactMatrix newMappableContactMatrix(
+          SequenceI newRefSeq, MapList newFromMapList)
   {
-    return groups;
-  }
 
-  HashMap<BitSet, Color> colorMap = new HashMap<>();
-
-  @Override
-  public Color getColourForGroup(BitSet bs)
-  {
-    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);
   }
 }