*/
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;
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");
}
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