From 6dd0025ba30d818f7112e2edd4a6c0becdee4910 Mon Sep 17 00:00:00 2001 From: jprocter Date: Thu, 8 Dec 2011 17:34:41 +0000 Subject: [PATCH] (JAL-1013) specify sequence type to ensure PCA calculation employs correct substitution matrix. --- src/jalview/appletgui/PCAPanel.java | 9 ++++++++- src/jalview/gui/PCAPanel.java | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/jalview/appletgui/PCAPanel.java b/src/jalview/appletgui/PCAPanel.java index 23286db..3e87f17 100755 --- a/src/jalview/appletgui/PCAPanel.java +++ b/src/jalview/appletgui/PCAPanel.java @@ -40,6 +40,12 @@ public class PCAPanel extends EmbmenuFrame implements Runnable, SequenceI[] seqs; + + /** + * use the identity matrix for calculating similarity between sequences. + */ + private boolean useidentity=false; + public PCAPanel(AlignViewport av) { @@ -60,6 +66,7 @@ public class PCAPanel extends EmbmenuFrame implements Runnable, this.av = av; seqstrings = av.getAlignmentView(av.getSelectionGroup() != null); + useidentity=av.getAlignment().isNucleotide(); if (av.getSelectionGroup() == null) { seqs = av.alignment.getSequencesArray(); @@ -97,7 +104,7 @@ public class PCAPanel extends EmbmenuFrame implements Runnable, */ public void run() { - pca = new PCA(seqstrings.getSequenceStrings(' ')); + pca = new PCA(seqstrings.getSequenceStrings(' '), useidentity); pca.run(); // Now find the component coordinates diff --git a/src/jalview/gui/PCAPanel.java b/src/jalview/gui/PCAPanel.java index ac37106..4948c22 100755 --- a/src/jalview/gui/PCAPanel.java +++ b/src/jalview/gui/PCAPanel.java @@ -52,6 +52,11 @@ public class PCAPanel extends GPCAPanel implements Runnable SequenceI[] seqs; /** + * use the identity matrix for calculating similarity between sequences. + */ + private boolean useidentity=false; + + /** * Creates a new PCAPanel object. * * @param av @@ -67,6 +72,7 @@ public class PCAPanel extends GPCAPanel implements Runnable boolean sameLength = true; seqstrings = av.getAlignmentView(av.getSelectionGroup() != null); + useidentity=av.getAlignment().isNucleotide(); if (av.getSelectionGroup() == null) { seqs = av.alignment.getSequencesArray(); @@ -129,7 +135,7 @@ public class PCAPanel extends GPCAPanel implements Runnable { try { - pca = new PCA(seqstrings.getSequenceStrings(' ')); + pca = new PCA(seqstrings.getSequenceStrings(' '), useidentity); pca.run(); // Now find the component coordinates -- 1.7.10.2