## edu.msu.cme.rdp.classifier.train
Class RawHierarchyTree

    java.lang.Object
      edu.msu.cme.rdp.classifier.train.RawHierarchyTree

    public class RawHierarchyTree

extends java.lang.Object

A RawHierarchyTree holds the raw taxon and sequences information. A RawHierarchyTree can only have one type of children: child treenodes or child sequences.

Field Summary
`private int` `genusIndex`
`private int` `leaveCount`
`private java.lang.String` `name`
`private RawHierarchyTree` `parent`
`private java.util.Map` `subclasses`
`private Taxonomy` `taxon`
`private int[]` `wordOccurrence`

Constructor Summary
`RawHierarchyTree(java.lang.String n, RawHierarchyTree p, Taxonomy tax)` Creates new RawHierarchyTree given the name and its parent.

Method Summary
`private void` `addParent(RawHierarchyTree p)` Adds the parent HierarchyTree, also adds this node to the parent tree as a child.
`private void` `addSubclass(RawHierarchyTree c)` Adds a child treenode.
`int` `getGenusIndex()` Returns the genus index of this treenode.
`int` `getLeaveCount()` Counts the number of sequence leaves below this tree.
`java.lang.String` `getName()` Gets the name of the treenode.
`int` `getNonSingletonLeaveCount()` Counts the number of non-singleton sequence leaves below this tree.
`RawHierarchyTree` `getParent()` Gets the parent treenode.
`int` `getSizeofChildren()` Gets the size of the children, either taxon children or sequence leaves.
`int` `getSizeofSubclasses()` Gets the size of the child treenodes.
`RawHierarchyTree` `getSubclassbyName(java.lang.String n)` Gets the child treenode with the given name.
`java.util.Collection` `getSubclasses()` Gets the array of the subclasses if any.
`Taxonomy` `getTaxonomy()` Returns the taxon object of this treenode.
`int` `getWordOccurrence(int wordIndex)` Gets the word occurrence for the given word index.
`int` `getWordOccurrenceSize()` Returns the size of the array wordOccurrence.
`void` `initWordOccurrence(ParsedRawSequence pSeq, float[] wordPriorArr)` This method initiates the word occurrences from a sequence for the lowest level of the hierarchy tree.
`boolean` `isSingleton()`
`private boolean` `isWordExist(int[] wordList, int wordIndex)` Checks if this word already been added to the wordOccurrence.
`void` `releaseWordOccurrence()` Resets the array wordOccurrence to null.
`void` `setGenusIndex(int i)` Sets the genus index of this treenode.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### name

    private java.lang.String name

### leaveCount

    private int leaveCount

### parent

    private RawHierarchyTree parent

### subclasses

    private java.util.Map subclasses

### wordOccurrence

    private int[] wordOccurrence

### taxon

    private Taxonomy taxon

### genusIndex

    private int genusIndex

Constructor Detail

### RawHierarchyTree

    public RawHierarchyTree(java.lang.String n,
                            RawHierarchyTree p,
                            Taxonomy tax)

  Creates new RawHierarchyTree given the name and its parent. Note: a RawHierarchyTree can only have one type of children: child treenodes or child sequences. Usually the lowest ranked nodes contain the sequence leaves.

Method Detail

### addParent

    private void addParent(RawHierarchyTree p)

  Adds the parent HierarchyTree, also adds this node to the parent tree as a child.

### addSubclass

    private void addSubclass(RawHierarchyTree c)

  Adds a child treenode.

### getName

    public java.lang.String getName()

  Gets the name of the treenode.

### getParent

    public RawHierarchyTree getParent()

  Gets the parent treenode.

### getSubclasses

    public java.util.Collection getSubclasses()

  Gets the array of the subclasses if any.

### getSubclassbyName

    public RawHierarchyTree getSubclassbyName(java.lang.String n)

  Gets the child treenode with the given name.

### getSizeofChildren

    public int getSizeofChildren()

  Gets the size of the children, either taxon children or sequence leaves.

### getSizeofSubclasses

    public int getSizeofSubclasses()

  Gets the size of the child treenodes.

### initWordOccurrence

    public void initWordOccurrence(ParsedRawSequence pSeq,
                                   float[] wordPriorArr)
                            throws java.io.IOException

  This method initiates the word occurrences from a sequence for the lowest level of the hierarchy tree. Duplicate words from one sequence will be count only once.

  Throws:
    `java.io.IOException`

### isWordExist

    private boolean isWordExist(int[] wordList,
                                int wordIndex)

  Checks if this word already been added to the wordOccurrence. Returns true if found.

### getWordOccurrenceSize

    public int getWordOccurrenceSize()

  Returns the size of the array wordOccurrence.

### getWordOccurrence

    public int getWordOccurrence(int wordIndex)

  Gets the word occurrence for the given word index.

### releaseWordOccurrence

    public void releaseWordOccurrence()

  Resets the array wordOccurrence to null.

### getLeaveCount

    public int getLeaveCount()

  Counts the number of sequence leaves below this tree.

### isSingleton

    public boolean isSingleton()

### getNonSingletonLeaveCount

    public int getNonSingletonLeaveCount()

  Counts the number of non-singleton sequence leaves below this tree.

### getTaxonomy

    public Taxonomy getTaxonomy()

  Returns the taxon object of this treenode.

### setGenusIndex

    public void setGenusIndex(int i)

  Sets the genus index of this treenode.

### getGenusIndex

    public int getGenusIndex()

  Returns the genus index of this treenode.