X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Farchaeopteryx%2FTreePanelUtil.java;h=c764eae9c2e29490ef903251c8b4c56fb86eeb39;hb=60ff1de7026c288116202162d99b77ad7a6ba4ba;hp=9aeec3bbb6092d50ed20414076a71db53cf11b1d;hpb=4a71774e563925de62c37378a6c32c3275f2e287;p=jalview.git diff --git a/forester/java/src/org/forester/archaeopteryx/TreePanelUtil.java b/forester/java/src/org/forester/archaeopteryx/TreePanelUtil.java index 9aeec3b..c764eae 100644 --- a/forester/java/src/org/forester/archaeopteryx/TreePanelUtil.java +++ b/forester/java/src/org/forester/archaeopteryx/TreePanelUtil.java @@ -307,76 +307,76 @@ public class TreePanelUtil { } } - final static int collapseByTaxonomicRank( final Phylogeny tree, final String rank, final TreePanel tree_panel ) { - final Set true_lineage_set = new HashSet(); - for( final PhylogenyNodeIterator iter = tree.iteratorPreorder(); iter.hasNext(); ) { - iter.next().setCollapse( false ); - } - int collapsed = 0; - for( final PhylogenyNodeIterator it = tree.iteratorPostorder(); it.hasNext(); ) { - final PhylogenyNode n = it.next(); - if ( !n.isExternal() && n.getNodeData().isHasTaxonomy() && !ForesterUtil.isEmpty( n.getNodeData().getTaxonomy().getRank() ) - && n.getNodeData().getTaxonomy().getRank().equalsIgnoreCase( rank ) /*&& !n.isRoot()*/ ) { - TreePanelUtil.collapseSubtree( n, true ); - ++collapsed; - if ( !ForesterUtil.isEmpty( n.getNodeData().getTaxonomy().getScientificName() ) ) { - true_lineage_set.add( n.getNodeData().getTaxonomy().getScientificName() ); - } - } - } - for( final PhylogenyNodeIterator it = tree.iteratorPostorder(); it.hasNext(); ) { - final PhylogenyNode node = it.next(); - if ( ( !node.isExternal() && !node.isCollapse() ) && node.getNodeData().isHasTaxonomy() - && !ForesterUtil.isEmpty( node.getNodeData().getTaxonomy().getLineage() ) /* && !node.isRoot()*/ ) { - boolean success = false; - if ( !true_lineage_set.isEmpty() ) { - for( final String lin : node.getNodeData().getTaxonomy().getLineage() ) { - if ( true_lineage_set.contains( lin ) ) { - TreePanelUtil.collapseSubtree( node, true ); - ++collapsed; - success = true; - break; - } - } - } - if ( !success ) { - final Map lineage_to_rank_map = MainPanel.getLineageToRankMap(); - for( final String lin : node.getNodeData().getTaxonomy().getLineage() ) { - final Taxonomy temp_tax = new Taxonomy(); - temp_tax.setScientificName( lin ); - if ( lineage_to_rank_map.containsKey( lin ) - && !ForesterUtil.isEmpty( lineage_to_rank_map.get( lin ) ) - && lineage_to_rank_map.get( lin ).equalsIgnoreCase( rank ) ) { - TreePanelUtil.collapseSubtree( node, true ); - ++collapsed; - true_lineage_set.add( lin ); - break; - } - else { - UniProtTaxonomy up = null; - try { - up = TaxonomyDataManager.obtainUniProtTaxonomy( temp_tax, null, null ); - } - catch ( final Exception e ) { - e.printStackTrace(); - } - if ( ( up != null ) && !ForesterUtil.isEmpty( up.getRank() ) ) { - lineage_to_rank_map.put( lin, up.getRank() ); - System.out.println( lin + "->" + up.getRank() ); - if ( up.getRank().equalsIgnoreCase( rank ) ) { - TreePanelUtil.collapseSubtree( node, true ); - ++collapsed; - true_lineage_set.add( lin ); - break; - } - } - } - } - } - } - } - return collapsed; - } +// final static int collapseByTaxonomicRank( final Phylogeny tree, final String rank, final TreePanel tree_panel ) { +// final Set true_lineage_set = new HashSet(); +// for( final PhylogenyNodeIterator iter = tree.iteratorPreorder(); iter.hasNext(); ) { +// iter.next().setCollapse( false ); +// } +// int collapsed = 0; +// for( final PhylogenyNodeIterator it = tree.iteratorPostorder(); it.hasNext(); ) { +// final PhylogenyNode n = it.next(); +// if ( !n.isExternal() && n.getNodeData().isHasTaxonomy() && !ForesterUtil.isEmpty( n.getNodeData().getTaxonomy().getRank() ) +// && n.getNodeData().getTaxonomy().getRank().equalsIgnoreCase( rank ) /*&& !n.isRoot()*/ ) { +// TreePanelUtil.collapseSubtree( n, true ); +// ++collapsed; +// if ( !ForesterUtil.isEmpty( n.getNodeData().getTaxonomy().getScientificName() ) ) { +// true_lineage_set.add( n.getNodeData().getTaxonomy().getScientificName() ); +// } +// } +// } +// for( final PhylogenyNodeIterator it = tree.iteratorPostorder(); it.hasNext(); ) { +// final PhylogenyNode node = it.next(); +// if ( ( !node.isExternal() && !node.isCollapse() ) && node.getNodeData().isHasTaxonomy() +// && !ForesterUtil.isEmpty( node.getNodeData().getTaxonomy().getLineage() ) /* && !node.isRoot()*/ ) { +// boolean success = false; +// if ( !true_lineage_set.isEmpty() ) { +// for( final String lin : node.getNodeData().getTaxonomy().getLineage() ) { +// if ( true_lineage_set.contains( lin ) ) { +// TreePanelUtil.collapseSubtree( node, true ); +// ++collapsed; +// success = true; +// break; +// } +// } +// } +// if ( !success ) { +// final Map lineage_to_rank_map = MainPanel.getLineageToRankMap(); +// for( final String lin : node.getNodeData().getTaxonomy().getLineage() ) { +// final Taxonomy temp_tax = new Taxonomy(); +// temp_tax.setScientificName( lin ); +// if ( lineage_to_rank_map.containsKey( lin ) +// && !ForesterUtil.isEmpty( lineage_to_rank_map.get( lin ) ) +// && lineage_to_rank_map.get( lin ).equalsIgnoreCase( rank ) ) { +// TreePanelUtil.collapseSubtree( node, true ); +// ++collapsed; +// true_lineage_set.add( lin ); +// break; +// } +// else { +// UniProtTaxonomy up = null; +// try { +// up = TaxonomyDataManager.obtainUniProtTaxonomy( temp_tax, null, null ); +// } +// catch ( final Exception e ) { +// e.printStackTrace(); +// } +// if ( ( up != null ) && !ForesterUtil.isEmpty( up.getRank() ) ) { +// lineage_to_rank_map.put( lin, up.getRank() ); +// System.out.println( lin + "->" + up.getRank() ); +// if ( up.getRank().equalsIgnoreCase( rank ) ) { +// TreePanelUtil.collapseSubtree( node, true ); +// ++collapsed; +// true_lineage_set.add( lin ); +// break; +// } +// } +// } +// } +// } +// } +// } +// return collapsed; +// } final static int colorPhylogenyAccordingToRanks( final Phylogeny tree, final String rank,