From: jprocter Date: Fri, 3 Jun 2005 13:16:56 +0000 (+0000) Subject: Reinstated 'create tree from selected region only' with better indication that only... X-Git-Tag: Release_2_0~115 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=27a1456b0a4a6366240f96d984cacbc1116279d2;p=jalview.git Reinstated 'create tree from selected region only' with better indication that only part of an alignment was used to calculate the tree. --- diff --git a/src/jalview/analysis/NJTree.java b/src/jalview/analysis/NJTree.java index d56464c..85749a1 100755 --- a/src/jalview/analysis/NJTree.java +++ b/src/jalview/analysis/NJTree.java @@ -412,7 +412,7 @@ public class NJTree { if (j==i) { distance[i][i] = 0; } else { - distance[i][j] = 100-Comparison.PID(sequence[i], sequence[j]); + distance[i][j] = 100-Comparison.PID(sequence[i], sequence[j], start, end); distance[j][i] = distance[i][j]; } } @@ -423,7 +423,7 @@ public class NJTree { for (int i = 0; i < noseqs-1; i++) { for (int j = i; j < noseqs; j++) { int score = 0; - for (int k=0; k < sequence[i].getLength(); k++) { + for (int k=start; k < end; k++) { try{ score += ResidueProperties.getBLOSUM62(sequence[i].getSequence(k, diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index afb1f0c..4d97f49 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -1068,34 +1068,51 @@ public class AlignFrame extends GAlignFrame void NewTreePanel(String type, String pwType, String title) { - //are the sequences aligned? - if(!viewport.alignment.isAligned()) - { - JOptionPane.showMessageDialog(Desktop.desktop, "The sequences must be aligned before creating a tree.\n" - +"Try using the Pad function in the edit menu,\n" - +"or one of the multiple sequence alignment web services.", - "Sequences not aligned", JOptionPane.WARNING_MESSAGE); - return; - } - + String ltitle; final TreePanel tp; if (viewport.getSelectionGroup() != null && viewport.getSelectionGroup().getSize() > 3) { + int s=0; + SequenceGroup sg = viewport.getSelectionGroup(); + + /* Decide if the selection is a column region */ + while (s s2.getSequence().length()) + len = s1.getSequence().length(); + else + len = s2.getSequence().length(); + + if (end