Learn R Programming

⚠️There's a newer version (1.8.0) of this package.Take me there.

PhylogeneticEM (version 1.6.0)

Automatic Shift Detection using a Phylogenetic EM

Description

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) and Bastide et al. (2018) .

Copy Link

Version

Install

install.packages('PhylogeneticEM')

Monthly Downloads

182

Version

1.6.0

License

GPL (>= 2) | file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Paul Bastide

Last Published

August 31st, 2022

Functions in PhylogeneticEM (1.6.0)

add_complementary

Add several entries, when only one is not NA.
check_dimensions

Check dimensions of the parameters
check_parsimony_clusters

Check whether an allocation of the shifts is parsimonious, in the "infinite site model".
check.selection.strength

Check selection strength
clusters_from_shifts

Clustering associated to a shift allocation, assuming no homoplasy.
compute_dist_phy

Phylogenetic Distances
compute_betas_from_shifts

Computation of the optimal values at nodes and tips.
compute_actualization_matrix_ultrametric

Compute Matrix W of actualization (Ultrametric case)
compute_expectations.scOU

Compute the expected states of a scOU
compute_expectations.BM

Compute the expected states of a BM
check_range_alpha

Check range of alpha
compute_diff_exp.BM

Compute differences of expectations between node and parent.
compute_fixed_moments

Compute fixed moments for E step.
compute_E.simple

E step
compute_times_ca

Common Ancestors Times
compute_log_likelihood.simple

Log Likelihood
compute_sum_var_diff

Compute weighted sum of var_diff
compute_gauss_lasso

Do a lm on top of a lasso regression.
compute_var_M.BM

Computation of the variance.
compute_var_diff.BM

Compute variances of differences between nodes and parents.
compute_mahalanobis_distance.simple

Squared Mahalanobis Distance
compute_stationary_variance

Compute the stationary variance matrix
equivalent_shifts

Find all equivalent shifts allocations and values.
compute_mean_variance.simple

Compute moments of params_old
compute_state_filter

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

Correspondence between edges numbers
find_grid_alpha

Find a reasonable grid for alpha
equivalent_shifts_values

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

Complete variance covariance matrix for OU
compute_variance_covariance.OU

Complete variance covariance matrix for OU
compute_variance_covariance.BM

Complete variance covariance matrix for BM
equivalent_shifts_edges

Find all the equivalent shift edges allocations.
enlight

Make the result lighter
estimate.alpha

Function to estimate alpha
compute_variance_covariance.scOU

Complete variance covariance matrix for scOU
extract.variance_covariance

Extract sub-matrices of variance.
extract.parsimonyCost

Extraction of the actual number of solutions.
compute_shifts_from_betas

Computation of shifts from the vector of optimal values
compute_residuals.simple

Residuals
go_back_to_original_process

Scale the parameters back to the original process
incidence.matrix.full

Incidence matrix of a tree.
incidence.matrix

Incidence matrix of a tree.
find_rotation

Test for rotation invariant datasets
extract.parsimonyNumber

Extraction of the actual number of solutions.
init.alpha.gamma.estimation

Initialization the selection strength alpha using robust estimation
merge_rotations

Merge fits from independent runs of PhyloEM.
estimateEM

Perform One EM
extract

Extraction function
find_independent_regression_vectors.glmnet_multivariate

Given a regularization path, find K selected independent variables.
init.allocate_regimes_from_shifts

Initialization for the allocation of shifts.
init.incidence.matrix.full

Initialization for incidence matrix (full tree)
merge_params_independent

Merge a list of independent parameters into into one parameter
init.compute_betas_from_shifts

Initialization for the computation of the optimal values
init.incidence.matrix

Initialization for incidence matrix
find_shift_values

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

Tips Variances for the BM
compute_variance_block_diagonal.OU

Tips Variances for the OU
format_output

Run the EM for several values of K
imputed_traits

Ancestral State Reconstruction
init.simulate.BM

Initialize BM
extract.simul_process

Extraction of simulated traits
penalty_BaraudGiraudHuet_likelihood

Penalty function type Baraud Giraud Huet.
matrix_of_possibles

Compute parent matrix from possibles daughter matrices.
penalty_BirgeMassart_shape1

Penalty function type Birgé-Massart 1
merge_complementary_vectors

Merge several complementary vectors into one.
extract.partitionsNumber

