A library for working with phylogenetic and population genetic data.
v0.27.0
PruneByEntropySettings Struct Reference

#include <genesis/taxonomy/functions/entropy.hpp>

Detailed Description

Store settings for the Taxonomy pruning algorithm prune_by_entropy().

Definition at line 55 of file taxonomy/functions/entropy.hpp.

Public Attributes

bool allow_approximation = false
 Allow some approximation in order to get closer to the target pruning size. More...
 
size_t max_subtaxonomy_size = 0
 Maximal size of a sub-taxonomy of the pruned Taxonomy. Default is 0. More...
 
size_t min_border_level = 0
 Minimum level of the Taxa that are considered inside for pruning. Default is 0. More...
 
size_t min_subtaxonomy_size = 0
 Minimal size of a sub-taxonomy of the pruned Taxonomy. Default is 0. More...
 

Member Data Documentation

◆ allow_approximation

bool allow_approximation = false

Allow some approximation in order to get closer to the target pruning size.

If the parameter allow_approximation (default is false) is set to true, we also allow to split up a border Taxon that has not the currently highest entropy of all border Taxa, as long as this brings us closer to the target size.

Definition at line 102 of file taxonomy/functions/entropy.hpp.

◆ max_subtaxonomy_size

size_t max_subtaxonomy_size = 0

Maximal size of a sub-taxonomy of the pruned Taxonomy. Default is 0.

If the parameter max_subtaxonomy_size is set to a value > 0, an additional preprocessing step is executed, which ensures that in the resulting pruned Taxonomy, no Taxon has more than this size many leaf Taxa. This is useful if the pruned Taxonomy is used for some multilevel algorithms, which first take the pruned "overview" Taxonomy, and then might recurse into the smaller "sub" Taxonomies. In such cases, those sub taxonomies might need to not exceed a certain size, thus this option.

Definition at line 77 of file taxonomy/functions/entropy.hpp.

◆ min_border_level

size_t min_border_level = 0

Minimum level of the Taxa that are considered inside for pruning. Default is 0.

If this paramter is set to a value > 0, all Taxa with a level lower than the given value are automatically considered to be inside the pruned taxonomy. In other words, any Taxon up to (and including) the given level in the Taxonomy will be included after pruning. Only Taxa with higher levels can be pruned then, i.e., receive pruning status outside. Taxa with exaclty the level can either be inside or border.

This option is useful to ensure that the low levels (high ranks) of the Taxonomy are always included after pruning. Otherwise, it might happen that the pruning algorithm prunes away whole sub-taxonomies that somehow have a low total entropy, but still should not be simply pruned away.

Definition at line 93 of file taxonomy/functions/entropy.hpp.

◆ min_subtaxonomy_size

size_t min_subtaxonomy_size = 0

Minimal size of a sub-taxonomy of the pruned Taxonomy. Default is 0.

If the parameter min_subtaxonomy_size is set to a value > 0, the algorithm prevents sub-taxonomies from becoming smaller than this threshold. Instead of pruning at such a small sub-taxonomy, it is fully expanded. This avoids ending up with overly many small sub-taxonomies with just a few leaf taxa inside them.

Definition at line 65 of file taxonomy/functions/entropy.hpp.


The documentation for this struct was generated from the following file: