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;
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 );
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,