git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
in progress
[jalview.git]
/
forester
/
java
/
src
/
org
/
forester
/
sdi
/
GSDIR.java
diff --git
a/forester/java/src/org/forester/sdi/GSDIR.java
b/forester/java/src/org/forester/sdi/GSDIR.java
index
6b170d9
..
52620a2
100644
(file)
--- a/
forester/java/src/org/forester/sdi/GSDIR.java
+++ b/
forester/java/src/org/forester/sdi/GSDIR.java
@@
-52,7
+52,8
@@
public class GSDIR implements GSDII {
public GSDIR( final Phylogeny gene_tree,
\r
final Phylogeny species_tree,
\r
final boolean strip_gene_tree,
\r
public GSDIR( final Phylogeny gene_tree,
\r
final Phylogeny species_tree,
\r
final boolean strip_gene_tree,
\r
- final boolean strip_species_tree ) throws SDIException {
\r
+ final boolean strip_species_tree,
\r
+ final boolean transfer_taxonomy ) throws SDIException {
\r
final NodesLinkingResult nodes_linking_result = GSDI.linkNodesOfG( gene_tree,
\r
species_tree,
\r
strip_gene_tree,
\r
final NodesLinkingResult nodes_linking_result = GSDI.linkNodesOfG( gene_tree,
\r
species_tree,
\r
strip_gene_tree,
\r
@@
-80,7
+81,6
@@
public class GSDIR implements GSDII {
for( final PhylogenyBranch branch : gene_tree_branches_post_order ) {
\r
reRoot( branch, gene_tree );
\r
PhylogenyMethods.preOrderReId( species_tree );
\r
for( final PhylogenyBranch branch : gene_tree_branches_post_order ) {
\r
reRoot( branch, gene_tree );
\r
PhylogenyMethods.preOrderReId( species_tree );
\r
-
\r
final GSDIsummaryResult gsdi_result = GSDI.geneTreePostOrderTraversal( gene_tree,
\r
true,
\r
min_duplications_sum );
\r
final GSDIsummaryResult gsdi_result = GSDI.geneTreePostOrderTraversal( gene_tree,
\r
true,
\r
min_duplications_sum );
\r
@@
-91,6
+91,9
@@
public class GSDIR implements GSDII {
min_duplications_sum = gsdi_result.getDuplicationsSum();
\r
speciations_sum = gsdi_result.getSpeciationsSum();
\r
_min_duplications_sum_gene_tree = gene_tree.copy();
\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( _min_duplications_sum_gene_tree );
\r
+ }
\r
}
\r
else if ( gsdi_result.getDuplicationsSum() == min_duplications_sum ) {
\r
final List<Phylogeny> l = new ArrayList<Phylogeny>();
\r
}
\r
else if ( gsdi_result.getDuplicationsSum() == min_duplications_sum ) {
\r
final List<Phylogeny> l = new ArrayList<Phylogeny>();
\r
@@
-99,6
+102,9
@@
public class GSDIR implements GSDII {
final int index = getIndexesOfShortestTree( l ).get( 0 );
\r
if ( index == 1 ) {
\r
_min_duplications_sum_gene_tree = gene_tree.copy();
\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( _min_duplications_sum_gene_tree );
\r
+ }
\r
}
\r
}
\r
_duplications_sum_stats.addValue( gsdi_result.getDuplicationsSum() );
\r
}
\r
}
\r
_duplications_sum_stats.addValue( gsdi_result.getDuplicationsSum() );
\r
@@
-208,4
+214,10
@@
public class GSDIR implements GSDII {
throw new IllegalArgumentException( "reRoot( Branch b ): b is not a branch." );
\r
}
\r
}
\r
throw new IllegalArgumentException( "reRoot( Branch b ): b is not a branch." );
\r
}
\r
}
\r
+
\r
+ private final static void transferTaxonomy( final Phylogeny gt ) {
\r
+ for( final PhylogenyNodeIterator it = gt.iteratorPostorder(); it.hasNext(); ) {
\r
+ GSDI.transferTaxonomy( it.next() );
\r
+ }
\r
+ }
\r
}
\r
}
\r