Implemented least-squares optimisation in ccAnalysis
[jalview.git] / src / jalview / viewmodel / PaSiMapModel.java
index 94485a3..1f5e2dc 100644 (file)
@@ -28,6 +28,7 @@ import jalview.datamodel.AlignmentView;
 import jalview.datamodel.Point;
 import jalview.datamodel.SequenceI;
 import jalview.datamodel.SequencePoint;
+import jalview.viewmodel.AlignmentViewport;
 
 import java.util.List;
 import java.util.Vector;
@@ -37,7 +38,9 @@ public class PaSiMapModel
   /*
    * inputs
    */
-  private AlignmentView inputData;
+  //private AlignmentView inputData;
+  //&!
+  private AlignmentViewport inputData;
 
   private final SequenceI[] seqs;
 
@@ -69,7 +72,9 @@ public class PaSiMapModel
    * @param modelName
    * @param params
    */
-  public PaSiMapModel(AlignmentView seqData, SequenceI[] sqs, boolean nuc,
+  //public PaSiMapModel(AlignmentView seqData, SequenceI[] sqs, boolean nuc,
+  //&! viewport or panel?
+  public PaSiMapModel(AlignmentViewport seqData, SequenceI[] sqs, boolean nuc,
           ScoreModelI modelName, SimilarityParamsI params)
   {
     inputData = seqData;
@@ -96,14 +101,19 @@ public class PaSiMapModel
       ii++;
     }
 
+    int width = pasimap.getWidth();
     int height = pasimap.getHeight();
     // top = pasimap.getM().height() - 1;
-    top = height - 1;
+    //&!
+    //top = height - 1;
+    top = height;
 
     points = new Vector<>();
-    Point[] scores = pasimap.getComponents(top - 1, top - 2, top - 3, 100);
+    //&!
+    //Point[] scores = pasimap.getComponents(top - 1, top - 2, top - 3, 100);
+    Point[] scores = pasimap.getComponents(width - 1, width - 2, width - 3, 1);
 
-    for (int i = 0; i < height; i++)
+    for (int i = 0; i < top; i++)
     {
       SequencePoint sp = new SequencePoint(seqs[i], scores[i]);
       points.add(sp);
@@ -153,9 +163,11 @@ public class PaSiMapModel
   public void updateRcView(int dim1, int dim2, int dim3)
   {
     // note: actual indices for components are dim1-1, etc (patch for JAL-1123)
-    Point[] scores = pasimap.getComponents(dim1 - 1, dim2 - 1, dim3 - 1, 100);
+    //&!
+    //Point[] scores = pasimap.getComponents(dim1 - 1, dim2 - 1, dim3 - 1, 100);
+    Point[] scores = pasimap.getComponents(dim1 - 1, dim2 - 1, dim3 - 1, 1);
 
-    for (int i = 0; i < pasimap.getHeight(); i++)
+    for (int i = 0; i < pasimap.getWidth(); i++)
     {
       points.get(i).coord = scores[i];
     }
@@ -166,12 +178,16 @@ public class PaSiMapModel
     return pasimap.getDetails();
   }
 
-  public AlignmentView getInputData()
+  //&!
+  //public AlignmentView getInputData()
+  public AlignmentViewport getInputData()
   {
     return inputData;
   }
 
-  public void setInputData(AlignmentView data)
+  //&!
+  //public void setInputData(AlignmentView data)
+  public void setInputData(AlignmentViewport data)
   {
     inputData = data;
   }