barry: Your go-to motif accountant  0.0-1
Full enumeration of sample space and fast count of sufficient statistics for binary arrays
counters.hpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void rule_leafs (PhyloSupport *support)
 
void rule_dyn_limit_changes (PhyloSupport *support, size_t pos, size_t lb, size_t ub, size_t duplication=Geese::etype_default)
 Overall functional gains. More...
 
#define MAKE_DUPL_VARS()
 
#define IS_EITHER()   (DATA_AT == Geese::etype_either)
 
#define IS_DUPLICATION()   ((DATA_AT == Geese::etype_duplication) & (DPL))
 
#define IS_SPECIATION()   ((DATA_AT == Geese::etype_speciation) & (!DPL))
 
#define IF_MATCHES()
 
#define IF_NOTMATCHES()
 
#define PHYLO_RULE_LAMBDA(a)
 Extension of a simple counter. More...
 
#define PHYLO_COUNTER_LAMBDA(a)
 
#define PHYLO_RULE_DYN_LAMBDA(a)
 
#define PHYLO_CHECK_MISSING()
 
std::string get_last_name (size_t d)
 
void counter_overall_gains (PhyloCounters *counters, size_t duplication=Geese::etype_default)
 Overall functional gains. More...
 
void counter_gains (PhyloCounters *counters, std::vector< size_t > nfun, size_t duplication=Geese::etype_default)
 Functional gains for a specific function (nfun). More...
 
void counter_gains_k_offspring (PhyloCounters *counters, std::vector< size_t > nfun, size_t k=1u, size_t duplication=Geese::etype_default)
 k genes gain function nfun More...
 
void counter_genes_changing (PhyloCounters *counters, size_t duplication=Geese::etype_default)
 Keeps track of how many genes are changing (either 0, 1, or 2 if dealing with regular trees.) More...
 
void counter_preserve_pseudogene (PhyloCounters *counters, size_t nfunA, size_t nfunB, size_t duplication=Geese::etype_default)
 Keeps track of how many pairs of genes preserve pseudostate. More...
 
void counter_prop_genes_changing (PhyloCounters *counters, size_t duplication=Geese::etype_default)
 Keeps track of how many genes are changing (either 0, 1, or 2 if dealing with regular trees.) More...
 
void counter_overall_loss (PhyloCounters *counters, size_t duplication=Geese::etype_default)
 Overall functional loss. More...
 
void counter_maxfuns (PhyloCounters *counters, size_t lb, size_t ub, size_t duplication=Geese::etype_default)
 Cap the number of functions per gene. More...
 
void counter_loss (PhyloCounters *counters, std::vector< size_t > nfun, size_t duplication=Geese::etype_default)
 Total count of losses for an specific function. More...
 
void counter_overall_changes (PhyloCounters *counters, size_t duplication=Geese::etype_default)
 Total number of changes. Use this statistic to account for "preservation". More...
 
void counter_subfun (PhyloCounters *counters, size_t nfunA, size_t nfunB, size_t duplication=Geese::etype_default)
 Total count of Sub-functionalization events. More...
 
void counter_cogain (PhyloCounters *counters, size_t nfunA, size_t nfunB, size_t duplication=Geese::etype_default)
 Co-evolution (joint gain or loss) More...
 
void counter_longest (PhyloCounters *counters, size_t duplication=Geese::etype_default)
 Longest branch mutates (either by gain or by loss) More...
 
void counter_neofun (PhyloCounters *counters, size_t nfunA, size_t nfunB, size_t duplication=Geese::etype_default)
 Total number of neofunctionalization events. More...
 
void counter_pairwise_neofun_singlefun (PhyloCounters *counters, size_t nfunA, size_t duplication=Geese::etype_default)
 Total number of neofunctionalization events sum_u sum_{w < u} [x(u,a)*(1 - x(w,a)) + (1 - x(u,a)) * x(w,a)] change stat: delta{x(u,a): 0->1} = 1 - 2 * x(w,a) More...
 
void counter_neofun_a2b (PhyloCounters *counters, size_t nfunA, size_t nfunB, size_t duplication=Geese::etype_default)
 Total number of neofunctionalization events. More...
 
void counter_co_opt (PhyloCounters *counters, size_t nfunA, size_t nfunB, size_t duplication=Geese::etype_default)
 Function co-opting. More...
 
void counter_k_genes_changing (PhyloCounters *counters, size_t k, size_t duplication=Geese::etype_default)
 Indicator function. Equals to one if \(k\) genes changed and zero otherwise. More...
 
void counter_less_than_p_prop_genes_changing (PhyloCounters *counters, double p, size_t duplication=Geese::etype_default)
 Indicator function. Equals to one if \(k\) genes changed and zero otherwise. More...
 
void counter_gains_from_0 (PhyloCounters *counters, std::vector< size_t > nfun, size_t duplication=Geese::etype_default)
 Used when all the functions are in 0 (like the root node prob.) More...
 
void counter_overall_gains_from_0 (PhyloCounters *counters, size_t duplication=Geese::etype_default)
 Used when all the functions are in 0 (like the root node prob.) More...
 
void counter_pairwise_overall_change (PhyloCounters *counters, size_t duplication=Geese::etype_default)
 Used when all the functions are in 0 (like the root node prob.) More...
 
void counter_pairwise_preserving (PhyloCounters *counters, size_t nfunA, size_t nfunB, size_t duplication=Geese::etype_default)
 Used when all the functions are in 0 (like the root node prob.) More...
 
void counter_pairwise_first_gain (PhyloCounters *counters, size_t nfunA, size_t nfunB, size_t duplication=Geese::etype_default)
 Used when all the functions are in 0 (like the root node prob.) More...