edu.msu.cme.rdp.classifier.train.validation

## Class TreeFactory

- java.lang.Object
- - edu.msu.cme.rdp.classifier.train.validation.TreeFactory

    public class TreeFactory
    extends java.lang.Object

### Constructor Summary

Constructors
Constructor and Description
`TreeFactory(java.io.Reader taxReader)` Creates new TreeFactory

### Method Summary

Methods
`HierarchyTree` `addSequence(LineageSequence pSeq)` For the given sequence name, its ancestors, and the sequence, creates a HierarchyTree for each ancestor, If the root does not exist, creates the root with a null parent.
`HierarchyTree` `addSequence(LineageSequence pSeq, boolean initWordOccurrence)`
`void` `buildTree()` build the taxonomic tree without sequences attached to it
`void` `calculateWordPrior()`
`void` `displayTreePhylo(HierarchyTree root, java.lang.String index, int indent)` display the phylogenetic tree for each node, display the index and the name for each sequence, diaplay the name and the description
`java.lang.String` `getLowestRank()`
`java.util.Set<java.lang.String>` `getRankSet()`
`HierarchyTree` `getRoot()` Gets the root of the tree
`Taxonomy` `getTaxonomy(java.lang.String seqName, java.lang.String ancestorName, int pid, int index)`
`float` `getWordPrior(int wordIndex)`
`void` `printWordPriors()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### TreeFactory

    public TreeFactory(java.io.Reader taxReader)
                throws java.io.IOException

Creates new TreeFactory

Throws:
  `java.io.IOException`

### Method Detail

#### buildTree

    public void buildTree()

build the taxonomic tree without sequences attached to it

#### addSequence

    public HierarchyTree addSequence(LineageSequence pSeq)
                              throws java.io.IOException

For the given sequence name, its ancestors, and the sequence, creates a HierarchyTree for each ancestor, If the root does not exist, creates the root with a null parent. If the root is already exist, checks the ParsedSequence to see if its oldest ancestor is the same as the previous root.

Throws:
  `java.io.IOException`

#### addSequence

    public HierarchyTree addSequence(LineageSequence pSeq,
                            boolean initWordOccurrence)
                              throws java.io.IOException

Throws:
  `java.io.IOException`

#### getTaxonomy

    public Taxonomy getTaxonomy(java.lang.String seqName,
                       java.lang.String ancestorName,
                       int pid,
                       int index)

#### getRoot

    public HierarchyTree getRoot()

Gets the root of the tree

#### getRankSet

    public java.util.Set<java.lang.String> getRankSet()

#### getLowestRank

    public java.lang.String getLowestRank()

#### displayTreePhylo

    public void displayTreePhylo(HierarchyTree root,
                        java.lang.String index,
                        int indent)

display the phylogenetic tree for each node, display the index and the name for each sequence, diaplay the name and the description

#### calculateWordPrior

    public void calculateWordPrior()

#### printWordPriors

    public void printWordPriors()
                         throws java.io.IOException

Throws:
  `java.io.IOException`

#### getWordPrior

    public float getWordPrior(int wordIndex)