PhylogeneticEM1.8.1 package

Automatic Shift Detection using a Phylogenetic EM

add_complementary

Add several entries, when only one is not NA.

allocate_regimes_from_shifts

Allocation of regimes to nodes.

allocate_shifts_from_regimes

Allocation of shifts to edges

allocate_subset_node.simulate

Iteration allocation

check_data

Test the format of data entry.

check_dimensions

Check dimensions of the parameters

check_parsimony_clusters

Check whether an allocation of the shifts is parsimonious, in the "inf...

check_parsimony

Check Parsimony, assuming no homoplasy

check_range_alpha

Check range of alpha

check.selection.strength

Check selection strength

clusters_from_shifts

Clustering associated to a shift allocation, assuming no homoplasy.

compute_actualization_matrix_ultrametric

Compute Matrix W of actualization (Ultrametric case)

compute_betas_from_shifts

Computation of the optimal values at nodes and tips.

compute_diff_exp.BM

Compute differences of expectations between node and parent.

compute_dist_phy

Phylogenetic Distances

compute_E.simple

E step

compute_expectations.BM

Compute the expected states of a BM

compute_expectations.scOU

Compute the expected states of a scOU

compute_fixed_moments

Compute fixed moments for E step.

compute_gauss_lasso

Do a lm on top of a lasso regression.

compute_log_likelihood.simple

Log Likelihood

compute_mahalanobis_distance.simple

Squared Mahalanobis Distance

compute_mean_variance.simple

Compute moments of params_old

compute_residuals.simple

Residuals

compute_shifts_from_betas

Computation of shifts from the vector of optimal values

compute_state_filter

List of potential daughter states when parent is in state k.

compute_stationary_variance

Compute the stationary variance matrix

compute_sum_var_diff

Compute weighted sum of var_diff

compute_times_ca

Common Ancestors Times

compute_tree_correlations_matrix.BM

Matrix of tree-induced correlations for the BM

compute_tree_correlations_matrix.scOU

Matrix of tree-induced correlations for the scOU

compute_var_diff.BM

Compute variances of differences between nodes and parents.

compute_var_M.BM

Computation of the variance.

compute_variance_block_diagonal.BM

Tips Variances for the BM

compute_variance_block_diagonal.OU

Tips Variances for the OU

compute_variance_covariance.BM

Complete variance covariance matrix for BM

compute_variance_covariance.OU.nonsym

Complete variance covariance matrix for OU

compute_variance_covariance.OU

Complete variance covariance matrix for OU

compute_variance_covariance.scOU

Complete variance covariance matrix for scOU

correspondenceEdges

Correspondence between edges numbers

enlight

Make the result lighter

enumerate_parsimony

Enumerate all the possible regime allocations, given a clustering of t...

enumerate_tips_under_edges

Tips descendants of nodes.

equivalent_shifts_edges

Find all the equivalent shift edges allocations.

equivalent_shifts_values

Find values given edges. OU stationary case. Ultrametric tree.

equivalent_shifts

Find all equivalent shifts allocations and values.

estimate.alpha

Function to estimate alpha

estimateEM

Perform One EM

extract_variance_covariance

Extract sub-matrices of variance.

extract.enumerate_parsimony

Extract the result of enumerate_parsimony at a node.

extract.equivalent_shifts

Extract the shifts values for one trait.

extract.parsimonyCost

Extraction of the actual number of solutions.

extract.parsimonyNumber

Extraction of the actual number of solutions.

extract.partitionsNumber

Extract from object partitionsNumber

extract

Extraction function

extract.simul_process

Extraction of simulated traits

find_grid_alpha

Find a reasonable grid for alpha

find_independent_regression_vectors.glmnet_multivariate

Given a regularization path, find K selected independent variables.

find_rotation

Test for rotation invariant datasets

find_shift_values

Find values given edges. OU stationary case. Ultrametric tree.

format_output

Run the EM for several values of K

get_criterion

Get Model Selection Criterion

get_variance_node

Get variance matrix of a node

go_back_to_original_process

Scale the parameters back to the original process

imputed_traits

Ancestral State Reconstruction

incidence_matrix_actualization_factors

Compute the actualization factors to apply to the incidence matrix.

incidence.matrix.full

Incidence matrix of a tree.

incidence.matrix

Incidence matrix of a tree.

init.allocate_regimes_from_shifts

Initialization for the allocation of shifts.

init.alpha.gamma.estimation

Initialization the selection strength alpha using robust estimation

init.compute_betas_from_shifts

Initialization for the computation of the optimal values

init.EM.lasso

Initialization of the shifts using Lasso.

