*/
package jalview.appletgui;
+import jalview.analysis.scoremodels.ScoreModels;
+import jalview.analysis.scoremodels.SimilarityParams;
+import jalview.api.analysis.ScoreModelI;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentView;
import jalview.datamodel.HiddenColumns;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
-public class PCAPanel extends EmbmenuFrame implements Runnable,
- ActionListener, ItemListener
+public class PCAPanel extends EmbmenuFrame
+ implements Runnable, ActionListener, ItemListener
{
RotatableCanvas rc;
int top = 0;
- public PCAPanel(AlignViewport av)
+ public PCAPanel(AlignViewport viewport)
{
try
{
zCombobox.addItem("dim " + i);
}
- this.av = av;
- boolean selected = av.getSelectionGroup() != null
- && av.getSelectionGroup().getSize() > 0;
- AlignmentView seqstrings = av.getAlignmentView(selected);
- boolean nucleotide = av.getAlignment().isNucleotide();
+ this.av = viewport;
+ boolean selected = viewport.getSelectionGroup() != null
+ && viewport.getSelectionGroup().getSize() > 0;
+ AlignmentView seqstrings = viewport.getAlignmentView(selected);
+ boolean nucleotide = viewport.getAlignment().isNucleotide();
SequenceI[] seqs;
if (!selected)
{
- seqs = av.getAlignment().getSequencesArray();
+ seqs = viewport.getAlignment().getSequencesArray();
}
else
{
- seqs = av.getSelectionGroup().getSequencesInOrder(av.getAlignment());
+ seqs = viewport.getSelectionGroup()
+ .getSequencesInOrder(viewport.getAlignment());
}
SeqCigar sq[] = seqstrings.getSequences();
int length = sq[0].getWidth();
return;
}
}
- pcaModel = new PCAModel(seqstrings, seqs, nucleotide);
- rc = new RotatableCanvas(av);
+ ScoreModelI scoreModel = ScoreModels.getInstance()
+ .getDefaultModel(!nucleotide);
+ pcaModel = new PCAModel(seqstrings, seqs, nucleotide, scoreModel,
+ SimilarityParams.SeqSpace);
+
+ rc = new RotatableCanvas(viewport);
embedMenuIfNeeded(rc);
add(rc, BorderLayout.CENTER);
{
nuclSetting.setState(pcaModel.isNucleotide());
protSetting.setState(!pcaModel.isNucleotide());
- pcaModel.run();
+ pcaModel.calculate();
// ////////////////
xCombobox.select(0);
yCombobox.select(1);
int dim2 = top - yCombobox.getSelectedIndex();
int dim3 = top - zCombobox.getSelectedIndex();
pcaModel.updateRcView(dim1, dim2, dim3);
- rc.img = null;
- rc.rotmat.setIdentity();
- rc.initAxes();
+ rc.resetView();
rc.paint(rc.getGraphics());
}
if (!pcaModel.isNucleotide())
{
pcaModel.setNucleotide(true);
+ ScoreModelI scoreModel = ScoreModels.getInstance()
+ .getDefaultModel(false);
+ pcaModel.setScoreModel(scoreModel);
new Thread(this).start();
}
}
if (pcaModel.isNucleotide())
{
pcaModel.setNucleotide(false);
+ ScoreModelI scoreModel = ScoreModels.getInstance()
+ .getDefaultModel(true);
+ pcaModel.setScoreModel(scoreModel);
new Thread(this).start();
}
}
if (alAndColsel != null && alAndColsel[0] != null)
{
Alignment al = new Alignment((SequenceI[]) alAndColsel[0]);
- AlignFrame af = new AlignFrame(al, av.applet,
- "Original Data for PCA", false);
+ AlignFrame af = new AlignFrame(al, av.applet, "Original Data for PCA",
+ false);
- af.viewport.getAlignment().setHiddenColumns(
- (HiddenColumns) alAndColsel[1]);
+ af.viewport.getAlignment()
+ .setHiddenColumns((HiddenColumns) alAndColsel[1]);
}
}
values.setLabel(MessageManager.getString("label.output_values"));
values.addActionListener(this);
inputData.setLabel(MessageManager.getString("label.input_data"));
- nuclSetting.setLabel(MessageManager
- .getString("label.nucleotide_matrix"));
+ nuclSetting
+ .setLabel(MessageManager.getString("label.nucleotide_matrix"));
nuclSetting.addItemListener(this);
protSetting.setLabel(MessageManager.getString("label.protein_matrix"));
protSetting.addItemListener(this);