JAL-2349 JAL-3855 ContactListI.getPosition() to recover original position passed...
authorJim Procter <j.procter@dundee.ac.uk>
Thu, 20 Oct 2022 15:28:00 +0000 (16:28 +0100)
committerJim Procter <j.procter@dundee.ac.uk>
Thu, 20 Oct 2022 15:28:00 +0000 (16:28 +0100)
src/jalview/datamodel/ContactListI.java
src/jalview/datamodel/ContactListImpl.java
src/jalview/datamodel/ContactListProviderI.java
src/jalview/datamodel/ContactMatrix.java
src/jalview/datamodel/SeqDistanceContactMatrix.java
src/jalview/gui/AnnotationPanel.java
src/jalview/ws/datamodel/alphafold/PAEContactMatrix.java
test/jalview/datamodel/ContactMatrixTest.java

index 72dbf2e..ac06adb 100644 (file)
@@ -1,6 +1,5 @@
 package jalview.datamodel;
 
-
 public interface ContactListI extends ContactListProviderI
 {
 
index 561048e..beb557f 100644 (file)
@@ -21,6 +21,12 @@ public class ContactListImpl implements ContactListI
   }
 
   @Override
+  public int getPosition()
+  {
+    return clist.getPosition();
+  }
+
+  @Override
   public double getContactAt(int column)
   {
     return clist.getContactAt(column);
index 37c4e07..f027e01 100644 (file)
@@ -4,6 +4,13 @@ public interface ContactListProviderI
 {
 
   /**
+   * 
+   * @return position index for this contact List (usually sequence position or
+   *         alignment column)
+   */
+  int getPosition();
+
+  /**
    * dimension of list where getContactAt(column<getContactHeight()) may return
    * a value
    * 
index 07934a1..2968ab9 100644 (file)
@@ -87,6 +87,12 @@ public class ContactMatrix implements ContactMatrixI
       int p = column;
 
       @Override
+      public int getPosition()
+      {
+        return p;
+      }
+
+      @Override
       public int getContactHeight()
       {
         return width;
index bb2299b..4b23f04 100644 (file)
@@ -26,6 +26,7 @@ public class SeqDistanceContactMatrix implements ContactMatrixI
   {
     return width;
   }
+
   @Override
   public ContactListI getContactList(final int column)
   {
@@ -60,6 +61,12 @@ public class SeqDistanceContactMatrix implements ContactMatrixI
       }
 
       @Override
+      public int getPosition()
+      {
+        return p;
+      }
+
+      @Override
       public double getContactAt(int column)
       {
         return Math.abs(column - p);
index 2149266..615fbdd 100755 (executable)
@@ -1101,8 +1101,8 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
         ContactGeometry.contactInterval ci = cgeom.mapFor(rowAndOffset,
                 rowAndOffset);
         ContactRange cr = clist.getRangeFor(ci.cStart, ci.cEnd);
-        tooltip = "Contact from " + ci.cStart + " to " + ci.cEnd
-                + "<br/>Mean:" + cr.getMean();
+        tooltip = "Contact from " + clist.getPosition() + ", [" + ci.cStart
+                + " - " + ci.cEnd + "]" + "<br/>Mean:" + cr.getMean();
 
         // ap.getStructureSelectionManager().mouseOverSequence(ann.sequenceRef,
         // new int[] {column, ci.cStart,ci.cEnd}, -1, null)
index 3a8e26a..8fde1e8 100644 (file)
@@ -126,6 +126,12 @@ public class PAEContactMatrix implements ContactMatrixI
     return new ContactListImpl(new ContactListProviderI()
     {
       @Override
+      public int getPosition()
+      {
+        return _column;
+      }
+
+      @Override
       public int getContactHeight()
       {
         return maxcol - 1;
index f0861e9..5d8b8d1 100644 (file)
@@ -18,7 +18,8 @@ public class ContactMatrixTest
   /**
    * standard asserts for ContactMatrixI
    */
-  public static void testContactMatrixI(ContactMatrixI cm, boolean symmetric)
+  public static void testContactMatrixI(ContactMatrixI cm,
+          boolean symmetric)
   {
     // assume contact matrix is square for text
     ContactListI clist = cm.getContactList(1);
@@ -81,6 +82,12 @@ public class ContactMatrixTest
       double[] val = { 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7 };
 
       @Override
+      public int getPosition()
+      {
+        return 0;
+      }
+
+      @Override
       public int getContactHeight()
       {
         return val.length;