#include <genesis/placement/pquery/placement.hpp>
One placement position of a Pquery on a Tree.
This class is modeled after the jplace
standard, which allows for multiple placement positions for a Pquery. Usually, those positions are on different branches of the tree. The property values of this class describe one such placement position.
In order to check the position of this placement on the tree, see proximal_length, pendant_length and edge(). In order to check the likelihood and probability of this placement beging placed exaclty where it is, see likelihood and like_weight_ratio.
Definition at line 75 of file placement/pquery/placement.hpp.
Public Member Functions | |
PqueryPlacement () | |
Default constructor. Sets all values to 0. More... | |
PqueryPlacement (PlacementTreeEdge &edge) | |
Constructor that takes the edge where this placement is being placed at. More... | |
PqueryPlacement (PqueryPlacement &&)=default | |
PqueryPlacement (PqueryPlacement const &)=default | |
~PqueryPlacement ()=default | |
PlacementTreeEdge & | edge () |
Get the PlacementTreeEdge where this PqueryPlacement is placed. More... | |
PlacementTreeEdge const & | edge () const |
Get the PlacementTreeEdge where this PqueryPlacement is placed. More... | |
PlacementEdgeData::EdgeNumType | edge_num () const |
Get the edge_num where this PqueryPlacement is placed. More... | |
PqueryPlacement & | operator= (PqueryPlacement &&)=default |
PqueryPlacement & | operator= (PqueryPlacement const &)=default |
void | reset_edge (PlacementTreeEdge &edge) |
Set the PlacementTreeEdge at which this PqueryPlacement is placed. More... | |
Public Attributes | |
double | like_weight_ratio |
Likelihood weight ratio of this placement. More... | |
double | likelihood |
Total likelihood of the tree with this placement attached to it. More... | |
double | pendant_length |
Length of the attached branch of this placement. More... | |
double | proximal_length |
Distance of this placement to the next node towards the root. More... | |
|
inline |
Default constructor. Sets all values to 0.
Definition at line 86 of file placement/pquery/placement.hpp.
|
inlineexplicit |
Constructor that takes the edge where this placement is being placed at.
Definition at line 97 of file placement/pquery/placement.hpp.
|
default |
|
default |
|
default |
|
inline |
Get the PlacementTreeEdge where this PqueryPlacement is placed.
Definition at line 202 of file placement/pquery/placement.hpp.
|
inline |
Get the PlacementTreeEdge where this PqueryPlacement is placed.
Definition at line 194 of file placement/pquery/placement.hpp.
|
inline |
Get the edge_num
where this PqueryPlacement is placed.
This number corresponds to the edge_num
property as described in the jplace
standard. It is not to be confused with the index of the PlacementTreeEdge.
Definition at line 186 of file placement/pquery/placement.hpp.
|
default |
|
default |
|
inline |
Set the PlacementTreeEdge at which this PqueryPlacement is placed.
This should be rarely needed. It is mostly intended for the Readers that populate the data. When setting this value, the user is responsible to make sure that the new value is actually a PlacementTreeEdge of the PlacementTree that belongs to the Sample where the Pquery of this PqueryPlacement is stored.
Definition at line 215 of file placement/pquery/placement.hpp.
double like_weight_ratio |
Likelihood weight ratio of this placement.
The likelihood weight ratio is a probability-like value of how certain the placement algorithm was when placing the Pquery at the edge of this placement. The like_weight_ratio
s of all placements for one Pquery sum up to 1.0. As not all of them might be stored in the Pquery, however, the sum might be lower.
This property is defined by the jplace
standard.
Definition at line 137 of file placement/pquery/placement.hpp.
double likelihood |
Total likelihood of the tree with this placement attached to it.
This property is defined by the jplace
standard.
Definition at line 125 of file placement/pquery/placement.hpp.
double pendant_length |
Length of the attached branch of this placement.
The placement can be interpreted as a new branch on the Tree. This value then gives the length of that branch.
This property is defined by the jplace
standard.
Definition at line 165 of file placement/pquery/placement.hpp.
double proximal_length |
Distance of this placement to the next node towards the root.
This value determines the distance of the placement attachement position on the edge to the next TreeNode that lies towards the root of the Tree.
This property is not defined by the jplace
standard. Instead, the standard uses distal_length
, which is the opposite of this value: It determines the distance to the next node that lies away from the root. We use the proximal_length
instead, as it is much more convenient for most purposes. In order to obtain the distal_length
, use
PqueryPlacement p; double distal_length = p.edge().data<PlacementEdgeData>().branch_length - p.proximal_length;
This is also the formula that is internally used to convert between the two.
Definition at line 155 of file placement/pquery/placement.hpp.