--- /dev/null
+package jalview.ws.datamodel;
+
+import jalview.datamodel.ContactListI;
+import jalview.datamodel.ContactMatrixI;
+import jalview.datamodel.Mapping;
+import jalview.datamodel.SequenceI;
+
+public interface MappableContactMatrixI extends ContactMatrixI
+{
+
+ boolean hasReferenceSeq();
+
+ SequenceI getReferenceSeq();
+ /**
+ * remaps the matrix to a new reference sequence
+ * @param dsq
+ * @param sqmpping - mapping from current reference to new reference - 1:1 only
+ * @return new ContactMatrixI instance with updated mapping
+ */
+ MappableContactMatrixI liftOver(SequenceI dsq, Mapping sqmpping);
+
+ /**
+ * like ContactMatrixI.getContactList(int column) but
+ * @param localFrame - sequence or other object that this contact matrix is associated with
+ * @param column - position in localFrame
+ * @return ContactListI that returns contacts w.r.t. localFrame
+ */
+
+ ContactListI getMappableContactList(SequenceI localFrame, int column);
+
+}