/** * Returns a map of distinct taxonomies of * all external nodes of node. * If at least one of the external nodes has no taxonomy, * null is returned. * */ public static Map<Taxonomy, Integer> obtainDistinctTaxonomyCounts( final PhylogenyNode node ) { final List<PhylogenyNode> descs = node.getAllExternalDescendants(); final Map<Taxonomy, Integer> tax_map = new HashMap<Taxonomy, Integer>(); for( final PhylogenyNode n : descs ) { if ( !n.getNodeData().isHasTaxonomy() || n.getNodeData().getTaxonomy().isEmpty() ) { return null; } final Taxonomy t = n.getNodeData().getTaxonomy(); if ( tax_map.containsKey( t ) ) { tax_map.put( t, tax_map.get( t ) + 1 ); } else { tax_map.put( t, 1 ); } } return tax_map; }
public static Set<Taxonomy> obtainAllDistinctTaxonomies( final PhylogenyNode node ) { final List<PhylogenyNode> descs = node.getAllExternalDescendants(); final Set<Taxonomy> tax_set = new HashSet<Taxonomy>(); for( final PhylogenyNode n : descs ) { if ( n.getNodeData().isHasTaxonomy() && !n.getNodeData().getTaxonomy().isEmpty() ) { tax_set.add( n.getNodeData().getTaxonomy() ); } } return tax_set; }
/** * Returns the set of distinct taxonomies of * all external nodes of node. * If at least one the external nodes has no taxonomy, * null is returned. * */ public static Set<Taxonomy> obtainDistinctTaxonomies( final PhylogenyNode node ) { final List<PhylogenyNode> descs = node.getAllExternalDescendants(); final Set<Taxonomy> tax_set = new HashSet<Taxonomy>(); for( final PhylogenyNode n : descs ) { if ( !n.getNodeData().isHasTaxonomy() || n.getNodeData().getTaxonomy().isEmpty() ) { return null; } tax_set.add( n.getNodeData().getTaxonomy() ); } return tax_set; }
public static int calculateNumberOfExternalNodesWithoutTaxonomy( final PhylogenyNode node ) { final List<PhylogenyNode> descs = node.getAllExternalDescendants(); int x = 0; for( final PhylogenyNode n : descs ) { if ( !n.getNodeData().isHasTaxonomy() || n.getNodeData().getTaxonomy().isEmpty() ) { x++; } } return x; }
/** * Returns taxonomy t if all external descendants have * the same taxonomy t, null otherwise. * */ public static Taxonomy getExternalDescendantsTaxonomy( final PhylogenyNode node ) { final List<PhylogenyNode> descs = node.getAllExternalDescendants(); Taxonomy tax = null; for( final PhylogenyNode n : descs ) { if ( !n.getNodeData().isHasTaxonomy() || n.getNodeData().getTaxonomy().isEmpty() ) { return null; } else if ( tax == null ) { tax = n.getNodeData().getTaxonomy(); } else if ( n.getNodeData().getTaxonomy().isEmpty() || !tax.isEqual( n.getNodeData().getTaxonomy() ) ) { return null; } } return tax; }
if ( isHasTaxonomy() ) { for( final Taxonomy t : getTaxonomies() ) { if ( !t.isEmpty() ) { t.toPhyloXML( writer, level, indentation );
@Override public void toPhyloXML( final Writer writer, final int level, final String indentation ) throws IOException { if ( isEmpty() ) { return;