+ final static public boolean isHasAtLeastOneBranchWithSupportSD( final Phylogeny phy ) {
+ final PhylogenyNodeIterator it = phy.iteratorPostorder();
+ while ( it.hasNext() ) {
+ final PhylogenyNode n = it.next();
+ if ( n.getBranchData().isHasConfidences() ) {
+ final List<Confidence> c = n.getBranchData().getConfidences();
+ for( final Confidence confidence : c ) {
+ if ( confidence.getStandardDeviation() > 0 ) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ final static public boolean isHasAtLeastOneNodeWithScientificName( final Phylogeny phy ) {
+ final PhylogenyNodeIterator it = phy.iteratorPostorder();
+ while ( it.hasNext() ) {
+ final PhylogenyNode n = it.next();
+ if ( n.getNodeData().isHasTaxonomy()
+ && !ForesterUtil.isEmpty( n.getNodeData().getTaxonomy().getScientificName() ) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ final static public boolean isHasAtLeastOneNodeWithSequenceAnnotation( final Phylogeny phy ) {
+ final PhylogenyNodeIterator it = phy.iteratorPostorder();
+ while ( it.hasNext() ) {
+ final PhylogenyNode n = it.next();
+ if ( n.getNodeData().isHasSequence()
+ && !ForesterUtil.isEmpty( n.getNodeData().getSequence().getAnnotations() ) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+