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 );
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();
}
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;
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: "
if ( gsdi_result.getDuplicationsSum() < min_duplications_sum ) {\r
min_duplications_sum = gsdi_result.getDuplicationsSum();\r
speciations_sum = gsdi_result.getSpeciationsSum();\r
+ _min_duplications_sum_gene_tree = gene_tree.copy();\r
if ( transfer_taxonomy ) {\r
- transferTaxonomy( gene_tree );\r
+ transferTaxonomy( _min_duplications_sum_gene_tree );\r
}\r
- _min_duplications_sum_gene_tree = gene_tree.copy();\r
}\r
else if ( gsdi_result.getDuplicationsSum() == min_duplications_sum ) {\r
final List<Phylogeny> l = new ArrayList<Phylogeny>();\r
l.add( gene_tree );\r
final int index = getIndexesOfShortestTree( l ).get( 0 );\r
if ( index == 1 ) {\r
+ _min_duplications_sum_gene_tree = gene_tree.copy();\r
if ( transfer_taxonomy ) {\r
- transferTaxonomy( gene_tree );\r
+ transferTaxonomy( _min_duplications_sum_gene_tree );\r
}\r
- _min_duplications_sum_gene_tree = gene_tree.copy();\r
}\r
}\r
_duplications_sum_stats.addValue( gsdi_result.getDuplicationsSum() );\r