bpp-phyl
2.2.0
|
The phylogenetic node class. More...
#include <Bpp/Phyl/Node.h>
Public Member Functions | |
Node () | |
Build a new void Node object. More... | |
Node (int id) | |
Build a new Node with specified id. More... | |
Node (const std::string &name) | |
Build a new Node with specified name. More... | |
Node (int id, const std::string &name) | |
Build a new Node with specified id and name. More... | |
Node (const Node &node) | |
Copy constructor. More... | |
Node & | operator= (const Node &node) |
Assignation operator. More... | |
Node * | clone () const |
virtual | ~Node () |
std::vector< const Node * > | getNeighbors () const |
std::vector< Node * > | getNeighbors () |
virtual size_t | degree () const |
virtual bool | operator== (const Node &node) const |
virtual bool | isLeaf () const |
Identity | |
virtual int | getId () const |
Get the node's id. More... | |
virtual void | setId (int id) |
Set this node's id. More... | |
virtual std::vector< int > | getSonsId () const |
Name: | |
virtual std::string | getName () const throw (NodePException) |
Get the name associated to this node, if there is one, otherwise throw a NodeException. More... | |
virtual void | setName (const std::string &name) |
Give a name or update the name associated to the node. More... | |
virtual void | deleteName () |
Delete the name associated to this node (do nothing if there is no name). More... | |
virtual bool | hasName () const |
Tell is this node has a name. More... | |
Distances: | |
virtual double | getDistanceToFather () const |
Get the distance to the father node is there is one, otherwise throw a NodeException. More... | |
virtual void | setDistanceToFather (double distance) |
Set or update the distance toward the father node. More... | |
virtual void | deleteDistanceToFather () |
Delete the distance to the father node. More... | |
virtual bool | hasDistanceToFather () const |
Tell is this node has a distance to the father. More... | |
Father: | |
virtual const Node * | getFather () const |
Get the father of this node is there is one. More... | |
virtual Node * | getFather () |
Get the father of this node is there is one. More... | |
virtual int | getFatherId () const |
virtual void | setFather (Node *node) throw (NullPointerException) |
Set the father node of this node. More... | |
virtual Node * | removeFather () |
Remove the father of this node. More... | |
virtual bool | hasFather () const |
Tell if this node has a father node. More... | |
Sons: | |
virtual size_t | getNumberOfSons () const |
virtual std::vector< Node * > & | getSons () |
virtual const Node * | getSon (size_t pos) const throw (IndexOutOfBoundsException) |
virtual Node * | getSon (size_t pos) throw (IndexOutOfBoundsException) |
virtual void | addSon (size_t pos, Node *node) throw (NullPointerException, NodePException) |
virtual void | addSon (Node *node) throw (NullPointerException, NodePException) |
virtual void | setSon (size_t pos, Node *node) throw (IndexOutOfBoundsException, NullPointerException, NodePException) |
virtual Node * | removeSon (size_t pos) throw (IndexOutOfBoundsException) |
virtual void | removeSon (Node *node) throw (NodeNotFoundException, NullPointerException) |
virtual void | removeSons () |
virtual void | swap (size_t branch1, size_t branch2) throw (IndexOutOfBoundsException) |
virtual size_t | getSonPosition (const Node *son) const throw (NodeNotFoundException, NullPointerException) |
Operators: | |
| |
Node * | operator[] (int i) |
const Node * | operator[] (int i) const |
Node properties: | |
virtual void | setNodeProperty (const std::string &name, const Clonable &property) |
Set/add a node property. More... | |
virtual Clonable * | getNodeProperty (const std::string &name) throw (PropertyNotFoundException) |
virtual const Clonable * | getNodeProperty (const std::string &name) const throw (PropertyNotFoundException) |
virtual Clonable * | removeNodeProperty (const std::string &name) throw (PropertyNotFoundException) |
virtual void | deleteNodeProperty (const std::string &name) throw (PropertyNotFoundException) |
virtual void | removeNodeProperties () |
Remove all node properties. More... | |
virtual void | deleteNodeProperties () |
Delete all node properties. More... | |
virtual bool | hasNodeProperty (const std::string &name) const |
virtual std::vector< std::string > | getNodePropertyNames () const |
Branch properties: | |
virtual void | setBranchProperty (const std::string &name, const Clonable &property) |
Set/add a branch property. More... | |
virtual Clonable * | getBranchProperty (const std::string &name) throw (PropertyNotFoundException) |
virtual const Clonable * | getBranchProperty (const std::string &name) const throw (PropertyNotFoundException) |
virtual Clonable * | removeBranchProperty (const std::string &name) throw (PropertyNotFoundException) |
virtual void | deleteBranchProperty (const std::string &name) throw (PropertyNotFoundException) |
virtual void | removeBranchProperties () |
Remove all branch properties. More... | |
virtual void | deleteBranchProperties () |
Delete all branch properties. More... | |
virtual bool | hasBranchProperty (const std::string &name) const |
virtual std::vector< std::string > | getBranchPropertyNames () const |
virtual bool | hasBootstrapValue () const |
virtual double | getBootstrapValue () const throw (PropertyNotFoundException) |
Protected Attributes | |
int | id_ |
std::string * | name_ |
std::vector< Node * > | sons_ |
Node * | father_ |
double * | distanceToFather_ |
std::map< std::string, Clonable * > | nodeProperties_ |
std::map< std::string, Clonable * > | branchProperties_ |
The phylogenetic node class.
This class is for use with the TreeTemplate class, an implementation of the Tree interface. TreeTemplates are made made of nodes, instances of this class. Since trees are oriented (rooted), each node has one father node and possibly many son nodes. Leaves are nodes without descendant and root is defined has the without father. Inner nodes will generally contain two descendants (the tree is then called bifurcating), but mutlifurcating trees are also allowed with this kind of description. In the rooted case, each inner node also defines a subtree. This allows to work recursively on trees, which is very convenient in most cases.
This class is made the more general as possible, while keeping it very simple. It contains:
Methods are provided to help the building of trees from scratch. Trees are more easily built from root to leaves: The addSon(Node) method adds a node to the list of direct descendants of a given node. The son node will also have its father set to the current node. It is also possible to build a tree starting from the leaves using the setFather method. Changing the parent node will automatically append the current node to the son nodes of the new father.
|
inline |
|
inline |
|
inline |
|
inline |
Node::Node | ( | const Node & | node | ) |
Copy constructor.
node | The node to copy. |
Copy constructor:
Definition at line 56 of file Node.cpp.
References branchProperties_, distanceToFather_, hasDistanceToFather(), hasName(), name_, and nodeProperties_.
|
inlinevirtual |
Definition at line 177 of file Node.h.
References branchProperties_, distanceToFather_, name_, and nodeProperties_.
|
inlinevirtual |
Definition at line 407 of file Node.h.
References sons_.
Referenced by bpp::DRTreeParsimonyScore::doNNI(), bpp::NNIHomogeneousTreeLikelihood::doNNI(), bpp::HierarchicalClustering::finalStep(), bpp::PGMA::finalStep(), bpp::NeighborJoining::finalStep(), bpp::HierarchicalClustering::getParentNode(), bpp::PGMA::getParentNode(), bpp::AbstractAgglomerativeDistanceMethod::getParentNode(), bpp::TreeTemplateTools::getRandomTree(), bpp::TreeTemplateTools::midRoot(), bpp::Nhx::parenthesisToNode(), bpp::TreeTemplateTools::parenthesisToNode(), bpp::BipartitionList::toTree(), and bpp::TreeTemplateTools::unresolveUncertainNodes().
|
inlinevirtual |
|
inlinevirtual |
Definition at line 488 of file Node.h.
References getNumberOfSons(), and hasFather().
Referenced by bpp::DRTreeParsimonyScore::computeScoresForNode(), bpp::DRTreeParsimonyScore::computeScoresPostorderForNode(), bpp::DRTreeParsimonyScore::computeScoresPreorderForNode(), and isLeaf().
|
inlinevirtual |
|
inlinevirtual |
Definition at line 645 of file Node.h.
References branchProperties_, and hasBranchProperty().
Referenced by bpp::Nhx::changeNamesToTags(), and bpp::Nhx::changeTagsToNames().
|
inlinevirtual |
Delete the distance to the father node.
Definition at line 309 of file Node.h.
References distanceToFather_.
Referenced by bpp::TreeTemplateTools::deleteBranchLengths().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Definition at line 555 of file Node.h.
References hasNodeProperty(), and nodeProperties_.
Referenced by bpp::Nhx::changeNamesToTags(), and bpp::Nhx::changeTagsToNames().
|
virtual |
Definition at line 146 of file Node.cpp.
References bpp::TreeTools::BOOTSTRAP, getBranchProperty(), and hasBranchProperty().
|
inlinevirtual |
Definition at line 617 of file Node.h.
References branchProperties_, and hasBranchProperty().
Referenced by bpp::BootstrapValuesTreeDrawingListener::afterDrawBranch(), bpp::Nhx::changeNamesToTags(), bpp::Nhx::changeTagsToNames(), getBootstrapValue(), bpp::TreeTemplateTools::getBranchProperties(), bpp::TreeTemplateTools::midRoot(), bpp::TreeTemplateTools::nodeToParenthesis(), bpp::Nhx::propertiesToParenthesis(), bpp::TreeTemplateTools::treeToParenthesis(), and bpp::TreeTemplateTools::unresolveUncertainNodes().
|
inlinevirtual |
Definition at line 625 of file Node.h.
References branchProperties_, and hasBranchProperty().
|
inlinevirtual |
Definition at line 680 of file Node.h.
References branchProperties_.
Referenced by bpp::TreeTemplateTools::getBranchPropertyNames(), and bpp::TreeTemplateTools::midRoot().
|
inlinevirtual |
Get the distance to the father node is there is one, otherwise throw a NodeException.
Definition at line 283 of file Node.h.
References distanceToFather_, and hasDistanceToFather().
Referenced by bpp::BranchLengthsTreeDrawingListener::afterDrawBranch(), bpp::PhyloStatistics::computeForSubtree_(), bpp::RewardMappingTools::computeRewardVectors(), bpp::SubstitutionMappingTools::computeSubstitutionVectors(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsMarginal(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsNoAveraging(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsNoAveragingMarginal(), bpp::AbstractHomogeneousTreeLikelihood::computeTransitionProbabilitiesForNode(), bpp::RNonHomogeneousMixedTreeLikelihood::computeTransitionProbabilitiesForNode(), bpp::AbstractNonHomogeneousTreeLikelihood::computeTransitionProbabilitiesForNode(), bpp::NonHomogeneousSequenceSimulator::dEvolveInternal(), bpp::NonHomogeneousSequenceSimulator::evolve(), bpp::PhylogramDrawBranchEvent::getBranchCursor(), bpp::TreeTemplateTools::getHeight(), bpp::TreeTemplateTools::getHeights(), bpp::HierarchicalClustering::getParentNode(), bpp::PGMA::getParentNode(), bpp::TreeTemplateTools::getSubtreeMoments_(), bpp::NonHomogeneousSequenceSimulator::init(), bpp::TreeTemplateTools::midRoot(), bpp::Nhx::nodeToParenthesis(), bpp::TreeTemplateTools::nodeToParenthesis(), bpp::TreeTemplateTools::processDistsInSubtree_(), bpp::PhylogramPlot::recursivePlot_(), bpp::Nhx::treeToParenthesis(), bpp::TreeTemplateTools::treeToParenthesis(), and bpp::TreeTemplateTools::unresolveUncertainNodes().
|
inlinevirtual |
Get the father of this node is there is one.
Reimplemented in bpp::NodeTemplate< NodeInfos >.
Definition at line 339 of file Node.h.
References father_.
Referenced by bpp::BipartitionList::buildBitBipartitions(), bpp::RHomogeneousTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RNonHomogeneousTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RHomogeneousTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRNonHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::RewardMappingTools::computeRewardVectors(), bpp::DRTreeParsimonyScore::computeScoresPostorderForNode(), bpp::DRTreeParsimonyScore::computeScoresPreorder(), bpp::SubstitutionMappingTools::computeSubstitutionVectors(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsMarginal(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsNoAveraging(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsNoAveragingMarginal(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::RHomogeneousTreeLikelihood::computeTreeD2Likelihood(), bpp::RNonHomogeneousTreeLikelihood::computeTreeD2Likelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeTreeD2Likelihood(), bpp::DRHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode(), bpp::DRNonHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode(), bpp::RHomogeneousTreeLikelihood::computeTreeDLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeTreeDLikelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeTreeDLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode(), bpp::DRNonHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode(), bpp::DRHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRTreeParsimonyScore::doNNI(), bpp::NNIHomogeneousTreeLikelihood::doNNI(), bpp::TreeTemplateTools::getAncestorsId(), bpp::TreeTemplateTools::getPathBetweenAnyTwoNodes(), bpp::TreeTemplateTools::midRoot(), bpp::DRHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::DRNonHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::NNITopologySearch::searchBetter(), bpp::NNITopologySearch::searchFast(), bpp::NNITopologySearch::searchPhyML(), bpp::DRTreeParsimonyScore::testNNI(), and bpp::NNIHomogeneousTreeLikelihood::testNNI().
|
inlinevirtual |
Get the father of this node is there is one.
Reimplemented in bpp::NodeTemplate< NodeInfos >.
Definition at line 346 of file Node.h.
References father_.
|
inlinevirtual |
|
inlinevirtual |
Get the node's id.
Definition at line 203 of file Node.h.
References id_.
Referenced by bpp::AbstractNonHomogeneousTreeLikelihood::AbstractNonHomogeneousTreeLikelihood(), bpp::BipartitionList::buildBitBipartitions(), bpp::RHomogeneousClockTreeLikelihood::computeBranchLengthsFromHeights(), bpp::GlobalClockTreeLikelihoodFunctionWrapper::computeBranchLengthsFromHeights_(), bpp::RHomogeneousTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RNonHomogeneousTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RHomogeneousTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRNonHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::RewardMappingTools::computeRewardVectors(), bpp::DRHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRTreeParsimonyScore::computeScoresForNode(), bpp::DRTreeParsimonyScore::computeScoresPostorder(), bpp::DRTreeParsimonyScore::computeScoresPostorderForNode(), bpp::DRTreeParsimonyScore::computeScoresPreorder(), bpp::DRTreeParsimonyScore::computeScoresPreorderForNode(), bpp::SubstitutionMappingTools::computeSubstitutionVectors(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsMarginal(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsNoAveraging(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsNoAveragingMarginal(), bpp::RHomogeneousTreeLikelihood::computeSubtreeLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeSubtreeLikelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeSubtreeLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::AbstractHomogeneousTreeLikelihood::computeTransitionProbabilitiesForNode(), bpp::RNonHomogeneousMixedTreeLikelihood::computeTransitionProbabilitiesForNode(), bpp::AbstractNonHomogeneousTreeLikelihood::computeTransitionProbabilitiesForNode(), bpp::RHomogeneousTreeLikelihood::computeTreeD2Likelihood(), bpp::RNonHomogeneousTreeLikelihood::computeTreeD2Likelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeTreeD2Likelihood(), bpp::DRHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode(), bpp::DRNonHomogeneousTreeLikelihood::computeTreeD2LikelihoodAtNode(), bpp::RHomogeneousTreeLikelihood::computeTreeDLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeTreeDLikelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeTreeDLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode(), bpp::DRNonHomogeneousTreeLikelihood::computeTreeDLikelihoodAtNode(), bpp::NonHomogeneousSequenceSimulator::dEvolveInternal(), bpp::DRHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::displayLikelihood(), bpp::RHomogeneousTreeLikelihood::displayLikelihood(), bpp::RNonHomogeneousTreeLikelihood::displayLikelihood(), bpp::NNIHomogeneousTreeLikelihood::doNNI(), bpp::TreeTemplateTools::getAncestorsId(), bpp::TreeTemplateTools::getBranchProperties(), getFatherId(), bpp::TreeTemplateTools::getInnerNodesId(), bpp::TreeTemplateTools::getLeavesId(), bpp::AbstractTreeDrawing::getNodeAt(), bpp::AbstractTreeDrawing::getNodePosition(), bpp::TreeTemplateTools::getNodeProperties(), bpp::TreeTemplateTools::getNodesId(), bpp::DRNonHomogeneousTreeLikelihood::getSecondOrderDerivative(), bpp::TreeTemplateTools::incrementAllIds(), bpp::NonHomogeneousSequenceSimulator::init(), bpp::DRTreeParsimonyData::init(), bpp::AbstractNonHomogeneousTreeLikelihood::init_(), bpp::DRASRTreeLikelihoodData::initLikelihoods(), bpp::DRASDRTreeLikelihoodData::initLikelihoods(), bpp::DRASRTreeLikelihoodData::initLikelihoodsWithPatterns(), bpp::TreeTemplateTools::nodeToParenthesis(), bpp::AbstractNonHomogeneousTreeLikelihood::operator=(), bpp::Nhx::propertiesToParenthesis(), bpp::MarginalAncestralStateReconstruction::recursiveMarginalAncestralStates(), bpp::DRTreeParsimonyData::reInit(), bpp::DRASDRTreeLikelihoodData::reInit(), bpp::DRHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::DRNonHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::NNITopologySearch::searchBetter(), bpp::NNITopologySearch::searchFast(), bpp::TreeTemplateTools::searchFirstNodeWithId(), bpp::NNITopologySearch::searchPhyML(), bpp::AbstractHomogeneousTreeLikelihood::setSubstitutionModel(), bpp::AbstractNonHomogeneousTreeLikelihood::setSubstitutionModelSet(), bpp::DRTreeParsimonyScore::testNNI(), and bpp::NNIHomogeneousTreeLikelihood::testNNI().
|
inlinevirtual |
Get the name associated to this node, if there is one, otherwise throw a NodeException.
Definition at line 236 of file Node.h.
References hasName(), and name_.
Referenced by bpp::LeafNamesTreeDrawingListener::afterDrawNode(), bpp::LabelInnerNodesTreeDrawingListener::afterDrawNode(), bpp::LabelCollapsedNodesTreeDrawingListener::afterDrawNode(), bpp::BipartitionList::buildBitBipartitions(), bpp::RHomogeneousTreeLikelihood::displayLikelihood(), bpp::RNonHomogeneousTreeLikelihood::displayLikelihood(), bpp::TreeTemplateTools::getLeavesNames(), bpp::TreeTemplateTools::haveSameOrderedTopology(), bpp::Nhx::nodeToParenthesis(), bpp::TreeTemplateTools::nodeToParenthesis(), bpp::TreeTemplateTools::orderTree_(), bpp::TreeTemplateTools::processDistsInSubtree_(), bpp::MarginalAncestralStateReconstruction::recursiveMarginalAncestralStates(), bpp::Nhx::treeToParenthesis(), and bpp::TreeTemplateTools::treeToParenthesis().
vector< const Node * > Node::getNeighbors | ( | ) | const |
Definition at line 114 of file Node.cpp.
References father_, hasFather(), and sons_.
Referenced by bpp::DRTreeParsimonyScore::computeScoresForNode(), bpp::DRTreeParsimonyScore::computeScoresPostorderForNode(), bpp::DRTreeParsimonyScore::computeScoresPreorderForNode(), bpp::NodeTemplate< NodeInfos >::getNeighbors(), and bpp::TreeTemplateTools::getRemainingNeighbors().
vector< Node * > Node::getNeighbors | ( | ) |
Definition at line 122 of file Node.cpp.
References father_, hasFather(), and sons_.
|
inlinevirtual |
Definition at line 527 of file Node.h.
References hasNodeProperty(), and nodeProperties_.
Referenced by bpp::Nhx::changeNamesToTags(), bpp::Nhx::changeTagsToNames(), bpp::TreeTemplateTools::getNodeProperties(), and bpp::Nhx::propertiesToParenthesis().
|
inlinevirtual |
Definition at line 535 of file Node.h.
References hasNodeProperty(), and nodeProperties_.
|
inlinevirtual |
Definition at line 590 of file Node.h.
References nodeProperties_.
Referenced by bpp::TreeTemplateTools::getNodePropertyNames().
|
inlinevirtual |
Definition at line 388 of file Node.h.
References sons_.
Referenced by bpp::BipartitionList::buildBitBipartitions(), bpp::Nhx::changeNamesToTags(), bpp::Nhx::changeTagsToNames(), bpp::TreeTemplateTools::cloneSubtree(), bpp::RHomogeneousTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RNonHomogeneousTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RHomogeneousTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::PhyloStatistics::computeForSubtree_(), bpp::DRHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRNonHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::RewardMappingTools::computeRewardVectors(), bpp::DRHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRTreeParsimonyScore::computeScoresPostorder(), bpp::DRTreeParsimonyScore::computeScoresPreorder(), bpp::SubstitutionMappingTools::computeSubstitutionVectors(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsNoAveraging(), bpp::RHomogeneousTreeLikelihood::computeSubtreeLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeSubtreeLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::RHomogeneousTreeLikelihood::computeTreeD2Likelihood(), bpp::RNonHomogeneousTreeLikelihood::computeTreeD2Likelihood(), bpp::RHomogeneousTreeLikelihood::computeTreeDLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeTreeDLikelihood(), degree(), bpp::TreeTemplateTools::deleteBranchLengths(), bpp::NonHomogeneousSequenceSimulator::dEvolve(), bpp::NonHomogeneousSequenceSimulator::dEvolveInternal(), bpp::DRHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::displayLikelihood(), bpp::NonHomogeneousSequenceSimulator::evolveInternal(), bpp::TreeTemplateTools::getBranchesId(), bpp::TreeTemplateTools::getBranchProperties(), bpp::TreeTemplateTools::getBranchPropertyNames(), bpp::TreeTemplateTools::getDepth(), bpp::TreeTemplateTools::getDepths(), bpp::TreeTemplateTools::getHeight(), bpp::TreeTemplateTools::getHeights(), bpp::TreeTemplateTools::getInnerNodesId(), bpp::TreeTemplateTools::getLeavesId(), bpp::TreeTemplateTools::getLeavesNames(), bpp::TreeTemplateTools::getNodeProperties(), bpp::TreeTemplateTools::getNodePropertyNames(), bpp::TreeTemplateTools::getNodesId(), bpp::TreeTemplateTools::getNumberOfLeaves(), bpp::TreeTemplateTools::getNumberOfNodes(), bpp::DRNonHomogeneousTreeLikelihood::getSecondOrderDerivative(), bpp::TreeTemplateTools::getSubtreeMoments_(), bpp::TreeTemplateTools::haveSameOrderedTopology(), bpp::TreeTemplateTools::incrementAllIds(), bpp::TreeTemplateTools::isMultifurcating(), bpp::NonHomogeneousSequenceSimulator::multipleEvolve(), bpp::NonHomogeneousSequenceSimulator::multipleEvolveInternal(), bpp::Nhx::nodeToParenthesis(), bpp::TreeTemplateTools::nodeToParenthesis(), bpp::TreeTemplateTools::orderTree_(), bpp::TreeTemplateTools::processDistsInSubtree_(), bpp::MarginalAncestralStateReconstruction::recursiveMarginalAncestralStates(), bpp::PhylogramPlot::recursivePlot_(), bpp::CladogramPlot::recursivePlot_(), bpp::DRHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::DRNonHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::TreeTemplateTools::searchFirstNodeWithId(), bpp::TreeTemplateTools::setBranchLengths(), bpp::TreeTemplateTools::setVoidBranchLengths(), bpp::NonHomogeneousSequenceSimulator::simulateSite(), bpp::Nhx::treeToParenthesis(), bpp::TreeTemplateTools::treeToParenthesis(), and bpp::TreeTemplateTools::unresolveUncertainNodes().
|
inlinevirtual |
Reimplemented in bpp::NodeTemplate< NodeInfos >.
Definition at line 395 of file Node.h.
References sons_.
Referenced by bpp::BipartitionList::buildBitBipartitions(), bpp::Nhx::changeNamesToTags(), bpp::Nhx::changeTagsToNames(), bpp::RHomogeneousClockTreeLikelihood::computeBranchLengthsFromHeights(), bpp::GlobalClockTreeLikelihoodFunctionWrapper::computeBranchLengthsFromHeights_(), bpp::RHomogeneousTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RNonHomogeneousTreeLikelihood::computeDownSubtreeD2Likelihood(), bpp::RHomogeneousTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeDownSubtreeDLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRNonHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::RewardMappingTools::computeRewardVectors(), bpp::DRHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRTreeParsimonyScore::computeScoresPostorder(), bpp::DRTreeParsimonyScore::computeScoresPreorder(), bpp::SubstitutionMappingTools::computeSubstitutionVectors(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsNoAveraging(), bpp::RNonHomogeneousTreeLikelihood::computeSubtreeLikelihood(), bpp::RHomogeneousTreeLikelihood::computeSubtreeLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::RHomogeneousTreeLikelihood::computeTreeD2Likelihood(), bpp::RNonHomogeneousTreeLikelihood::computeTreeD2Likelihood(), bpp::RHomogeneousTreeLikelihood::computeTreeDLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeTreeDLikelihood(), bpp::TreeTemplateTools::deleteBranchLengths(), bpp::DRHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRTreeParsimonyScore::doNNI(), bpp::NNIHomogeneousTreeLikelihood::doNNI(), bpp::TreeTemplateTools::getBranchesId(), bpp::TreeTemplateTools::getBranchProperties(), bpp::TreeTemplateTools::getBranchPropertyNames(), bpp::TreeTemplateTools::getInnerNodesId(), bpp::TreeTemplateTools::getLeavesId(), bpp::TreeTemplateTools::getLeavesNames(), bpp::TreeTemplateTools::getNodeProperties(), bpp::TreeTemplateTools::getNodePropertyNames(), bpp::TreeTemplateTools::getNodesId(), bpp::DRNonHomogeneousTreeLikelihood::getSecondOrderDerivative(), bpp::TreeTemplateTools::getSubtreeMoments_(), bpp::TreeTemplateTools::haveSameOrderedTopology(), bpp::TreeTemplateTools::incrementAllIds(), bpp::TreeTemplateTools::isMultifurcating(), bpp::TreeTemplateTools::orderTree_(), bpp::TreeTemplateTools::processDistsInSubtree_(), bpp::MarginalAncestralStateReconstruction::recursiveMarginalAncestralStates(), bpp::DRHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::DRNonHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::TreeTemplateTools::searchFirstNodeWithId(), bpp::TreeTemplateTools::setBranchLengths(), bpp::TreeTemplateTools::setVoidBranchLengths(), bpp::DRTreeParsimonyScore::testNNI(), bpp::NNIHomogeneousTreeLikelihood::testNNI(), bpp::Nhx::treeToParenthesis(), bpp::TreeTemplateTools::treeToParenthesis(), and bpp::TreeTemplateTools::unresolveUncertainNodes().
|
inlinevirtual |
Reimplemented in bpp::NodeTemplate< NodeInfos >.
Definition at line 401 of file Node.h.
References sons_.
|
virtual |
Definition at line 130 of file Node.cpp.
Referenced by bpp::DRTreeParsimonyScore::doNNI(), bpp::NNIHomogeneousTreeLikelihood::doNNI(), bpp::DRTreeParsimonyScore::testNNI(), and bpp::NNIHomogeneousTreeLikelihood::testNNI().
|
inlinevirtual |
Definition at line 390 of file Node.h.
References sons_.
Referenced by bpp::TreeTemplateTools::getBestRootInSubtree_(), and bpp::TreeTemplateTools::midRoot().
|
inlinevirtual |
|
virtual |
Definition at line 141 of file Node.cpp.
References bpp::TreeTools::BOOTSTRAP, and hasBranchProperty().
|
inlinevirtual |
Definition at line 678 of file Node.h.
References branchProperties_.
Referenced by bpp::BootstrapValuesTreeDrawingListener::afterDrawBranch(), bpp::Nhx::changeNamesToTags(), bpp::Nhx::changeTagsToNames(), deleteBranchProperty(), getBootstrapValue(), bpp::TreeTemplateTools::getBranchProperties(), getBranchProperty(), hasBootstrapValue(), bpp::TreeTemplateTools::nodeToParenthesis(), bpp::Nhx::propertiesToParenthesis(), removeBranchProperty(), setBranchProperty(), bpp::TreeTemplateTools::treeToParenthesis(), and bpp::TreeTemplateTools::unresolveUncertainNodes().
|
inlinevirtual |
Tell is this node has a distance to the father.
Definition at line 321 of file Node.h.
References distanceToFather_.
Referenced by bpp::BranchLengthsTreeDrawingListener::afterDrawBranch(), bpp::PhyloStatistics::computeForSubtree_(), getDistanceToFather(), Node(), bpp::Nhx::nodeToParenthesis(), bpp::TreeTemplateTools::nodeToParenthesis(), operator=(), bpp::PhylogramPlot::recursivePlot_(), bpp::TreeTemplateTools::setVoidBranchLengths(), bpp::Nhx::treeToParenthesis(), and bpp::TreeTemplateTools::treeToParenthesis().
|
inlinevirtual |
Tell if this node has a father node.
Definition at line 379 of file Node.h.
References father_.
Referenced by bpp::BipartitionList::buildBitBipartitions(), bpp::DRHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRNonHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::RewardMappingTools::computeRewardVectors(), bpp::DRTreeParsimonyScore::computeScoresPreorder(), bpp::SubstitutionMappingTools::computeSubstitutionVectors(), bpp::SubstitutionMappingTools::computeSubstitutionVectorsNoAveraging(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), degree(), bpp::NonHomogeneousSequenceSimulator::dEvolveInternal(), bpp::DRHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::displayLikelihood(), bpp::DRTreeParsimonyScore::doNNI(), bpp::NNIHomogeneousTreeLikelihood::doNNI(), bpp::AbstractTreeDrawing::drawAtBranch(), bpp::NonHomogeneousSequenceSimulator::evolveInternal(), bpp::TreeTemplateTools::getAncestorsId(), getNeighbors(), bpp::TreeTemplateTools::getPathBetweenAnyTwoNodes(), bpp::TreeTemplateTools::isRoot(), bpp::NonHomogeneousSequenceSimulator::multipleEvolveInternal(), bpp::TreeTemplateTools::orderTree_(), bpp::TreeTemplateTools::processDistsInSubtree_(), bpp::DRHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::DRNonHomogeneousTreeLikelihood::resetLikelihoodArrays(), bpp::DRTreeParsimonyScore::testNNI(), and bpp::NNIHomogeneousTreeLikelihood::testNNI().
|
inlinevirtual |
Tell is this node has a name.
Definition at line 267 of file Node.h.
References name_.
Referenced by bpp::LabelInnerNodesTreeDrawingListener::afterDrawNode(), bpp::LabelCollapsedNodesTreeDrawingListener::afterDrawNode(), getName(), Node(), operator=(), and bpp::TreeTemplateTools::treeToParenthesis().
|
inlinevirtual |
Definition at line 588 of file Node.h.
References nodeProperties_.
Referenced by bpp::Nhx::changeNamesToTags(), bpp::Nhx::changeTagsToNames(), deleteNodeProperty(), bpp::TreeTemplateTools::getNodeProperties(), getNodeProperty(), bpp::Nhx::propertiesToParenthesis(), removeNodeProperty(), and setNodeProperty().
|
inlinevirtual |
Definition at line 692 of file Node.h.
References degree().
Referenced by bpp::LeafNamesTreeDrawingListener::afterDrawNode(), bpp::RHomogeneousClockTreeLikelihood::computeBranchLengthsFromHeights(), bpp::GlobalClockTreeLikelihoodFunctionWrapper::computeBranchLengthsFromHeights_(), bpp::PhyloStatistics::computeForSubtree_(), bpp::DRHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRNonHomogeneousTreeLikelihood::computeLikelihoodAtNode_(), bpp::DRHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRNonHomogeneousTreeLikelihood::computeRootLikelihood(), bpp::DRTreeParsimonyScore::computeScoresPostorder(), bpp::DRTreeParsimonyScore::computeScoresPreorder(), bpp::RHomogeneousTreeLikelihood::computeSubtreeLikelihood(), bpp::RNonHomogeneousTreeLikelihood::computeSubtreeLikelihood(), bpp::RNonHomogeneousMixedTreeLikelihood::computeSubtreeLikelihood(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPostfix(), bpp::DRHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::DRNonHomogeneousTreeLikelihood::computeSubtreeLikelihoodPrefix(), bpp::TreeTemplateTools::getInnerNodesId(), bpp::TreeTemplateTools::getLeavesId(), bpp::TreeTemplateTools::getLeavesNames(), bpp::TreeTemplateTools::getNumberOfLeaves(), bpp::TreeTemplateTools::getSubtreeMoments_(), bpp::TreeTemplateTools::haveSameOrderedTopology(), bpp::DRASDRTreeLikelihoodData::initLikelihoods(), bpp::Nhx::nodeToParenthesis(), bpp::TreeTemplateTools::nodeToParenthesis(), bpp::TreeTemplateTools::orderTree_(), bpp::TreeTemplateTools::processDistsInSubtree_(), bpp::MarginalAncestralStateReconstruction::recursiveMarginalAncestralStates(), bpp::PhylogramPlot::recursivePlot_(), bpp::CladogramPlot::recursivePlot_(), bpp::Nhx::treeToParenthesis(), and bpp::TreeTemplateTools::treeToParenthesis().
Assignation operator.
node | the node to copy. |
Assignation operator:
Definition at line 72 of file Node.cpp.
References branchProperties_, distanceToFather_, hasDistanceToFather(), hasName(), id_, name_, and nodeProperties_.
Referenced by bpp::NodeTemplate< NodeInfos >::operator=().
|
inlinevirtual |
|
inline |
|
inline |
|
inlinevirtual |
Remove all branch properties.
Attached objects will not be deleted.
Definition at line 661 of file Node.h.
References branchProperties_.
|
inlinevirtual |
Definition at line 633 of file Node.h.
References branchProperties_, and hasBranchProperty().
|
inlinevirtual |
Remove the father of this node.
Reimplemented in bpp::NodeTemplate< NodeInfos >.
Definition at line 369 of file Node.h.
References father_.
Referenced by removeSon().
|
inlinevirtual |
Remove all node properties.
Attached objects will not be deleted.
Definition at line 571 of file Node.h.
References nodeProperties_.
|
inlinevirtual |
Definition at line 543 of file Node.h.
References hasNodeProperty(), and nodeProperties_.
|
inlinevirtual |
Definition at line 444 of file Node.h.
References removeFather(), and sons_.
Referenced by bpp::DRTreeParsimonyScore::doNNI(), bpp::NNIHomogeneousTreeLikelihood::doNNI(), bpp::TreeTemplateTools::midRoot(), removeSons(), and bpp::TreeTemplateTools::unresolveUncertainNodes().
|
inlinevirtual |
|
inlinevirtual |
Definition at line 470 of file Node.h.
References removeSon(), and sons_.
|
inlinevirtual |
Set/add a branch property.
If no property with the same name is found, the new property will be added to the list. Conversely, the property will be deleted and replaced by the new one. If you want to keep a copy of the old property, consider using the removeBranchProperty function before.
name | The name of the property to set. |
property | The property object (will be cloned). |
Definition at line 610 of file Node.h.
References branchProperties_, and hasBranchProperty().
Referenced by bpp::Nhx::changeNamesToTags(), bpp::Nhx::changeTagsToNames(), bpp::TreeTemplateTools::midRoot(), bpp::TreeTemplateTools::parenthesisToNode(), and bpp::Nhx::setNodeProperties().
|
inlinevirtual |
Set or update the distance toward the father node.
Warning: a distance to the father node may be set even if no father node is specified. This is used by several tree reconstruction methods. It may also be useful for manipulating subtrees.
distance | The new distance to the father node. |
Definition at line 299 of file Node.h.
References distanceToFather_.
Referenced by bpp::RHomogeneousClockTreeLikelihood::computeBranchLengthsFromHeights(), bpp::BioNJ::computeTree(), bpp::AbstractAgglomerativeDistanceMethod::computeTree(), bpp::NNIHomogeneousTreeLikelihood::doNNI(), bpp::HierarchicalClustering::finalStep(), bpp::PGMA::finalStep(), bpp::NeighborJoining::finalStep(), bpp::TreeTemplateTools::midRoot(), bpp::Nhx::parenthesisToNode(), bpp::TreeTemplateTools::parenthesisToNode(), bpp::TreeTemplateTools::setBranchLengths(), bpp::TreeTemplateTools::setVoidBranchLengths(), and bpp::TreeTemplateTools::unresolveUncertainNodes().
|
inlinevirtual |
|
inlinevirtual |
Set this node's id.
id | The new identity tag. |
Definition at line 210 of file Node.h.
References id_.
Referenced by bpp::TreeTemplateTools::incrementAllIds(), bpp::TreeTemplateTools::midRoot(), bpp::TreeTemplateTools::parenthesisToNode(), and bpp::Nhx::setNodeProperties().
|
inlinevirtual |
Give a name or update the name associated to the node.
name | The name to give to the node. |
Definition at line 247 of file Node.h.
References name_.
Referenced by bpp::Nhx::parenthesisToNode(), and bpp::TreeTemplateTools::parenthesisToNode().
|
inlinevirtual |
Set/add a node property.
If no property with the same name is found, the new property will be added to the list. Conversely, the property will be deleted and replaced by the new one. If you want to keep a copy of the old property, consider using the removeNodeProperty function before.
name | The name of the property to set. |
property | The property object (will be cloned). |
Definition at line 520 of file Node.h.
References hasNodeProperty(), and nodeProperties_.
Referenced by bpp::Nhx::changeNamesToTags(), bpp::Nhx::changeTagsToNames(), and bpp::Nhx::setNodeProperties().
|
inlinevirtual |
|
virtual |
|
mutableprotected |
Definition at line 100 of file Node.h.
Referenced by deleteBranchProperties(), deleteBranchProperty(), getBranchProperty(), getBranchPropertyNames(), hasBranchProperty(), Node(), operator=(), removeBranchProperties(), removeBranchProperty(), setBranchProperty(), and ~Node().
|
protected |
Definition at line 98 of file Node.h.
Referenced by deleteDistanceToFather(), getDistanceToFather(), hasDistanceToFather(), Node(), operator=(), setDistanceToFather(), and ~Node().
|
protected |
Definition at line 97 of file Node.h.
Referenced by bpp::NodeTemplate< NodeInfos >::getFather(), getFather(), getFatherId(), getNeighbors(), hasFather(), bpp::NodeTemplate< NodeInfos >::operator[](), operator[](), bpp::NodeTemplate< NodeInfos >::removeFather(), removeFather(), and setFather().
|
protected |
Definition at line 94 of file Node.h.
Referenced by getId(), operator=(), operator==(), and setId().
|
protected |
Definition at line 95 of file Node.h.
Referenced by deleteName(), getName(), hasName(), Node(), operator=(), setName(), and ~Node().
|
mutableprotected |
Definition at line 99 of file Node.h.
Referenced by deleteNodeProperties(), deleteNodeProperty(), getNodeProperty(), getNodePropertyNames(), hasNodeProperty(), Node(), operator=(), removeNodeProperties(), removeNodeProperty(), setNodeProperty(), and ~Node().
|
protected |
Definition at line 96 of file Node.h.
Referenced by addSon(), getNeighbors(), getNumberOfSons(), bpp::NodeTemplate< NodeInfos >::getSon(), getSon(), getSons(), getSonsId(), bpp::NodeTemplate< NodeInfos >::operator[](), operator[](), removeSon(), removeSons(), setFather(), and setSon().