Class TreesBlock

java.lang.Object
org.biojavax.bio.phylo.io.nexus.NexusBlock.Abstract
org.biojavax.bio.phylo.io.nexus.TreesBlock
All Implemented Interfaces:
NexusBlock, NexusObject

public class TreesBlock extends NexusBlock.Abstract
Represents Nexus trees blocks.
Since:
1.6
Author:
Richard Holland, Tobias Thierer, Jim Balhoff, Tiago Antao
  • Field Details

  • Constructor Details

    • TreesBlock

      public TreesBlock()
      Delegates to NexusBlock.Abstract constructor using TreesBlock.TREES_BLOCK as the name.
  • Method Details

    • addTranslation

      public void addTranslation(String label, String taxa)
      Add a translation.
      Parameters:
      label - the label to add.
      taxa - the taxa name this label will represent.
    • removeTranslation

      public void removeTranslation(String label)
      Removes the given translation.
      Parameters:
      label - the label to remove.
    • containsTranslation

      public boolean containsTranslation(String label)
      Checks to see if we contain the given translation.
      Parameters:
      label - the label to check for.
      Returns:
      true if we already contain it.
    • getTranslations

      public Map getTranslations()
      Get the translations added so far.
      Returns:
      the translations added so far.
    • addTree

      public void addTree(String label, TreesBlock.NewickTreeString tree)
      Adds a tree.
      Parameters:
      label - the label to give the tree.
      tree - the tree to add.
    • removeTree

      public void removeTree(String label)
      Removes a tree.
      Parameters:
      label - the label to remove.
    • containsTree

      public boolean containsTree(String label)
      Checks to see if we contain the given tree.
      Parameters:
      label - the label to check for.
      Returns:
      true if we already contain it.
    • getTrees

      public Map getTrees()
      Returns all trees.
      Returns:
      all the selected trees.
    • getTree

      public Object getTree(String label)
      Returns a tree for given label
      Parameters:
      label - the label to select.
      Returns:
      selected tree.
    • getTreeText

      public String getTreeText(org.jgrapht.UndirectedGraph<String,org.jgrapht.graph.DefaultEdge> treegraph, String node, String parent)
    • addTree

      public void addTree(String label, org.jgrapht.WeightedGraph<String,org.jgrapht.graph.DefaultWeightedEdge> treegraph)
      Deprecated.
      Add a tree, converting weighted graph (JGraphT) to NewickString This will assume a (arbitrary) root node using the old convention of labeling intermediate nodes as p*.
      Parameters:
      label - the label to add
      treegraph - the treegraph to convert.
    • getTreeText

      public String getTreeText(org.jgrapht.WeightedGraph<String,org.jgrapht.graph.DefaultWeightedEdge> treegraph, String node, String parent)
    • addTree

      public void addTree(String label, org.jgrapht.WeightedGraph<String,org.jgrapht.graph.DefaultWeightedEdge> treegraph, String topLabel)
      Add a tree, converting weighted graph (JGraphT) to NewickString.
      Parameters:
      label - the label to add
      treegraph - the treegraph to convert.
      topLabel - the label of the top (root if rooted tree) node.
    • getTreeAsWeightedJGraphT

      public org.jgrapht.WeightedGraph<String,org.jgrapht.graph.DefaultWeightedEdge> getTreeAsWeightedJGraphT(String label) throws ParseException
      Get given (NewickString) tree by label, converts it to weighted graph (JGraphT). Alters this.weighted!
      Parameters:
      label - label for tree selection
      Returns:
      converted tree as undirectedGraph
      Throws:
      ParseException
    • addComment

      public void addComment(NexusComment comment)
      Adds a comment.
      Parameters:
      comment - the comment to add.
    • removeComment

      public void removeComment(NexusComment comment)
      Removes a comment.
      Parameters:
      comment - the comment to remove.
    • getComments

      public List getComments()
      Returns all comments.
      Returns:
      all the selected comments.
    • writeBlockContents

      protected void writeBlockContents(Writer writer) throws IOException
      Description copied from class: NexusBlock.Abstract
      Implement this to write out block contents, not including the BEGIN and END tags.
      Specified by:
      writeBlockContents in class NexusBlock.Abstract
      Parameters:
      writer - the writer to write to.
      Throws:
      IOException - if writing failed.
    • getTopNode

      public String getTopNode()
      Returns the top node of the previously requested graph. The topNode will be the root node if the tree is rooted, if not then it will just be the top most node of the newick string with no biological meaning. The top node from the
      invalid reference
      #getTreeAsJGraphT(java.lang.String)
      and getTreeAsWeightedJGraphT(java.lang.String) might vary, and this function will return the top node of the previously called method only. If no method was called, null is returned. Note: the top node between graphs, probably does not vary, but, just in case, the note is here and the user should get a different top for each type of graph.
      Returns:
      the top node.
    • setNodePrefix

      public void setNodePrefix(String prefix)
      Sets the node prefix of intermediate nodes for returned graphs. The intermediate nodes of graphs have to be named, the conventions being: 1. Generate a new node name using a prefix plus an integer 2. If the node name clashes with any taxon name, use another integer
      Parameters:
      prefix - The prefix
    • getNodePrefix

      Returns the node prefix.
      Returns:
      the node prefix