X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPCAPanel.java;h=133c0ce022a2c5818c5ec95ddc9768f2ff8f234f;hb=e716284ee3824cfc190e43eaa4f9335e3ac75637;hp=fc32e54d41935b6c4e19d2ea70cc4815e833afa4;hpb=ff6182d57892323e7764b84072835448acd3282e;p=jalview.git diff --git a/src/jalview/gui/PCAPanel.java b/src/jalview/gui/PCAPanel.java index fc32e54..133c0ce 100644 --- a/src/jalview/gui/PCAPanel.java +++ b/src/jalview/gui/PCAPanel.java @@ -1,5 +1,5 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1) + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. @@ -28,7 +28,6 @@ import javax.swing.*; import jalview.datamodel.*; import jalview.jbgui.*; import jalview.schemes.ResidueProperties; -import jalview.schemes.ScoreMatrix; import jalview.util.MessageManager; import jalview.viewmodel.PCAModel; @@ -115,26 +114,37 @@ public class PCAPanel extends GPCAPanel implements Runnable, protected void scoreMatrix_menuSelected() { scoreMatrixMenu.removeAll(); - for (final Object sm:ResidueProperties.scoreMatrices.keySet()) + for (final String sm:ResidueProperties.scoreMatrices.keySet()) { - JMenuItem jm=new JMenuItem(); - jm.setText((String)sm); - jm.setSelected(pcaModel.getScore_matrix().equals((String)sm)); - final PCAPanel us = this; - jm.addActionListener(new ActionListener() + if (ResidueProperties.getScoreMatrix(sm) != null) { - @Override - public void actionPerformed(ActionEvent e) + // create an entry for this score matrix for use in PCA + JCheckBoxMenuItem jm = new JCheckBoxMenuItem(); + jm.setText(MessageManager + .getStringOrReturn("label.score_model", sm)); + jm.setSelected(pcaModel.getScore_matrix().equals(sm)); + if ((ResidueProperties.scoreMatrices.get(sm).isDNA() && ResidueProperties.scoreMatrices + .get(sm).isProtein()) + || pcaModel.isNucleotide() == ResidueProperties.scoreMatrices + .get(sm).isDNA()) { - if (!pcaModel.getScore_matrix().equals((String)sm)) + final PCAPanel us = this; + jm.addActionListener(new ActionListener() { - pcaModel.setScore_matrix((String) sm); - Thread worker = new Thread(us); - worker.start(); - } + @Override + public void actionPerformed(ActionEvent e) + { + if (!pcaModel.getScore_matrix().equals((String) sm)) + { + pcaModel.setScore_matrix((String) sm); + Thread worker = new Thread(us); + worker.start(); + } + } + }); + scoreMatrixMenu.add(jm); } - }); - scoreMatrixMenu.add(jm); + } } } public void bgcolour_actionPerformed(ActionEvent e) @@ -203,6 +213,7 @@ public class PCAPanel extends GPCAPanel implements Runnable, if (!pcaModel.isNucleotide()) { pcaModel.setNucleotide(true); + pcaModel.setScore_matrix("DNA"); Thread worker = new Thread(this); worker.start(); } @@ -216,6 +227,7 @@ public class PCAPanel extends GPCAPanel implements Runnable, if (pcaModel.isNucleotide()) { pcaModel.setNucleotide(false); + pcaModel.setScore_matrix("BLOSUM62"); Thread worker = new Thread(this); worker.start(); }