Extract from object partitionsNumber
parsimonyNumber

Number of equivalent parsimonious allocations.
log_likelihood

Log Likelihood of a fitted object
init.parsimonyCost

Initialization for parsimonyCost.
init.EM.lasso

Initialization of the shifts using Lasso.
incidence_matrix_actualization_factors

Compute the actualization factors to apply to the incidence matrix.
init.simulate.StateAndExp

Initialize state and expectation matrices
init.enumerate_parsimony

Initialization for the enumeration of parsimonious solutions.
plot_criterion

Plot Model Selection Criterion
init.parsimonyNumber

Initialization for parsimonyNumber.
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.
segmentation.OU.specialCase.same_shifts

Segmentation in the OU special case, conserving the same shifts position.
prod.index

Product of elements of a matrix
model_selection

Model Selection of a fitted object
partitionsNumber

Number of different models
parsimonyCost

Minimal number of shifts needed to get a clustering.
params_process.character

Create an object params_process
shifts.list_to_matrix

Compute the matrix of shifts.
init.simulate.OU

Initialize state and expectation matrices
recursionDown

Generic recursion down the tree.
segmentation.BM

Segmentation in the BM case
plot.PhyloEM

Plot for class PhyloEM
simul_process

Simulate a Stochastic Process on a tree
shifts_to_simmap

Simmap format mapping from list of edges
params_process.PhyloEM

Parameter estimates
shifts.vector_to_list

Compute the list of shifts.
qr.solve_exact

exact qr.solve
compute_tree_correlations_matrix.BM

Matrix of tree-induced correlations for the BM
monkeys

New World Monkeys dataset
simulate_internal

Simulate a Stochastic Process on a tree
params_process

Create an object params_process
plot.enumerate_parsimony

Plot all the equivalent solutions.
shifts.matrix_to_list

Compute the list of shifts.
test.root.state

Test state of root.
update.parsimonyNumber

Actualization for parsimonyNumber.
sample_shifts_edges

Sample shifts edges in a parsimonious way.
scale_params

Scale variance and selection strength from a linear transform
shifts.list_to_vector

Compute the vector of shifts.
penalty_pBIC

Penalty function type pBIC
split_params_independent

Split independent parameters into a list of parameters
enumerate_tips_under_edges

Tips descendants of nodes.
enumerate_parsimony

Enumerate all the possible regime allocations, given a clustering of the tips.
extract.enumerate_parsimony

Extract the result of enumerate_parsimony at a node.
penalty_BirgeMassart_shape2

Penalty function type Birgé-Massart 2
sum.simplex

Sum on a simplex
update.incidence.matrix

Update function for incidence matrix
segmentation.OU.specialCase.lasso

Segmentation in the OU special case, using lasso regression
update.partitionsNumber.gen

Update formula in the general case
compute_tree_correlations_matrix.scOU

Matrix of tree-induced correlations for the scOU
sum.partitions.cardFixed

Sum on subsets of a given cardinal.
update.enumerate_parsimony

Actualization of the enumeration.
sum.prod.comb

Sum on a simplex
extract.equivalent_shifts

Extract the shifts values for one trait.
transform_branch_length

Transform branch length for a re-scaled BM
transform_shifts_values

Transform the shift values
wrapper_E_step

Wrapper for E step in EM
sum.partitions

Sum on all subsets.
update.parsimonyCost

Actualization for parsimonyCost.
update.incidence.matrix.full

Update function for incidence matrix
get_criterion

Get Model Selection Criterion
residuals.PhyloEM

Residuals of a fitted object
plot.equivalent_shifts

Plot all the equivalent solutions.
plot.params_process

Plot for class simul_process
params_OU

Create an object params_process for an OU
params_BM

Create an object params_process for a BM
sample_edges_intervals

Sample equally spaced edges.
update.allocate_regimes_from_shifts

Update function for regime allocation.
get_variance_node

Get variance matrix of a node
update.compute_betas_from_shifts

Update function for optimal value computation
check_data

Test the format of data entry.
PhyloEM

Model Estimation with Detection of Shifts
allocate_subset_node.simulate

Iteration allocation
check_parsimony

Check Parsimony, assuming no homoplasy
allocate_shifts_from_regimes

Allocation of shifts to edges
allocate_regimes_from_shifts

Allocation of regimes to nodes.