JAL-2403 improved ScoreModelI hierarchy as per Kira's review suggestions
[jalview.git] / src / jalview / analysis / scoremodels / SimilarityScoreModel.java
1 package jalview.analysis.scoremodels;
2
3 import jalview.api.analysis.ScoreModelI;
4 import jalview.api.analysis.SimilarityParamsI;
5 import jalview.datamodel.AlignmentView;
6 import jalview.math.MatrixI;
7
8 public abstract class SimilarityScoreModel implements ScoreModelI
9 {
10
11   /**
12    * Computed similarity scores are converted to distance scores by subtracting
13    * every value from the maximum value. That is, maximum similarity corresponds
14    * to zero distance, and smaller similarities to larger distances.
15    */
16   @Override
17   public MatrixI findDistances(AlignmentView seqData,
18           SimilarityParamsI options)
19   {
20     MatrixI result = findSimilarities(seqData, options);
21
22     /*
23      * reverse the range of the scores mapping the maximum to zero
24      */
25     result.reverseRange(true);
26
27     return result;
28   }
29
30 }