2 package org.forester.application;
5 import java.io.IOException;
7 import org.forester.io.parsers.PhylogenyParser;
8 import org.forester.io.parsers.util.ParserUtils;
9 import org.forester.io.writers.PhylogenyWriter;
10 import org.forester.phylogeny.Phylogeny;
11 import org.forester.phylogeny.PhylogenyNode;
12 import org.forester.phylogeny.factories.ParserBasedPhylogenyFactory;
13 import org.forester.phylogeny.factories.PhylogenyFactory;
14 import org.forester.phylogeny.iterators.PhylogenyNodeIterator;
15 import org.forester.util.ForesterUtil;
19 public static void main( final String args[] ) {
20 final File infile = new File( args[ 0 ] );
21 final File outfile = new File( args[ 1 ] );
24 final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
25 final PhylogenyParser pp = ParserUtils.createParserDependingOnFileType( infile, true );
26 p = factory.create( infile, pp )[ 0 ];
28 catch ( final Exception e ) {
29 System.out.println( "\nCould not read \"" + infile + "\" [" + e.getMessage() + "]\n" );
32 for( final PhylogenyNodeIterator iter = p.iteratorPreorder(); iter.hasNext(); ) {
33 final PhylogenyNode node = iter.next();
34 final String node_name = node.getName();
35 if ( !ForesterUtil.isEmpty( node_name ) ) {
36 final int i = node_name.lastIndexOf( '_' );
38 node.setName( node_name.substring( i + 1 ) );
43 final PhylogenyWriter w = new PhylogenyWriter();
44 w.toNewHampshire( p, true, outfile );
46 catch ( final IOException e ) {
47 System.out.println( "\nFailure to write output [" + e.getMessage() + "]\n" );