X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2Fscoremodels%2FSWDistanceModel.java;h=5e711db22df7a5db5a3d1e4eb4ebfa86d8786c17;hb=7f5ab7d1f58d870622968e0e6a430f33403b8e4f;hp=f63ee135ca02fb312c3a0752bee7da7434d51ee6;hpb=d6a30c6516e8e2f923c8c2f6dce7592cb3b7d974;p=jalview.git diff --git a/src/jalview/analysis/scoremodels/SWDistanceModel.java b/src/jalview/analysis/scoremodels/SWDistanceModel.java index f63ee13..5e711db 100644 --- a/src/jalview/analysis/scoremodels/SWDistanceModel.java +++ b/src/jalview/analysis/scoremodels/SWDistanceModel.java @@ -21,23 +21,25 @@ 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