float maxscore;
- @SuppressWarnings("unchecked")
- public PAEContactMatrix(SequenceI _refSeq, Map<String, Object> pae_obj)
+ private void setRefSeq(SequenceI _refSeq)
{
refSeq = _refSeq;
while (refSeq.getDatasetSequence() != null)
{
refSeq = refSeq.getDatasetSequence();
}
- // convert the lists to primitive arrays and store
length = _refSeq.getEnd() - _refSeq.getStart() + 1;
-
+ }
+ @SuppressWarnings("unchecked")
+ public PAEContactMatrix(SequenceI _refSeq, Map<String, Object> pae_obj)
+ {
+ setRefSeq(_refSeq);
+ // convert the lists to primitive arrays and store
+
if (!MapUtils.containsAKey(pae_obj, "predicted_aligned_error", "pae"))
{
parse_version_1_pAE(pae_obj);
parse_version_2_pAE(pae_obj);
}
}
+ /**
+ * construct a sequence associated PAE matrix directly from a float array
+ * @param _refSeq
+ * @param matrix
+ */
+ public PAEContactMatrix(SequenceI _refSeq, float[][] matrix)
+ {
+ setRefSeq(_refSeq);
+ maxcol=0;
+ for (float[] row:matrix)
+ {
+ if (row.length>maxcol)
+ {
+ maxcol=row.length;
+ }
+ maxscore=row[0];
+ for (float f:row)
+ {
+ if (maxscore<f) {
+ maxscore=f;
+ }
+ }
+ }
+ maxrow=matrix.length;
+
+ }
/**
* parse a sane JSON representation of the pAE
*
* @param pae_obj
*/
+ @SuppressWarnings("unchecked")
private void parse_version_2_pAE(Map<String, Object> pae_obj)
{
elements = new float[length][length];
*
* @param pae_obj
*/
+ @SuppressWarnings("unchecked")
private void parse_version_1_pAE(Map<String, Object> pae_obj)
{
// assume indices are with respect to range defined by _refSeq on the
{
return -1;
}
- // TODO Auto-generated method stub
return elements[_column][column];
}
});