JAL-1632 add score model params to PCAModel and PCA constructors
[jalview.git] / src / jalview / analysis / PCA.java
index 1f923b1..43f2161 100755 (executable)
@@ -20,9 +20,9 @@
  */
 package jalview.analysis;
 
-import jalview.analysis.scoremodels.SimilarityParams;
 import jalview.api.analysis.DistanceScoreModelI;
 import jalview.api.analysis.ScoreModelI;
+import jalview.api.analysis.SimilarityParamsI;
 import jalview.api.analysis.SimilarityScoreModelI;
 import jalview.datamodel.AlignmentView;
 import jalview.math.MatrixI;
@@ -47,12 +47,15 @@ public class PCA implements Runnable
   private AlignmentView seqs;
 
   private ScoreModelI scoreModel;
+  
+  private SimilarityParamsI similarityParams;
 
-  public PCA(AlignmentView s, ScoreModelI sm)
+  public PCA(AlignmentView s, ScoreModelI sm, SimilarityParamsI options)
   {
     this.seqs = s;
-
-    scoreModel = sm;
+    this.similarityParams = options;
+    this.scoreModel = sm;
+    
     details.append("PCA calculation using " + sm.getName()
             + " sequence similarity matrix\n========\n\n");
   }
@@ -229,16 +232,15 @@ public class PCA implements Runnable
   MatrixI computeSimilarity(AlignmentView av)
   {
     MatrixI result = null;
-    // TODO pass choice of params from GUI in constructo
     if (scoreModel instanceof SimilarityScoreModelI)
     {
       result = ((SimilarityScoreModelI) scoreModel).findSimilarities(av,
-              SimilarityParams.SeqSpace);
+              similarityParams);
     }
     else if (scoreModel instanceof DistanceScoreModelI)
     {
       result = ((DistanceScoreModelI) scoreModel).findDistances(av,
-              SimilarityParams.SeqSpace);
+              similarityParams);
       result.reverseRange(false);
     }
     else