X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FNJTree.java;h=be3b96d01355532ffc897155761d70c24aeaa6d9;hb=88eaada36951276cf8b2863bb95aa37148166ea2;hp=6c239be1de8a3c2311e99ca0c59a2c0dc95a8ee2;hpb=83193bc5c3e150dc7331b5b27a67cb5f9efb477c;p=jalview.git diff --git a/src/jalview/analysis/NJTree.java b/src/jalview/analysis/NJTree.java index 6c239be..be3b96d 100755 --- a/src/jalview/analysis/NJTree.java +++ b/src/jalview/analysis/NJTree.java @@ -39,6 +39,11 @@ public class NJTree { Vector cluster; SequenceI[] sequence; + + //SequenceData is a string representation of what the user + //sees. The display may contain hidden columns. + String [] sequenceString; + int[] done; int noseqs; int noClus; @@ -58,19 +63,12 @@ public class NJTree String pwtype; Object found = null; Object leaves = null; - int start; - int end; - /** - * Creates a new NJTree object. - * - * @param node DOCUMENT ME! - */ - public NJTree(SequenceNode node) - { - top = node; - maxheight = findHeight(top); - } + boolean hasDistances = true; // normal case for jalview trees + boolean hasBootstrap = false; // normal case for jalview trees + + private boolean hasRootDistance = true; + /** * Creates a new NJTree object. @@ -78,9 +76,24 @@ public class NJTree * @param seqs DOCUMENT ME! * @param treefile DOCUMENT ME! */ - public NJTree(SequenceI[] seqs, NewickFile treefile) + public NJTree(SequenceI[] seqs, NewickFile treefile) { top = treefile.getTree(); + + if (sequenceString == null) + { + sequenceString = new String[sequence.length]; + for (int i = 0; i < sequence.length; i++) + { + sequenceString[i] = sequence[i].getSequence(); + } + } + + + hasDistances = treefile.HasDistances(); + hasBootstrap = treefile.HasBootstrap(); + hasRootDistance = treefile.HasRootDistance(); + maxheight = findHeight(top); SequenceIdMatcher algnIds = new SequenceIdMatcher(seqs); @@ -123,32 +136,33 @@ public class NJTree * Creates a new NJTree object. * * @param sequence DOCUMENT ME! - * @param start DOCUMENT ME! - * @param end DOCUMENT ME! - */ - public NJTree(SequenceI[] sequence, int start, int end) - { - this(sequence, "NJ", "BL", start, end); - } - - /** - * Creates a new NJTree object. - * - * @param sequence DOCUMENT ME! * @param type DOCUMENT ME! * @param pwtype DOCUMENT ME! * @param start DOCUMENT ME! * @param end DOCUMENT ME! */ - public NJTree(SequenceI[] sequence, String type, String pwtype, int start, - int end) + public NJTree(SequenceI[] sequence, + String [] sequenceString, + String type, + String pwtype, + int start, int end) { this.sequence = sequence; this.node = new Vector(); this.type = type; this.pwtype = pwtype; - this.start = start; - this.end = end; + + if (sequenceString == null) + { + this.sequenceString = new String[sequence.length]; + for(int i=0; i