JAL-1632 add score model params to PCAModel and PCA constructors
[jalview.git] / src / jalview / viewmodel / PCAModel.java
index fa4b747..324c69a 100644 (file)
@@ -24,6 +24,7 @@ import jalview.analysis.PCA;
 import jalview.analysis.scoremodels.ScoreModels;
 import jalview.api.RotatableCanvasI;
 import jalview.api.analysis.ScoreModelI;
+import jalview.api.analysis.SimilarityParamsI;
 import jalview.datamodel.AlignmentView;
 import jalview.datamodel.SequenceI;
 import jalview.datamodel.SequencePoint;
@@ -51,13 +52,26 @@ public class PCAModel
 
   private boolean jvCalcMode = true;
 
-  public PCAModel(AlignmentView seqstrings2, SequenceI[] seqs2,
-          boolean nucleotide2)
+  private SimilarityParamsI similarityParams;
+
+  /**
+   * Constructor given sequence data and score calculation parameter options.
+   * The initial state is to compute PCA using a default score model (BLOSUM62
+   * for peptide, DNA for nucleotide).
+   * 
+   * @param seqData
+   * @param sqs
+   * @param nuc
+   * @param params
+   */
+  public PCAModel(AlignmentView seqData, SequenceI[] sqs, boolean nuc,
+          SimilarityParamsI params)
   {
-    seqstrings = seqstrings2;
-    seqs = seqs2;
-    nucleotide = nucleotide2;
+    seqstrings = seqData;
+    seqs = sqs;
+    nucleotide = nuc;
     scoreModel = ScoreModels.getInstance().getDefaultModel(!nucleotide);
+    similarityParams = params;
   }
 
   public boolean isJvCalcMode()
@@ -67,7 +81,7 @@ public class PCAModel
 
   public void run()
   {
-    pca = new PCA(seqstrings, scoreModel);
+    pca = new PCA(seqstrings, scoreModel, similarityParams);
     pca.setJvCalcMode(jvCalcMode);
     pca.run();