From 0c0f58648af5512096275b634158c37c87989eaa Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Tue, 18 Jul 2006 15:50:18 +0000 Subject: [PATCH] Modified for hidden region/group calculation --- src/jalview/appletgui/AlignFrame.java | 21 ++------ src/jalview/appletgui/PCAPanel.java | 2 +- src/jalview/appletgui/RedundancyPanel.java | 71 +++++++++++++++------------- src/jalview/appletgui/TreePanel.java | 59 +++++++++++++++-------- 4 files changed, 83 insertions(+), 70 deletions(-) diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index d1b2da9..2b53d76 100755 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -1624,21 +1624,9 @@ public void itemStateChanged(ItemEvent evt) } - final TreePanel tp; - if (viewport.getSelectionGroup() != null && - viewport.getSelectionGroup().getSize(false) > 3) - { - tp = new TreePanel(viewport, - viewport.getSelectionGroup().getSequences(false), + final TreePanel tp = new TreePanel(viewport, type, - pwType, - 0, viewport.alignment.getWidth()); - } - else - { - tp = new TreePanel(viewport, viewport.getAlignment().getSequences(), - type, pwType, 0, viewport.alignment.getWidth()); - } + pwType); addTreeMenuItem(tp, title); @@ -1658,8 +1646,9 @@ public void itemStateChanged(ItemEvent evt) public void loadTree(jalview.io.NewickFile tree, String treeFile) { TreePanel tp = new TreePanel(viewport, - viewport.getAlignment().getSequences(), - tree, "From File - ", treeFile); + treeFile, + "From File - ", + tree); jalview.bin.JalviewLite.addFrame(tp, treeFile, 600, 500); addTreeMenuItem(tp, treeFile); } diff --git a/src/jalview/appletgui/PCAPanel.java b/src/jalview/appletgui/PCAPanel.java index 849a0a9..6465ee8 100755 --- a/src/jalview/appletgui/PCAPanel.java +++ b/src/jalview/appletgui/PCAPanel.java @@ -90,7 +90,7 @@ public class PCAPanel */ public void run() { - pca = new PCA(seqs); + pca = null;//new PCA(seqs); pca.run(); // Now find the component coordinates diff --git a/src/jalview/appletgui/RedundancyPanel.java b/src/jalview/appletgui/RedundancyPanel.java index c71fe29..7608cb9 100755 --- a/src/jalview/appletgui/RedundancyPanel.java +++ b/src/jalview/appletgui/RedundancyPanel.java @@ -33,10 +33,9 @@ public class RedundancyPanel extends SliderPanel implements Runnable, WindowList AlignmentPanel ap; Stack historyList = new Stack(); // simpler than synching with alignFrame. - Vector originalSequences; - Hashtable originalColours; - SequenceI[] oldAlignment; float [] redundancy; + SequenceI [] originalSequences; + Hashtable originalColours; Frame frame; public RedundancyPanel(AlignmentPanel ap) @@ -95,65 +94,69 @@ public class RedundancyPanel extends SliderPanel implements Runnable, WindowList validate(); - Vector sel = new Vector(); + String[] omitHidden = null; + SequenceGroup sg = ap.av.getSelectionGroup(); int height; - originalSequences = new Vector(); + originalColours = new Hashtable(); + int start, end; if ( (sg != null) && (sg.getSize(false) >= 1)) { - height = sg.getSize(false); - for (int i = 0; i < sg.getSize(false); i++) - { - sel.addElement(sg.getSequenceAt(i)); - } + originalSequences = sg.getSequencesInOrder(ap.av.alignment); + start = sg.getStartRes(); + end = sg.getEndRes(); } else { - height = ap.av.alignment.getHeight(); - for (int i = 0; i < ap.av.alignment.getHeight(); i++) - { - sel.addElement(ap.av.alignment.getSequenceAt(i)); - } + originalSequences = ap.av.alignment.getSequencesArray(); + start = 0; + end = ap.av.alignment.getWidth(); } + height = originalSequences.length; + redundancy = new float[height]; for (int i = 0; i < height; i++) { redundancy[i] = 0f; } + // if (ap.av.hasHiddenColumns) + { + // omitHidden = ap.av.getSelectionAsString(); + } + // long start = System.currentTimeMillis(); float pid; - SequenceI seqi, seqj; - for (int i = 0; i < sel.size(); i++) + String seqi, seqj; + for (int i = 0; i < height; i++) { - originalSequences.addElement(sel.elementAt(i)); - originalColours.put(sel.elementAt(i), - ((SequenceI) sel.elementAt(i)).getColor()); + originalColours.put(originalSequences[i], + originalSequences[i].getColor()); for (int j = 0; j < i; j++) { if(i==j) continue; - seqi = (SequenceI) sel.elementAt(i); - seqj = (SequenceI) sel.elementAt(j); - - if (sg != null) + if(omitHidden==null) { - pid = jalview.util.Comparison.PID(seqi, - seqj, - sg.getStartRes(), sg.getEndRes()); + seqi = originalSequences[i].getSequence(start, end); + seqj = originalSequences[j].getSequence(start, end); } else - pid = jalview.util.Comparison.PID( seqi, seqj ); + { + seqi = omitHidden[i]; + seqj = omitHidden[j]; + } + pid = jalview.util.Comparison.PID( seqi, seqj ); - if(seqj.getLength() < seqi.getLength()) + if(seqj.length() < seqi.length()) redundancy[j] = Math.max(pid, redundancy[j]); else redundancy[i] = Math.max(pid, redundancy[i]); @@ -181,9 +184,9 @@ public class RedundancyPanel extends SliderPanel implements Runnable, WindowList for(int i=0; i redundancy[i]) - ((SequenceI)originalSequences.elementAt(i)).setColor(java.awt.Color.white); + originalSequences[i].setColor(java.awt.Color.white); else - ((SequenceI)originalSequences.elementAt(i)).setColor(java.awt.Color.red); + originalSequences[i].setColor(java.awt.Color.red); } PaintRefresher.Refresh(null,ap.av.alignment); @@ -212,7 +215,7 @@ public class RedundancyPanel extends SliderPanel implements Runnable, WindowList { if (value <= redundancy[i]) { - SequenceI seq = (SequenceI) originalSequences.elementAt(i); + SequenceI seq = originalSequences[i]; ap.av.alignment.deleteSequence(seq); del.addElement(seq); if (sg != null) @@ -270,9 +273,9 @@ public class RedundancyPanel extends SliderPanel implements Runnable, WindowList public void windowClosing(WindowEvent evt) { - for(int i=0; i