basePairs.put(score.getRanges().first(), new Float(score
.getScores().get(0)));
}
- for (int i = 0; i < struct.length(); i++)
+
+ for (int i = 0,ri=0,iEnd=struct.length();i<iEnd; i++,ri++)
{
-
+ if (gapMap!=null)
+ {
+ // skip any gapped columns in the input data
+ while (!gapMap[ri])
+ {
+ ri++;
+ }
+ }
// Return all the contacts associated with position i
LinkedHashMap<Range, Float> contacts = isContact(basePairs, i + 1);
}
}
- anns[i] = new Annotation(struct.substring(i, i + 1), description,
+ anns[ri] = new Annotation(struct.substring(i, i + 1), description,
isSS(struct.charAt(i)), prob);
}
}
else if (data == null || data.size() == 1)
{
- for (int i = 0; i < struct.length(); i++)
+ for (int i = 0,ri=0,iEnd=struct.length();i<iEnd; i++,ri++)
{
-
- anns[i] = new Annotation(struct.substring(i, i + 1), "",
+ if (gapMap!=null)
+ {
+ // skip any gapped columns in the input data
+ while (!gapMap[ri])
+ {
+ ri++;
+ }
+ }
+ anns[ri] = new Annotation(struct.substring(i, i + 1), "",
isSS(struct.charAt(i)), Float.NaN);
}