From: cmzmasek@gmail.com Date: Mon, 25 Mar 2013 20:49:21 +0000 (+0000) Subject: transfer of taxonomy in GSDI and RIO X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=25e80a3f3c5c5c957fbf8879fdeb3a022d98b057;p=jalview.git transfer of taxonomy in GSDI and RIO --- diff --git a/forester/java/src/org/forester/application/gsdi.java b/forester/java/src/org/forester/application/gsdi.java index 711b1e6..b16b733 100644 --- a/forester/java/src/org/forester/application/gsdi.java +++ b/forester/java/src/org/forester/application/gsdi.java @@ -245,12 +245,12 @@ public final class gsdi { final long start_time = new Date().getTime(); try { if ( base_algorithm == ALGORITHM.GSDI ) { - System.out.println( "Algorithm : GSDI" ); - log_writer.println( "Algorithm : GSDI" ); + System.out.println( "Algorithm : GSDI" ); + log_writer.println( "Algorithm : GSDI" ); } else if ( base_algorithm == ALGORITHM.GSDIR ) { - System.out.println( "Algorithm : GSDIR" ); - log_writer.println( "Algorithm : GSDIR" ); + System.out.println( "Algorithm : GSDIR" ); + log_writer.println( "Algorithm : GSDIR" ); } System.out.println( "Use most parsimonous duplication model : " + most_parsimonous_duplication_model ); System.out.println( "Allow stripping of gene tree nodes : " + allow_stripping_of_gene_tree ); diff --git a/forester/java/src/org/forester/application/rio.java b/forester/java/src/org/forester/application/rio.java index d3414a7..1b9687e 100644 --- a/forester/java/src/org/forester/application/rio.java +++ b/forester/java/src/org/forester/application/rio.java @@ -88,7 +88,7 @@ public class rio { if ( cla.isOptionSet( HELP_OPTION_1 ) || cla.isOptionSet( HELP_OPTION_2 ) || ( args.length == 0 ) ) { printHelp(); } - if ( ( args.length < 3 ) || ( args.length > 11 ) ) { + if ( ( args.length < 3 ) || ( args.length > 11 ) || ( cla.getNumberOfNames() < 3 ) ) { System.out.println(); System.out.println( "error: incorrect number of arguments" ); System.out.println(); @@ -287,6 +287,7 @@ public class rio { } if ( return_gene_tree != null ) { System.out.println( "Write best gene tree to : " + return_gene_tree ); + System.out.println( "Transfer taxonomic data : " + transfer_taxonomy ); } time = System.currentTimeMillis(); final ALGORITHM algorithm; @@ -369,9 +370,13 @@ public class rio { writeTree( rio.getSpeciesTree(), return_species_tree, "Wrote (stripped) species tree to" ); } if ( return_gene_tree != null ) { + String tt = ""; + if ( transfer_taxonomy ) { + tt = "(with transferred taxonomic data) "; + } writeTree( rio.getMinDuplicationsGeneTree(), return_gene_tree, - "Wrote (one) minimal duplication gene tree to" ); + "Wrote (one) minimal duplication gene tree " + tt + "to" ); } final java.text.DecimalFormat df = new java.text.DecimalFormat( "0.#" ); System.out.println( "Mean number of duplications : " + df.format( stats.arithmeticMean() ) + " (sd: " diff --git a/forester/java/src/org/forester/sdi/GSDIR.java b/forester/java/src/org/forester/sdi/GSDIR.java index 7ca8dca..52620a2 100644 --- a/forester/java/src/org/forester/sdi/GSDIR.java +++ b/forester/java/src/org/forester/sdi/GSDIR.java @@ -90,10 +90,10 @@ public class GSDIR implements GSDII { if ( gsdi_result.getDuplicationsSum() < min_duplications_sum ) { min_duplications_sum = gsdi_result.getDuplicationsSum(); speciations_sum = gsdi_result.getSpeciationsSum(); + _min_duplications_sum_gene_tree = gene_tree.copy(); if ( transfer_taxonomy ) { - transferTaxonomy( gene_tree ); + transferTaxonomy( _min_duplications_sum_gene_tree ); } - _min_duplications_sum_gene_tree = gene_tree.copy(); } else if ( gsdi_result.getDuplicationsSum() == min_duplications_sum ) { final List l = new ArrayList(); @@ -101,10 +101,10 @@ public class GSDIR implements GSDII { l.add( gene_tree ); final int index = getIndexesOfShortestTree( l ).get( 0 ); if ( index == 1 ) { + _min_duplications_sum_gene_tree = gene_tree.copy(); if ( transfer_taxonomy ) { - transferTaxonomy( gene_tree ); + transferTaxonomy( _min_duplications_sum_gene_tree ); } - _min_duplications_sum_gene_tree = gene_tree.copy(); } } _duplications_sum_stats.addValue( gsdi_result.getDuplicationsSum() );