X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fsdi%2FSDIutil.java;h=4e12ae6713b9b1d7910b865357d2a656a1fd7aac;hb=665e671efec73fcb36a9aac45f119330f290fa81;hp=55266189b30dcbc589fd4752152bd7df8c4e72b5;hpb=99c1b5211c817dbe35a646589d9c4dbf508b8d50;p=jalview.git diff --git a/forester/java/src/org/forester/sdi/SDIutil.java b/forester/java/src/org/forester/sdi/SDIutil.java index 5526618..4e12ae6 100644 --- a/forester/java/src/org/forester/sdi/SDIutil.java +++ b/forester/java/src/org/forester/sdi/SDIutil.java @@ -6,7 +6,9 @@ import java.io.FileNotFoundException; import java.io.IOException; import org.forester.io.parsers.PhylogenyParser; +import org.forester.io.parsers.nexus.NexusPhylogeniesParser; import org.forester.io.parsers.nhx.NHXParser; +import org.forester.io.parsers.nhx.NHXParser.TAXONOMY_EXTRACTION; import org.forester.io.parsers.phyloxml.PhyloXmlDataFormatException; import org.forester.io.parsers.phyloxml.PhyloXmlParser; import org.forester.io.parsers.util.ParserUtils; @@ -70,8 +72,8 @@ public class SDIutil { final File species_tree_file, final boolean replace_undescores_in_nhx_trees, final boolean ignore_quotes_in_nhx_trees, - final NHXParser.TAXONOMY_EXTRACTION taxonomy_extraction_in_nhx_trees ) - throws FileNotFoundException, PhyloXmlDataFormatException, IOException, SDIException { + final TAXONOMY_EXTRACTION taxonomy_extraction_in_nhx_trees ) + throws FileNotFoundException, PhyloXmlDataFormatException, IOException, SDIException { Phylogeny species_tree; final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance(); final PhylogenyParser p = ParserUtils.createParserDependingOnFileType( species_tree_file, true ); @@ -85,15 +87,21 @@ public class SDIutil { nhx.setIgnoreQuotes( ignore_quotes_in_nhx_trees ); nhx.setTaxonomyExtraction( taxonomy_extraction_in_nhx_trees ); } + else if ( p instanceof NexusPhylogeniesParser ) { + final NexusPhylogeniesParser nex = ( NexusPhylogeniesParser ) p; + nex.setReplaceUnderscores( replace_undescores_in_nhx_trees ); + nex.setIgnoreQuotes( ignore_quotes_in_nhx_trees ); + nex.setTaxonomyExtraction( taxonomy_extraction_in_nhx_trees ); + } species_tree = factory.create( species_tree_file, p )[ 0 ]; species_tree.setRooted( true ); final TaxonomyComparisonBase comp_base = determineTaxonomyComparisonBase( gene_tree ); switch ( comp_base ) { case SCIENTIFIC_NAME: PhylogenyMethods - .transferNodeNameToField( species_tree, - PhylogenyMethods.PhylogenyNodeField.TAXONOMY_SCIENTIFIC_NAME, - true ); + .transferNodeNameToField( species_tree, + PhylogenyMethods.PhylogenyNodeField.TAXONOMY_SCIENTIFIC_NAME, + true ); break; case CODE: PhylogenyMethods.transferNodeNameToField( species_tree,