JAL-2403 JAL-1483 changes to ScoreModelI hierarchy and signatures to
[jalview.git] / src / jalview / analysis / scoremodels / SWDistanceModel.java
index f63ee13..5e711db 100644 (file)
 package jalview.analysis.scoremodels;
 
 import jalview.analysis.AlignSeq;
-import jalview.api.analysis.DistanceModelI;
+import jalview.api.analysis.DistanceScoreModelI;
 import jalview.datamodel.AlignmentView;
 import jalview.datamodel.SequenceI;
+import jalview.math.Matrix;
+import jalview.math.MatrixI;
 import jalview.util.Comparison;
 
-public class SWDistanceModel implements DistanceModelI
+public class SWDistanceModel implements DistanceScoreModelI
 {
 
   @Override
-  public float[][] findDistances(AlignmentView seqData)
+  public MatrixI findDistances(AlignmentView seqData)
   {
     SequenceI[] sequenceString = seqData.getVisibleAlignment(
             Comparison.GAP_SPACE).getSequencesArray();
     int noseqs = sequenceString.length;
-    float[][] distance = new float[noseqs][noseqs];
+    double[][] distances = new double[noseqs][noseqs];
 
-    float max = -1;
+    double max = -1;
 
     for (int i = 0; i < (noseqs - 1); i++)
     {
@@ -48,11 +50,11 @@ public class SWDistanceModel implements DistanceModelI
         as.calcScoreMatrix();
         as.traceAlignment();
         as.printAlignment(System.out);
-        distance[i][j] = as.maxscore;
+        distances[i][j] = as.maxscore;
 
-        if (max < distance[i][j])
+        if (max < distances[i][j])
         {
-          max = distance[i][j];
+          max = distances[i][j];
         }
       }
     }
@@ -61,12 +63,12 @@ public class SWDistanceModel implements DistanceModelI
     {
       for (int j = i; j < noseqs; j++)
       {
-        distance[i][j] = max - distance[i][j];
-        distance[j][i] = distance[i][j];
+        distances[i][j] = max - distances[i][j];
+        distances[j][i] = distances[i][j];
       }
     }
 
-    return distance;
+    return new Matrix(distances);
   }
 
   @Override