Vector<SequenceNode> node;
+ private AlignmentView seqStrings;
+
/**
* Constructor
*
int start, end;
boolean selview = av.getSelectionGroup() != null
&& av.getSelectionGroup().getSize() > 1;
- AlignmentView seqStrings = av.getAlignmentView(selview);
+ seqStrings = av.getAlignmentView(selview);
if (!selview)
{
start = 0;
{
/*
* compute similarity and invert it to give a distance measure
+ * reverseRange(true) converts maximum similarity to zero distance
*/
MatrixI result = ((SimilarityScoreModelI) sm).findSimilarities(
seqData, scoreOptions);
{
double dist = distances.getValue(i, j);
- /*
- * add the members of cluster(j) to cluster(i)
- */
- clusters.get(i).or(clusters.get(j));
-
ri = findr(i, j);
rj = findr(j, i);
node.setElementAt(sn, i);
/*
- * mark cluster j as disposed of
+ * move the members of cluster(j) to cluster(i)
+ * and mark cluster j as out of the game
*/
+ clusters.get(i).or(clusters.get(j));
+ clusters.get(j).clear();
done.set(j);
- clusters.setElementAt(null, j);
}
protected abstract void findNewDistances(SequenceNode tmpi, SequenceNode tmpj,
}
}
+ public AlignmentView getOriginalData()
+ {
+ return seqStrings;
+ }
+
}