Package org.biojavax.bio.phylo.io.nexus
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TreesBlock.NewickTreeString
A simple representation of a Newick tree as a single string.-
Nested classes/interfaces inherited from interface org.biojavax.bio.phylo.io.nexus.NexusBlock
NexusBlock.Abstract
-
-
Field Summary
Fields Modifier and Type Field Description static String
TREES_BLOCK
A constant representing the name of Trees blocks.
-
Constructor Summary
Constructors Constructor Description TreesBlock()
Delegates to NexusBlock.Abstract constructor using TreesBlock.TREES_BLOCK as the name.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addComment(NexusComment comment)
Adds a comment.void
addTranslation(String label, String taxa)
Add a translation.void
addTree(String label, TreesBlock.NewickTreeString tree)
Adds a tree.void
addTree(String label, org.jgrapht.WeightedGraph<String,org.jgrapht.graph.DefaultWeightedEdge> treegraph)
Deprecated.void
addTree(String label, org.jgrapht.WeightedGraph<String,org.jgrapht.graph.DefaultWeightedEdge> treegraph, String topLabel)
Add a tree, converting weighted graph (JGraphT) to NewickString.boolean
containsTranslation(String label)
Checks to see if we contain the given translation.boolean
containsTree(String label)
Checks to see if we contain the given tree.List
getComments()
Returns all comments.String
getNodePrefix()
Returns the node prefix.String
getTopNode()
Returns the top node of the previously requested graph.Map
getTranslations()
Get the translations added so far.Object
getTree(String label)
Returns a tree for given labelorg.jgrapht.WeightedGraph<String,org.jgrapht.graph.DefaultWeightedEdge>
getTreeAsWeightedJGraphT(String label)
Get given (NewickString) tree by label, converts it to weighted graph (JGraphT).Map
getTrees()
Returns all trees.String
getTreeText(org.jgrapht.UndirectedGraph<String,org.jgrapht.graph.DefaultEdge> treegraph, String node, String parent)
String
getTreeText(org.jgrapht.WeightedGraph<String,org.jgrapht.graph.DefaultWeightedEdge> treegraph, String node, String parent)
void
removeComment(NexusComment comment)
Removes a comment.void
removeTranslation(String label)
Removes the given translation.void
removeTree(String label)
Removes a tree.void
setNodePrefix(String prefix)
Sets the node prefix of intermediate nodes for returned graphs.protected void
writeBlockContents(Writer writer)
Implement this to write out block contents, not including the BEGIN and END tags.-
Methods inherited from class org.biojavax.bio.phylo.io.nexus.NexusBlock.Abstract
getBlockName, writeObject, writeToken
-
-
-
-
Field Detail
-
TREES_BLOCK
public static final String TREES_BLOCK
A constant representing the name of Trees blocks.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TreesBlock
public TreesBlock()
Delegates to NexusBlock.Abstract constructor using TreesBlock.TREES_BLOCK as the name.
-
-
Method Detail
-
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.
-
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 addtreegraph
- 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 addtreegraph
- 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 classNexusBlock.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#getTreeAsJGraphT(java.lang.String)
andgetTreeAsWeightedJGraphT(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
public String getNodePrefix()
Returns the node prefix.- Returns:
- the node prefix
-
-