SequenceI[] originalSequences, String[] omitHidden, int start,
int end, boolean ungapped)
{
+ return (float[]) computeRedundancyMatrixWithRep(originalSequences,
+ omitHidden, start, end, ungapped)[0];
+ }
+
+ public static Object[] computeRedundancyMatrixWithRep(
+ SequenceI[] originalSequences, String[] omitHidden, int start,
+ int end, boolean ungapped)
+ {
+
int height = originalSequences.length;
float[] redundancy = new float[height];
+ SequenceI[] rep = new SequenceI[height];
int[] lngth = new int[height];
for (int i = 0; i < height; i++)
{
// use real sequence length rather than string length
if (lngth[j] < lngth[i])
{
- redundancy[j] = Math.max(pid, redundancy[j]);
+ if (pid > redundancy[j])
+ {
+ rep[j] = originalSequences[i];
+ redundancy[j] = pid;
+ }
}
else
{
- redundancy[i] = Math.max(pid, redundancy[i]);
+ if (pid > redundancy[i])
+ {
+ rep[i] = originalSequences[j];
+ redundancy[i] = pid;
+ }
}
}
}
- return redundancy;
+ return new Object[] { redundancy, rep };
}
}