- else if ( gene_tree_ext_nodes != gt.getNumberOfExternalNodes() ) {
- throw new RIOException( "gene tree #" + ( i + 1 ) + " has a different number of external nodes ("
- + gt.getNumberOfExternalNodes() + ") than the preceding gene trees (" + gene_tree_ext_nodes
- + ")" );
- }
- if ( algorithm == ALGORITHM.SDIR ) {
- // Removes from gene_tree all species not found in species_tree.
- PhylogenyMethods.taxonomyBasedDeletionOfExternalNodes( species_tree, gt );
- if ( gt.isEmpty() ) {
- throw new RIOException( "failed to establish species based mapping between gene and species trees" );
- }
- }
- // _analyzed_gene_trees[ i ] = performOrthologInference( gt, species_tree, algorithm, outgroup, i );
- final Phylogeny analyzed_gt = performOrthologInference( gt, species_tree, algorithm, outgroup, i );
- RIO.calculateOrthologTable( analyzed_gt, true, i );