- final RIO rio = new RIO( gene_trees_file, species_tree, algorithm );
- tableOutput( othology_outtable, rio );
+ final RIO rio = RIO.executeAnalysis( gene_trees_file,
+ species_tree,
+ algorithm,
+ REROOTING.BY_ALGORITHM,
+ outgroup,
+ logfile != null,
+ true );
+ if ( algorithm == ALGORITHM.GSDIR ) {
+ ForesterUtil.programMessage( PRG_NAME, "taxonomy linking based on: " + rio.getGSDIRtaxCompBase() );
+ }
+ tableOutput( orthology_outtable, rio );
+ if ( ( algorithm != ALGORITHM.SDIR ) && ( logfile != null ) ) {
+ writeLogFile( logfile,
+ rio,
+ species_tree_file,
+ gene_trees_file,
+ orthology_outtable,
+ PRG_NAME,
+ PRG_VERSION,
+ PRG_DATE,
+ ForesterUtil.getForesterLibraryInformation() );
+ }
+ final BasicDescriptiveStatistics stats = rio.getDuplicationsStatistics();
+ final java.text.DecimalFormat df = new java.text.DecimalFormat( "0.#" );
+ ForesterUtil.programMessage( PRG_NAME,
+ "Mean number of duplications : " + df.format( stats.arithmeticMean() )
+ + " (sd: " + df.format( stats.sampleStandardDeviation() ) + ")" );
+ if ( stats.getN() > 3 ) {
+ ForesterUtil.programMessage( PRG_NAME, "Median number of duplications: " + df.format( stats.median() ) );
+ }
+ ForesterUtil.programMessage( PRG_NAME, "Minimum duplications : " + ( int ) stats.getMin() );
+ ForesterUtil.programMessage( PRG_NAME, "Maximum duplications : " + ( int ) stats.getMax() );