From 009f48028c4101e697dab0952ad81fccf26fc915 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Tue, 3 Jun 2014 14:29:45 +0100 Subject: [PATCH] JAL-1473 exclude score models not compatible with PCA algorithm --- src/jalview/gui/PCAPanel.java | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) 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); + } } } } -- 1.7.10.2