}
public static void deleteExternalNodesNegativeSelection( final Set<Integer> to_delete, final Phylogeny phy ) {
- phy.hashIDs();
+ phy.clearHashIdToNodeMap();
for( final Integer id : to_delete ) {
phy.deleteSubtree( phy.getNode( id ), true );
}
- phy.hashIDs();
+ phy.clearHashIdToNodeMap();
+ phy.externalNodesHaveChanged();
}
public static void deleteExternalNodesNegativeSelection( final String[] node_names_to_delete, final Phylogeny p )
p.deleteSubtree( n, true );
}
}
+ p.clearHashIdToNodeMap();
+ p.externalNodesHaveChanged();
}
public static void deleteExternalNodesPositiveSelection( final Set<Taxonomy> species_to_keep, final Phylogeny phy ) {
throw new IllegalArgumentException( "node " + n.getId() + " has no taxonomic data" );
}
}
- phy.hashIDs();
+ phy.clearHashIdToNodeMap();
phy.externalNodesHaveChanged();
- // deleteExternalNodesNegativeSelection( to_delete, phy );
}
public static List<String> deleteExternalNodesPositiveSelection( final String[] node_names_to_keep,
}
if ( remove_me.isExternal() ) {
phylogeny.deleteSubtree( remove_me, false );
+ phylogeny.clearHashIdToNodeMap();
+ phylogeny.externalNodesHaveChanged();
}
else {
final PhylogenyNode parent = remove_me.getParent();
desc.getDistanceToParent() ) );
}
remove_me.setParent( null );
- phylogeny.setIdHash( null );
+ phylogeny.clearHashIdToNodeMap();
phylogeny.externalNodesHaveChanged();
}
}
for( final PhylogenyNode phylogenyNode : nodes_to_delete ) {
to_be_stripped.deleteSubtree( phylogenyNode, true );
}
+ to_be_stripped.clearHashIdToNodeMap();
+ to_be_stripped.externalNodesHaveChanged();
return nodes_to_delete.size();
}