X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fphylogeny%2FPhylogenyNode.java;h=e3442794d18f571f565b765b1668e205efe50832;hb=780b50a029ad352bd7b309eab711c48c6bce3ef0;hp=7bf60ef16e3fe3a6024587366e3610ee42755a98;hpb=038c34792757a86f24296de5683e722fab3f9307;p=jalview.git diff --git a/forester/java/src/org/forester/phylogeny/PhylogenyNode.java b/forester/java/src/org/forester/phylogeny/PhylogenyNode.java index 7bf60ef..e344279 100644 --- a/forester/java/src/org/forester/phylogeny/PhylogenyNode.java +++ b/forester/java/src/org/forester/phylogeny/PhylogenyNode.java @@ -33,7 +33,9 @@ import java.util.List; import org.forester.io.parsers.nhx.NHXFormatException; import org.forester.io.parsers.nhx.NHXParser; import org.forester.phylogeny.data.BranchData; +import org.forester.phylogeny.data.Confidence; import org.forester.phylogeny.data.NodeData; +import org.forester.phylogeny.data.PhylogenyDataUtil; import org.forester.phylogeny.iterators.ChildNodeIteratorForward; import org.forester.phylogeny.iterators.PhylogenyNodeIterator; import org.forester.phylogeny.iterators.PreorderTreeIterator; @@ -41,9 +43,7 @@ import org.forester.util.ForesterUtil; public class PhylogenyNode implements PhylogenyNodeI, Comparable { - /** Value of -99.0 is used as default value. */ - public final static double DISTANCE_DEFAULT = -1024.0; - private static int _node_count = 0; + private static int _node_count = 0; private byte _indicator; private int _id; private int _sum_ext_nodes; @@ -595,7 +595,7 @@ public class PhylogenyNode implements PhylogenyNodeI, Comparable _x = 0; _y = 0; //_node_name = ""; - _distance_parent = PhylogenyNode.DISTANCE_DEFAULT; + _distance_parent = PhylogenyDataUtil.BRANCH_LENGTH_DEFAULT; _collapse = false; _link = null; _branch_data = null; @@ -923,10 +923,18 @@ public class PhylogenyNode implements PhylogenyNodeI, Comparable // --------------------------------------------------------- // Writing of Nodes to Strings // --------------------------------------------------------- - final public String toNewHampshire( final boolean simple_nh, final boolean write_distance_to_parent ) { + final public String toNewHampshire( final boolean simple_nh, + final boolean write_distance_to_parent, + final NH_CONVERSION_SUPPORT_VALUE_STYLE svs ) { final StringBuilder sb = new StringBuilder(); String data = ""; - if ( !ForesterUtil.isEmpty( getName() ) ) { + if ( ( svs == NH_CONVERSION_SUPPORT_VALUE_STYLE.AS_INTERNAL_NODE_NAMES ) && !isExternal() ) { + if ( getBranchData().isHasConfidences() + && ( getBranchData().getConfidence( 0 ).getValue() != Confidence.CONFIDENCE_DEFAULT_VALUE ) ) { + data = String.valueOf( getBranchData().getConfidence( 0 ).getValue() ); + } + } + else if ( !ForesterUtil.isEmpty( getName() ) ) { data = getName(); } else if ( getNodeData().isHasTaxonomy() ) { @@ -962,10 +970,17 @@ public class PhylogenyNode implements PhylogenyNodeI, Comparable sb.append( data ); } } - if ( ( getDistanceToParent() != PhylogenyNode.DISTANCE_DEFAULT ) && write_distance_to_parent ) { + if ( write_distance_to_parent && ( getDistanceToParent() != PhylogenyDataUtil.BRANCH_LENGTH_DEFAULT ) ) { sb.append( ":" ); sb.append( getDistanceToParent() ); } + if ( ( svs == NH_CONVERSION_SUPPORT_VALUE_STYLE.IN_SQUARE_BRACKETS ) && !isExternal() + && getBranchData().isHasConfidences() + && ( getBranchData().getConfidence( 0 ).getValue() != Confidence.CONFIDENCE_DEFAULT_VALUE ) ) { + sb.append( "[" ); + sb.append( getBranchData().getConfidence( 0 ).getValue() ); + sb.append( "]" ); + } return sb.toString(); } @@ -987,7 +1002,7 @@ public class PhylogenyNode implements PhylogenyNodeI, Comparable sb.append( name ); } } - if ( getDistanceToParent() != PhylogenyNode.DISTANCE_DEFAULT ) { + if ( getDistanceToParent() != PhylogenyDataUtil.BRANCH_LENGTH_DEFAULT ) { sb.append( ":" ); sb.append( getDistanceToParent() ); }