From: Jim Procter Date: Tue, 3 Jun 2014 13:29:45 +0000 (+0100) Subject: JAL-1473 exclude score models not compatible with PCA algorithm X-Git-Tag: Release_2_8_1~4^2~5^2~4 X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=commitdiff_plain;h=009f48028c4101e697dab0952ad81fccf26fc915 JAL-1473 exclude score models not compatible with PCA algorithm --- diff --git a/src/jalview/gui/PCAPanel.java b/src/jalview/gui/PCAPanel.java index d1216b9..133c0ce 100644 --- a/src/jalview/gui/PCAPanel.java +++ b/src/jalview/gui/PCAPanel.java @@ -116,26 +116,34 @@ public class PCAPanel extends GPCAPanel implements Runnable, scoreMatrixMenu.removeAll(); for (final String sm:ResidueProperties.scoreMatrices.keySet()) { - JCheckBoxMenuItem jm=new JCheckBoxMenuItem(); - jm.setText(MessageManager.getStringOrReturn("label.score_model", sm)); - jm.setSelected(pcaModel.getScore_matrix().equals(sm)); - if (pcaModel.isNucleotide()==ResidueProperties.scoreMatrices.get(sm).isDNA()) + if (ResidueProperties.getScoreMatrix(sm) != null) { - final PCAPanel us = this; - jm.addActionListener(new ActionListener() + // 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()) { - @Override - public void actionPerformed(ActionEvent e) + final PCAPanel us = this; + jm.addActionListener(new ActionListener() { - if (!pcaModel.getScore_matrix().equals((String) sm)) + @Override + public void actionPerformed(ActionEvent e) { - pcaModel.setScore_matrix((String) sm); - Thread worker = new Thread(us); - worker.start(); + 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); + } } } }