init.enumerate_parsimony

Initialization for the enumeration of parsimonious solutions.

init.incidence.matrix.full

Initialization for incidence matrix (full tree)

init.incidence.matrix

Initialization for incidence matrix

init.parsimonyCost

Initialization for parsimonyCost.

init.parsimonyNumber

Initialization for parsimonyNumber.

init.simulate.BM

Initialize BM

init.simulate.OU

Initialize state and expectation matrices

init.simulate.StateAndExp

Initialize state and expectation matrices

is.in.ranges

Check whether parameters are in ranges.

lasso_regression_K_fixed.glmnet_multivariate

Do a lasso regression with the number of non-zero variables fixed.

log_likelihood

Log Likelihood of a fitted object

matrix_of_possibles

Compute parent matrix from possibles daughter matrices.

merge_alpha_grids

Merge PhyloEM fits on various grids of alpha values

merge_complementary_vectors

Merge several complementary vectors into one.

merge_params_independent

Merge a list of independent parameters into into one parameter

merge_rotations

Merge fits from independent runs of PhyloEM.

model_selection

Model Selection of a fitted object

node_optimal_values

Computation of the optimal values at nodes and tips.

params_BM

Create an object params_process for a BM

params_OU

Create an object params_process for an OU

params_process.character

Create an object params_process

params_process.PhyloEM

Parameter estimates

params_process

Create an object params_process

parsimonyCost

Minimal number of shifts needed to get a clustering.

parsimonyNumber

Number of equivalent parsimonious allocations.

partitionsNumber

Number of different models

penalty_BaraudGiraudHuet_likelihood

Penalty function type Baraud Giraud Huet.

penalty_BirgeMassart_shape1

Penalty function type Birgé-Massart 1

penalty_BirgeMassart_shape2

Penalty function type Birgé-Massart 2

penalty_pBIC

Penalty function type pBIC

PhyloEM

Model Estimation with Detection of Shifts

plot_criterion

Plot Model Selection Criterion

plot.enumerate_parsimony

Plot all the equivalent solutions.

plot.equivalent_shifts

Plot all the equivalent solutions.

plot.params_process

Plot for class simul_process

plot.PhyloEM

Plot for class PhyloEM

prod_index

Product of elements of a matrix

qr_solve_exact

exact qr.solve

recursionDown

Generic recursion down the tree.

residuals.PhyloEM

Residuals of a fitted object

sample_edges_intervals

Sample equally spaced edges.

sample_shifts_edges

Sample shifts edges in a parsimonious way.

scale_params

Scale variance and selection strength from a linear transform

segmentation.BM

Segmentation in the BM case

segmentation.OU.specialCase.lasso

Segmentation in the OU special case, using lasso regression

segmentation.OU.specialCase.same_shifts

Segmentation in the OU special case, conserving the same shifts positi...

shifts_to_simmap

Simmap format mapping from list of edges

shifts.list_to_matrix

Compute the matrix of shifts.

shifts.list_to_vector

Compute the vector of shifts.

shifts.matrix_to_list

Compute the list of shifts.

shifts.vector_to_list

Compute the list of shifts.

simul_process

Simulate a Stochastic Process on a tree

simulate_internal

Simulate a Stochastic Process on a tree

split_params_independent

Split independent parameters into a list of parameters

sum_partitions.cardFixed

Sum on subsets of a given cardinal.

sum_partitions

Sum on all subsets.

sum_prod.comb

Sum on a simplex

sum_simplex

Sum on a simplex

test.root.state

Test state of root.

transform_branch_length

Transform branch length for a re-scaled BM

transform_shifts_values

Transform the shift values

update.allocate_regimes_from_shifts

Update function for regime allocation.

update.compute_betas_from_shifts

Update function for optimal value computation

update.enumerate_parsimony

Actualization of the enumeration.

update.incidence.matrix.full

Update function for incidence matrix

update.incidence.matrix

Update function for incidence matrix

update.parsimonyCost

Actualization for parsimonyCost.

update.parsimonyNumber

Actualization for parsimonyNumber.

update.partitionsNumber.gen

Update formula in the general case

wrapper_E_step

Wrapper for E step in EM

Implementation of the automatic shift detection method for Brownian Motion (BM) or Ornstein–Uhlenbeck (OU) models of trait evolution on phylogenies. Some tools to handle equivalent shifts configurations are also available. See Bastide et al. (2017) <doi:10.1111/rssb.12206> and Bastide et al. (2018) <doi:10.1093/sysbio/syy005>.

  • Maintainer: Paul Bastide
  • License: GPL (>= 2) | file LICENSE
  • Last published: 2025-09-23