JAL-2620 parse genetic code tables from standard file format
[jalview.git] / src / jalview / analysis / scoremodels / ScoreMatrix.java
index 9bec6e4..6cdfacb 100644 (file)
@@ -20,7 +20,9 @@
  */
 package jalview.analysis.scoremodels;
 
+import jalview.api.AlignmentViewPanel;
 import jalview.api.analysis.PairwiseScoreModelI;
+import jalview.api.analysis.ScoreModelI;
 import jalview.api.analysis.SimilarityParamsI;
 import jalview.datamodel.AlignmentView;
 import jalview.math.Matrix;
@@ -31,10 +33,11 @@ import java.util.Arrays;
 
 /**
  * A class that models a substitution score matrix for any given alphabet of
- * symbols. Instances of this class are immutable and thread-safe.
+ * symbols. Instances of this class are immutable and thread-safe, so the same
+ * object is returned from calls to getInstance().
  */
-public class ScoreMatrix extends SimilarityScoreModel implements
-        PairwiseScoreModelI
+public class ScoreMatrix extends SimilarityScoreModel
+        implements PairwiseScoreModelI
 {
   private static final char GAP_CHARACTER = Comparison.GAP_DASH;
 
@@ -95,7 +98,7 @@ public class ScoreMatrix extends SimilarityScoreModel implements
   private float minValue;
 
   private float maxValue;
-  
+
   /**
    * Constructor given a name, symbol alphabet, and matrix of scores for pairs
    * of symbols. The matrix should be square and of the same size as the
@@ -127,8 +130,8 @@ public class ScoreMatrix extends SimilarityScoreModel implements
    * @param values
    *          Pairwise scores indexed according to the symbol alphabet
    */
-  public ScoreMatrix(String theName, String theDescription,
-          char[] alphabet, float[][] values)
+  public ScoreMatrix(String theName, String theDescription, char[] alphabet,
+          float[][] values)
   {
     if (alphabet.length != values.length)
     {
@@ -451,7 +454,8 @@ public class ScoreMatrix extends SimilarityScoreModel implements
    * @param params
    * @return
    */
-  protected MatrixI findSimilarities(String[] seqs, SimilarityParamsI params)
+  protected MatrixI findSimilarities(String[] seqs,
+          SimilarityParamsI params)
   {
     double[][] values = new double[seqs.length][];
     for (int row = 0; row < seqs.length; row++)
@@ -582,4 +586,10 @@ public class ScoreMatrix extends SimilarityScoreModel implements
   {
     return maxValue;
   }
+
+  @Override
+  public ScoreModelI getInstance(AlignmentViewPanel avp)
+  {
+    return this;
+  }
 }