JAL-838 added 'SeqSpace' PID mode, added parameters to findDistances and
[jalview.git] / src / jalview / analysis / NJTree.java
index 2c6b61d..fdadb13 100644 (file)
@@ -21,6 +21,7 @@
 package jalview.analysis;
 
 import jalview.analysis.scoremodels.ScoreModels;
+import jalview.analysis.scoremodels.SimilarityParams;
 import jalview.api.analysis.DistanceScoreModelI;
 import jalview.api.analysis.ScoreModelI;
 import jalview.api.analysis.SimilarityScoreModelI;
@@ -231,6 +232,10 @@ public class NJTree
   {
     this.sequence = sqs;
     this.node = new Vector<SequenceNode>();
+    if (!(treeType.equals(NEIGHBOUR_JOINING)))
+    {
+      treeType = AVERAGE_DISTANCE;
+    }
     this.type = treeType;
     this.pwtype = modelType;
     if (seqView != null)
@@ -248,11 +253,6 @@ public class NJTree
       sdata.addOperation(CigarArray.M, end - start + 1);
       this.seqData = new AlignmentView(sdata, start);
     }
-    // System.err.println("Made seqData");// dbg
-    if (!(treeType.equals(NEIGHBOUR_JOINING)))
-    {
-      treeType = AVERAGE_DISTANCE;
-    }
 
     if (sm == null && !(modelType.equals("PID")))
     {
@@ -274,17 +274,19 @@ public class NJTree
 
     noseqs = i++;
 
+    // TODO pass choice of params from GUI in constructo
     if (sm instanceof DistanceScoreModelI)
     {
-      distance = ((DistanceScoreModelI) sm).findDistances(seqData);
+      distance = ((DistanceScoreModelI) sm).findDistances(seqData,
+              SimilarityParams.Jalview);
     }
     else if (sm instanceof SimilarityScoreModelI)
     {
       /*
        * compute similarity and invert it to give a distance measure
        */
-      MatrixI result = ((SimilarityScoreModelI) sm)
-              .findSimilarities(seqData);
+      MatrixI result = ((SimilarityScoreModelI) sm).findSimilarities(
+              seqData, SimilarityParams.Jalview);
       result.reverseRange(true);
       distance = result;
     }