X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fapplication%2Fgsdi.java;h=4c5d0cd84bdd40d503c3a7b9f5bee9bcab3c577b;hb=a1faf8469197d44197c70d2eeb529f22e8e396b4;hp=de949a87f25aaec11ee02ef79f949d743f59edea;hpb=b27e63e1badc730396c24ec7666e2d9e2628e2e9;p=jalview.git diff --git a/forester/java/src/org/forester/application/gsdi.java b/forester/java/src/org/forester/application/gsdi.java index de949a8..4c5d0cd 100644 --- a/forester/java/src/org/forester/application/gsdi.java +++ b/forester/java/src/org/forester/application/gsdi.java @@ -34,6 +34,7 @@ import java.util.List; import org.forester.io.parsers.PhylogenyParser; import org.forester.io.parsers.nhx.NHXParser; +import org.forester.io.parsers.phyloxml.PhyloXmlDataFormatException; import org.forester.io.parsers.phyloxml.PhyloXmlParser; import org.forester.io.parsers.util.ParserUtils; import org.forester.io.writers.PhylogenyWriter; @@ -203,17 +204,42 @@ public final class gsdi { final TaxonomyComparisonBase comp_base = GSDI.determineTaxonomyComparisonBase( gene_tree ); switch ( comp_base ) { case SCIENTIFIC_NAME: - PhylogenyMethods - .transferNodeNameToField( species_tree, - PhylogenyMethods.PhylogenyNodeField.TAXONOMY_ID_UNIPROT_1 ); + try { + PhylogenyMethods + .transferNodeNameToField( species_tree, + PhylogenyMethods.PhylogenyNodeField.TAXONOMY_SCIENTIFIC_NAME, + true ); + } + catch ( final PhyloXmlDataFormatException e ) { + ForesterUtil.fatalError( gsdi.PRG_NAME, + "Failed to transfer general node name to scientific name, in [" + + species_tree_file + "]: " + e.getMessage() ); + } break; case CODE: - PhylogenyMethods.transferNodeNameToField( species_tree, - PhylogenyMethods.PhylogenyNodeField.TAXONOMY_CODE ); + try { + PhylogenyMethods + .transferNodeNameToField( species_tree, + PhylogenyMethods.PhylogenyNodeField.TAXONOMY_CODE, + true ); + } + catch ( final PhyloXmlDataFormatException e ) { + ForesterUtil.fatalError( gsdi.PRG_NAME, + "Failed to transfer general node name to taxonomy code, in [" + + species_tree_file + "]: " + e.getMessage() ); + } break; case ID: - PhylogenyMethods.transferNodeNameToField( species_tree, - PhylogenyMethods.PhylogenyNodeField.TAXONOMY_ID ); + try { + PhylogenyMethods.transferNodeNameToField( species_tree, + PhylogenyMethods.PhylogenyNodeField.TAXONOMY_ID, + true ); + } + catch ( final PhyloXmlDataFormatException e ) { + ForesterUtil.fatalError( gsdi.PRG_NAME, + "Failed to transfer general node name to taxonomy id, in [" + + species_tree_file + "]: " + e.getMessage() ); + } break; default: ForesterUtil.fatalError( gsdi.PRG_NAME, "unable to determine comparison base" ); @@ -221,8 +247,8 @@ public final class gsdi { } } catch ( final IOException e ) { - ForesterUtil.fatalError( gsdi.PRG_NAME, - "Failed to read species tree from [" + gene_tree_file + "]: " + e.getMessage() ); + ForesterUtil.fatalError( gsdi.PRG_NAME, "Failed to read species tree from [" + species_tree_file + "]: " + + e.getMessage() ); } gene_tree.setRooted( true ); species_tree.setRooted( true ); @@ -325,7 +351,7 @@ public final class gsdi { log_writer.println( "Number of duplications : " + sdi.getDuplicationsSum() ); if ( ( base_algorithm == BASE_ALGORITHM.GSDI ) ) { final GSDI gsdi = ( GSDI ) sdi; - File species_tree_used_file = new File( out_file + SUFFIX_FOR_SPECIES_TREE_USED ); + final File species_tree_used_file = new File( out_file + SUFFIX_FOR_SPECIES_TREE_USED ); try { final PhylogenyWriter writer = new PhylogenyWriter(); writer.toPhyloXML( species_tree_used_file, gsdi.getSpeciesTree(), 0 ); @@ -346,7 +372,7 @@ public final class gsdi { final int spec = gsdi.getSpeciationsSum(); System.out.println( "Number of speciations : " + spec ); log_writer.println( "Number of speciations : " + spec ); - for( PhylogenyNode n : gsdi.getMappedExternalSpeciesTreeNodes() ) { + for( final PhylogenyNode n : gsdi.getMappedExternalSpeciesTreeNodes() ) { System.out.println( n.toString() ); } }