in progress...
[jalview.git] / forester / java / src / org / forester / application / annotator.java
index 8ecc9a4..4374f53 100644 (file)
@@ -28,6 +28,7 @@ package org.forester.application;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import org.forester.analysis.AncestralTaxonomyInference;
@@ -75,42 +76,50 @@ public final class annotator {
                 infiles.add( file );
             }
         }
+        Collections.sort( infiles );
         int c = 0;
         for( final File infile : infiles ) {
             System.out.println( ++c + "/" + infiles.size() + ": " + infile );
-            Phylogeny phy = null;
-            try {
-                final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
-                final Phylogeny[] phylogenies = factory.create( infile,
-                                                                PhyloXmlParser.createPhyloXmlParserXsdValidating() );
-                phy = phylogenies[ 0 ];
-            }
-            catch ( final Exception e ) {
-                ForesterUtil.fatalError( PRG_NAME, "failed to read phylgenies from [" + infile + "] [" + e.getMessage()
-                        + "]" );
-            }
-            try {
-                obtainSeqInformation( phy );
-            }
-            catch ( final IOException e ) {
-                ForesterUtil.fatalError( PRG_NAME, e.getMessage() );
-            }
-            try {
-                inferTaxonomyFromDescendents( phy );
-            }
-            catch ( final IOException e ) {
-                ForesterUtil.fatalError( PRG_NAME, e.getMessage() );
-            }
-            catch ( final AncestralTaxonomyInferenceException e ) {
-                ForesterUtil.fatalError( PRG_NAME, e.getMessage() );
-            }
             final File outfile = new File( outdir.getAbsolutePath().toString() + "/" + infile.getName() );
-            try {
-                final PhylogenyWriter w = new PhylogenyWriter();
-                w.toPhyloXML( phy, 0, outfile );
+            if ( outfile.exists() ) {
+                System.out.println( outfile + " already exists" );
             }
-            catch ( final IOException e ) {
-                ForesterUtil.fatalError( PRG_NAME, "failed to write output [" + e.getMessage() + "]" );
+            else {
+                Phylogeny phy = null;
+                try {
+                    final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
+                    final Phylogeny[] phylogenies = factory.create( infile,
+                                                                    PhyloXmlParser.createPhyloXmlParserXsdValidating() );
+                    phy = phylogenies[ 0 ];
+                }
+                catch ( final Exception e ) {
+                    ForesterUtil
+                    .fatalError( PRG_NAME, "failed to read phylgenies from [" + infile + "] [" + e.getMessage()
+                                 + "]" );
+                }
+                try {
+                    obtainSeqInformation( phy );
+                }
+                catch ( final IOException e ) {
+                    ForesterUtil.fatalError( PRG_NAME, e.getMessage() );
+                }
+                //                try {
+                //                    inferTaxonomyFromDescendents( phy );
+                //                }
+                //                catch ( final IOException e ) {
+                //                    ForesterUtil.fatalError( PRG_NAME, e.getMessage() );
+                //                }
+                //                catch ( final AncestralTaxonomyInferenceException e ) {
+                //                    ForesterUtil.fatalError( PRG_NAME, e.getMessage() );
+                //                }
+                //phy.setRerootable( false );
+                try {
+                    final PhylogenyWriter w = new PhylogenyWriter();
+                    w.toPhyloXML( phy, 0, outfile );
+                }
+                catch ( final IOException e ) {
+                    ForesterUtil.fatalError( PRG_NAME, "failed to write output [" + e.getMessage() + "]" );
+                }
             }
         }
     }
@@ -120,7 +129,7 @@ public final class annotator {
     }
 
     private static void inferTaxonomyFromDescendents( final Phylogeny phy ) throws IOException,
-            AncestralTaxonomyInferenceException {
+    AncestralTaxonomyInferenceException {
         AncestralTaxonomyInference.inferTaxonomyFromDescendents( phy );
     }