\r
public class GSDIR extends GSDI {\r
\r
- private int _min_duplications_sum;\r
- private final BasicDescriptiveStatistics _duplications_sum_stats;\r
- private final List<Phylogeny> _min_duplications_sum_gene_trees;\r
+ private int _min_duplications_sum;\r
+ private final BasicDescriptiveStatistics _duplications_sum_stats;\r
+ private final List<Phylogeny> _min_duplications_sum_gene_trees;\r
\r
public GSDIR( final Phylogeny gene_tree, final Phylogeny species_tree, final boolean strip_gene_tree, final int x )\r
throws SDIException {\r
super( gene_tree, species_tree, true, strip_gene_tree, true, 1 );\r
_min_duplications_sum = Integer.MAX_VALUE;\r
_min_duplications_sum_gene_trees = new ArrayList<Phylogeny>();\r
- _duplications_sum_stats = new BasicDescriptiveStatistics();\r
+ _duplications_sum_stats = new BasicDescriptiveStatistics();\r
linkNodesOfG();\r
final List<PhylogenyNode> gene_tree_nodes_post_order = new ArrayList<PhylogenyNode>();\r
for( final PhylogenyNodeIterator it = gene_tree.iteratorPostorder(); it.hasNext(); ) {\r
gene_tree_nodes_post_order.add( it.next() );\r
}\r
for( final PhylogenyNode root : gene_tree_nodes_post_order ) {\r
- _gene_tree.reRoot( root );\r
+ _duplications_sum = 0;\r
+ _speciation_or_duplication_events_sum = 0;\r
+ _speciations_sum = 0;\r
+ _gene_tree.reRoot( root.getId() ); //TODO reRoot( root )\r
PhylogenyMethods.preOrderReId( getSpeciesTree() );\r
//TEST, remove later\r
- for( final PhylogenyNodeIterator it = getGeneTree().iteratorPostorder(); it.hasNext(); ) {\r
+ for( final PhylogenyNodeIterator it = _gene_tree.iteratorPostorder(); it.hasNext(); ) {\r
final PhylogenyNode g = it.next();\r
if ( g.isInternal() ) {\r
g.setLink( null );\r
}\r
}\r
geneTreePostOrderTraversal();\r
- _duplications_sum_stats.addValue( getMinDuplicationsSum() );\r
- if ( getDuplicationsSum() < getMinDuplicationsSum() ) {\r
- _min_duplications_sum = getDuplicationsSum();\r
+ if ( _duplications_sum < _min_duplications_sum ) {\r
+ _min_duplications_sum = _duplications_sum;\r
_min_duplications_sum_gene_trees.clear();\r
_min_duplications_sum_gene_trees.add( getGeneTree().copy() );\r
}\r
- else if ( getDuplicationsSum() == getMinDuplicationsSum() ) {\r
+ else if ( _duplications_sum == _min_duplications_sum ) {\r
_min_duplications_sum_gene_trees.add( getGeneTree().copy() );\r
}\r
+ System.out.println( getDuplicationsSum() );\r
+ _duplications_sum_stats.addValue( _duplications_sum );\r
}\r
}\r
\r