in progress...
[jalview.git] / forester / java / src / org / forester / application / rename.java
1
2 package org.forester.application;
3
4 import java.io.File;
5 import java.io.IOException;
6
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;
16
17 public class rename {
18
19     public static void main( final String args[] ) {
20         final File infile = new File( args[ 0 ] );
21         final File outfile = new File( args[ 1 ] );
22         Phylogeny p = null;
23         try {
24             final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
25             final PhylogenyParser pp = ParserUtils.createParserDependingOnFileType( infile, true );
26             p = factory.create( infile, pp )[ 0 ];
27         }
28         catch ( final Exception e ) {
29             System.out.println( "\nCould not read \"" + infile + "\" [" + e.getMessage() + "]\n" );
30             System.exit( -1 );
31         }
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( '_' );
37                 if ( i > 0 ) {
38                     node.setName( node_name.substring( i + 1 )  );
39                 }
40             }
41         }
42         try {
43             final PhylogenyWriter w = new PhylogenyWriter();
44             w.toNewHampshire( p, true, outfile );
45         }
46         catch ( final IOException e ) {
47             System.out.println( "\nFailure to write output [" + e.getMessage() + "]\n" );
48             System.exit( -1 );
49         }
50     }
51 }