| 
 | FORESTER 1.92 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
  |
  +--forester.tools.SDI
        |
        +--forester.tools.SDIse
Implements our algorithm for speciation - duplication inference (SDI).
Reference:
The initialization is accomplished by:
The recursion part is accomplished by this class' method "geneTreePostOrderTraversal(Node)".
Requires JDK 1.2 or greater.
SDI.linkExtNodesOfG(), 
Tree.preorderReID(int), 
SDI.stripTree(Tree,Tree), 
geneTreePostOrderTraversal(Node)| Constructor Summary | |
| SDIse(Tree gene_tree,
      Tree species_tree)Constructor which sets the gene tree and the species tree to be compared. | |
| Method Summary | |
| (package private)  void | geneTreePostOrderTraversal(Node g)Traverses the subtree of Node g in postorder, calculating the mapping function M, and determines which nodes represent speciation events and which ones duplication events. | 
|  int | infer(boolean strip_species_tree)Infers for each Node of gene_tree (set in constructor) whether it represents a speciation or duplication event by calculating and interpreting the mapping function M. | 
| (package private)  int | updateM(boolean prev_root_was_dup,
        Node prev_root_c1,
        Node prev_root_c2)Updates the mapping function M after the root of the gene tree has been moved by one branch. | 
| Methods inherited from class forester.tools.SDI | 
| computeMappingCost, decreaseDuplications, getDuplications, getGeneTree, getMappingCost, getSpeciesTree, increaseDuplications, linkExtNodesOfG, main, setDuplicationsToZero, stripTree | 
| Methods inherited from class java.lang.Object | 
|  | 
| Constructor Detail | 
public SDIse(Tree gene_tree,
             Tree species_tree)
      throws java.lang.Exception
(Last modified: 01/11/01)
gene_tree - reference to a rooted binary gene Tree to which assign
duplication vs speciation, must have species names in 
the species name fields for all external nodesspecies_tree - reference to a rooted binary species Tree which might
get stripped in the process, must have species names in 
the species name fields for all external nodesinfer(boolean), 
SDI.computeMappingCost()| Method Detail | 
public int infer(boolean strip_species_tree)
          throws java.lang.Exception
(Last modified: 01/11/01)
infer in class SDIstrip_species_tree - set to true to remove from the species tree 
species not found in the gene tree prior
to analysis (optional)SDIse(Tree,Tree)void geneTreePostOrderTraversal(Node g)
Preconditions: Mapping M for external nodes must have been calculated and the species tree must be labelled in preorder.
(Last modified: 01/11/01)
g - starting node of a gene tree - normally the root
int updateM(boolean prev_root_was_dup,
            Node prev_root_c1,
            Node prev_root_c2)
To be used ONLY by method "SDIunrooted.fastInfer(Tree,Tree)".
(Last modfied: 10/02/01)
prev_root_was_dup - true if the previous root was a duplication,
false otherwiseprev_root_c1 - child 1 of the previous rootprev_root_c2 - child 2 of the previous root| 
 | FORESTER 1.92 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||