/**
* the matrix that is being mapped to
*/
- protected ContactMatrixI mappedMatrix=null;
-
+ protected ContactMatrixI mappedMatrix = null;
+
public ContactListI getContactList(int column)
{
return mappedMatrix.getContactList(column);
{
return mappedMatrix;
}
-
+
@Override
public GroupSetI getGroupSet()
{
{
mappedMatrix.setGroupSet(makeGroups);
}
-
+
/**
* the sequence and how it is mapped to the matrix
*/
+ "' is not mappable for the given localFrame sequence. ("
+ localFrame.getName() + ")");
}
-
+
// now look up from-to matrix columns in toSeq frame
-
+
if (toSeq == null)
{
// no mapping - so we assume 1:1
// first locate on reference sequence
int[] mappedPositions = toSeq.locateInFrom(from, to);
- if (mappedPositions==null)
+ if (mappedPositions == null)
{
return null;
}
-
+
// and now map to localFrame
// from-to columns on the associated sequence should be
// i. restricted to positions in localFrame
- // ii.
-
-// int s = -1, e = -1;
-// for (int p = 0; p < mappedPositions.length; p++)
-// {
-// if (s == -1 && mappedPositions[p] >= localFrame.getStart())
-// {
-// s = p; // remember first position within local frame
-// }
-// if (e == -1 || mappedPositions[p] <= localFrame.getEnd())
-// {
-// // update end pointer
-// e = p;
-// // compute local map
-// mappedPositions[p] = localFrame.findIndex(mappedPositions[p]);
-// }
-// }
-// int[] _trimmed = new int[e - s + 1];
-// return _trimmed;
+ // ii.
+
+ // int s = -1, e = -1;
+ // for (int p = 0; p < mappedPositions.length; p++)
+ // {
+ // if (s == -1 && mappedPositions[p] >= localFrame.getStart())
+ // {
+ // s = p; // remember first position within local frame
+ // }
+ // if (e == -1 || mappedPositions[p] <= localFrame.getEnd())
+ // {
+ // // update end pointer
+ // e = p;
+ // // compute local map
+ // mappedPositions[p] = localFrame.findIndex(mappedPositions[p]);
+ // }
+ // }
+ // int[] _trimmed = new int[e - s + 1];
+ // return _trimmed;
return mappedPositions;
}
}
/**
- * get a specific element of the underlying contact matrix in its data-local coordinates
- * rather than the mapped frame. Implementations are allowed to throw
- * RunTimeExceptions if _column/i are out of bounds
+ * get a specific element of the underlying contact matrix in its data-local
+ * coordinates rather than the mapped frame. Implementations are allowed to
+ * throw RunTimeExceptions if _column/i are out of bounds
*
* @param _column
* @param i
* @return
*/
- public double getElementAt(int _column, int i) {
+ public double getElementAt(int _column, int i)
+ {
return mappedMatrix.getElementAt(_column, i);
}
+ @Override
+ public int hashCode()
+ {
+ return 7 * (refSeq != null ? refSeq.hashCode() : 0)
+ + 11 * (toSeq != null ? toSeq.hashCode() : 0)
+ + 13 * (mappedMatrix != null ? mappedMatrix.hashCode() : 0)
+ + length * 3;
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (obj == null || !(obj.getClass().equals(getClass())))
+ {
+ return false;
+ }
+ T them = (T) obj;
+ return mappedMatrix == them.mappedMatrix && length == them.length
+ && refSeq == them.refSeq && toSeq.equals(them.toSeq);
+
+ }
}