{
  "_id": "6a2fb76a3efcd9bda432bd05",
  "Package": "PhylogeneticEM",
  "Title": "Automatic Shift Detection using a Phylogenetic EM",
  "Version": "1.8.1",
  "Authors@R": "c(\nperson(\"Paul\", \"Bastide\", email = \"paul.bastide@m4x.org\", role = c(\"aut\", \"cre\")),\nperson(\"Mahendra\", \"Mariadassou\", role = \"ctb\"))",
  "Description": "Implementation of the automatic shift detection method for\nBrownian Motion (BM) or Ornstein–Uhlenbeck (OU) models of trait\nevolution on phylogenies. Some tools to handle equivalent\nshifts configurations are also available. See Bastide et al.\n(2017) <doi:10.1111/rssb.12206> and Bastide et al. (2018)\n<doi:10.1093/sysbio/syy005>.",
  "License": "GPL (>= 2) | file LICENSE",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "RoxygenNote": "7.3.2",
  "URL": "https://github.com/pbastide/PhylogeneticEM,\nhttps://pbastide.github.io/PhylogeneticEM/",
  "BugReports": "https://github.com/pbastide/PhylogeneticEM/issues",
  "VignetteBuilder": "knitr",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-15 08:23:01 UTC",
    "User": "root"
  },
  "Author": "Paul Bastide [aut, cre], Mahendra Mariadassou [ctb]",
  "Maintainer": "Paul Bastide <paul.bastide@m4x.org>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2025-09-23 15:40:09 UTC",
  "RemoteUrl": "https://github.com/cran/PhylogeneticEM",
  "RemoteRef": "HEAD",
  "RemoteSha": "d67c9014a354806c99837dba60eacddcf603b782",
  "MD5sum": "92ef2606c4ce7bfcee6e453f54a6e854",
  "_user": "cran",
  "_type": "src",
  "_file": "PhylogeneticEM_1.8.1.tar.gz",
  "_fileid": "3d8ecd2c095db06bc650e620947a8acdcf1ece535700a7e2ff3aaa9e1679df4b",
  "_filesize": 1211038,
  "_sha256": "3d8ecd2c095db06bc650e620947a8acdcf1ece535700a7e2ff3aaa9e1679df4b",
  "_created": "2026-06-15T08:23:01.000Z",
  "_published": "2026-06-15T08:27:22.717Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 81377170329,
      "time": 185,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7632728833"
    },
    {
      "job": 81377170235,
      "time": 195,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7632734478"
    },
    {
      "job": 81377170243,
      "time": 179,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7632726764"
    },
    {
      "job": 81377170220,
      "time": 198,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7632736066"
    },
    {
      "job": 81376181475,
      "time": 338,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7632660297"
    },
    {
      "job": 81377170200,
      "time": 134,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7632710117"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/27533212208",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/PhylogeneticEM",
  "_commit": {
    "id": "d67c9014a354806c99837dba60eacddcf603b782",
    "author": "Paul Bastide <paul.bastide@m4x.org>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.8.1\n",
    "time": 1758642009
  },
  "_maintainer": {
    "name": "Paul Bastide",
    "email": "paul.bastide@m4x.org",
    "login": "pbastide",
    "description": "",
    "uuid": 9268479
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "ape",
      "version": ">= 5.3",
      "role": "Depends"
    },
    {
      "package": "Matrix",
      "version": ">= 1.2.18",
      "role": "Depends"
    },
    {
      "package": "R",
      "version": ">= 3.6.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppArmadillo",
      "role": "LinkingTo"
    },
    {
      "package": "capushe",
      "version": ">= 1.1.1",
      "role": "Imports"
    },
    {
      "package": "foreach",
      "version": ">= 1.4.3",
      "role": "Imports"
    },
    {
      "package": "gglasso",
      "version": ">= 1.4",
      "role": "Imports"
    },
    {
      "package": "glmnet",
      "version": ">= 2.0.5",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "version": ">= 3.6.0",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "version": ">= 3.6.0",
      "role": "Imports"
    },
    {
      "package": "LINselect",
      "version": ">= 1.1.1",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "version": ">= 7.3.45",
      "role": "Imports"
    },
    {
      "package": "methods",
      "version": ">= 3.6.0",
      "role": "Imports"
    },
    {
      "package": "plyr",
      "version": ">= 1.8.4",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.2",
      "role": "Imports"
    },
    {
      "package": "robustbase",
      "version": ">= 0.92.6",
      "role": "Imports"
    },
    {
      "package": "stats",
      "version": ">= 3.6.0",
      "role": "Imports"
    },
    {
      "package": "utils",
      "version": ">= 3.6.0",
      "role": "Imports"
    },
    {
      "package": "combinat",
      "version": ">= 0.0.8",
      "role": "Suggests"
    },
    {
      "package": "doParallel",
      "version": ">= 1.0.10",
      "role": "Suggests"
    },
    {
      "package": "phytools",
      "version": ">= 0.5.38",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 1.0.2",
      "role": "Suggests"
    },
    {
      "package": "TreeSim",
      "version": ">= 2.2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-39",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.8.1",
      "date": "2025-09-23"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "pbastide",
      "count": 11,
      "uuid": 9268479
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 609,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 292,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/PhylogeneticEM"
  },
  "_mentions": 2,
  "_devurl": "https://github.com/pbastide/phylogeneticem",
  "_pkgdown": "https://pbastide.github.io/PhylogeneticEM/",
  "_searchresults": 69,
  "_topics": [
    "openblas",
    "cpp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/PhylogeneticEM.html",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/pbastide/phylogeneticem",
  "_realowner": "pbastide",
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2017-01-31"
    },
    {
      "version": "1.0.1",
      "date": "2017-05-01"
    },
    {
      "version": "1.1.0",
      "date": "2017-09-08"
    },
    {
      "version": "1.2.1",
      "date": "2018-09-11"
    },
    {
      "version": "1.3.0",
      "date": "2019-10-03"
    },
    {
      "version": "1.4.0",
      "date": "2020-02-11"
    },
    {
      "version": "1.5.0",
      "date": "2021-09-16"
    },
    {
      "version": "1.6.0",
      "date": "2022-08-31"
    },
    {
      "version": "1.7.0",
      "date": "2024-01-31"
    },
    {
      "version": "1.8.0",
      "date": "2025-02-14"
    },
    {
      "version": "1.8.1",
      "date": "2025-09-23"
    }
  ],
  "_exports": [
    "allocate_regimes_from_shifts",
    "allocate_shifts_from_regimes",
    "check_parsimony",
    "clusters_from_shifts",
    "compute_betas_from_shifts",
    "compute_dist_phy",
    "compute_shifts_from_betas",
    "compute_stationary_variance",
    "compute_times_ca",
    "correspondenceEdges",
    "enlight",
    "enumerate_parsimony",
    "enumerate_tips_under_edges",
    "equivalent_shifts",
    "estimateEM",
    "extract",
    "find_grid_alpha",
    "find_rotation",
    "get_criterion",
    "imputed_traits",
    "incidence.matrix",
    "incidence.matrix.full",
    "log_likelihood",
    "merge_alpha_grids",
    "merge_rotations",
    "model_selection",
    "node_optimal_values",
    "params_BM",
    "params_OU",
    "params_process",
    "parsimonyCost",
    "parsimonyNumber",
    "partitionsNumber",
    "PhyloEM",
    "plot_criterion",
    "shifts_to_simmap",
    "shifts.list_to_matrix",
    "shifts.matrix_to_list",
    "simul_process",
    "transform_branch_length"
  ],
  "_datasets": [
    {
      "name": "monkeys",
      "title": "New World Monkeys dataset",
      "object": "monkeys",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    }
  ],
  "_help": [
    {
      "page": "allocate_regimes_from_shifts",
      "title": "Allocation of regimes to nodes.",
      "topics": [
        "allocate_regimes_from_shifts"
      ]
    },
    {
      "page": "allocate_shifts_from_regimes",
      "title": "Allocation of shifts to edges",
      "topics": [
        "allocate_shifts_from_regimes"
      ]
    },
    {
      "page": "check_parsimony",
      "title": "Check Parsimony, assuming no homoplasy",
      "topics": [
        "check_parsimony"
      ]
    },
    {
      "page": "clusters_from_shifts",
      "title": "Clustering associated to a shift allocation, assuming no homoplasy.",
      "topics": [
        "clusters_from_shifts"
      ]
    },
    {
      "page": "compute_betas_from_shifts",
      "title": "Computation of the optimal values at nodes and tips.",
      "topics": [
        "compute_betas_from_shifts"
      ]
    },
    {
      "page": "compute_dist_phy",
      "title": "Phylogenetic Distances",
      "topics": [
        "compute_dist_phy"
      ]
    },
    {
      "page": "compute_shifts_from_betas",
      "title": "Computation of shifts from the vector of optimal values",
      "topics": [
        "compute_shifts_from_betas"
      ]
    },
    {
      "page": "compute_stationary_variance",
      "title": "Compute the stationary variance matrix",
      "topics": [
        "compute_stationary_variance"
      ]
    },
    {
      "page": "compute_times_ca",
      "title": "Common Ancestors Times",
      "topics": [
        "compute_times_ca"
      ]
    },
    {
      "page": "correspondenceEdges",
      "title": "Correspondence between edges numbers",
      "topics": [
        "correspondenceEdges"
      ]
    },
    {
      "page": "enlight",
      "title": "Make the result lighter",
      "topics": [
        "enlight",
        "enlight.PhyloEM"
      ]
    },
    {
      "page": "enumerate_parsimony",
      "title": "Enumerate all the possible regime allocations, given a clustering of the tips.",
      "topics": [
        "enumerate_parsimony"
      ]
    },
    {
      "page": "enumerate_tips_under_edges",
      "title": "Tips descendants of nodes.",
      "topics": [
        "enumerate_tips_under_edges"
      ]
    },
    {
      "page": "equivalent_shifts",
      "title": "Find all equivalent shifts allocations and values.",
      "topics": [
        "equivalent_shifts"
      ]
    },
    {
      "page": "estimateEM",
      "title": "Perform One EM",
      "topics": [
        "estimateEM"
      ]
    },
    {
      "page": "extract",
      "title": "Extraction function",
      "topics": [
        "extract"
      ]
    },
    {
      "page": "extract.enumerate_parsimony",
      "title": "Extract the result of 'enumerate_parsimony' at a node.",
      "topics": [
        "extract.enumerate_parsimony"
      ]
    },
    {
      "page": "extract.equivalent_shifts",
      "title": "Extract the shifts values for one trait.",
      "topics": [
        "extract.equivalent_shifts"
      ]
    },
    {
      "page": "extract.parsimonyCost",
      "title": "Extraction of the actual number of solutions.",
      "topics": [
        "extract.parsimonyCost"
      ]
    },
    {
      "page": "extract.parsimonyNumber",
      "title": "Extraction of the actual number of solutions.",
      "topics": [
        "extract.parsimonyNumber"
      ]
    },
    {
      "page": "extract.partitionsNumber",
      "title": "Extract from object 'partitionsNumber'",
      "topics": [
        "extract.partitionsNumber"
      ]
    },
    {
      "page": "extract.simul_process",
      "title": "Extraction of simulated traits",
      "topics": [
        "extract.simul_process"
      ]
    },
    {
      "page": "find_grid_alpha",
      "title": "Find a reasonable grid for alpha",
      "topics": [
        "find_grid_alpha"
      ]
    },
    {
      "page": "find_rotation",
      "title": "Test for rotation invariant datasets",
      "topics": [
        "find_rotation"
      ]
    },
    {
      "page": "get_criterion",
      "title": "Get Model Selection Criterion",
      "topics": [
        "get_criterion"
      ]
    },
    {
      "page": "imputed_traits",
      "title": "Ancestral State Reconstruction",
      "topics": [
        "imputed_traits",
        "imputed_traits.PhyloEM"
      ]
    },
    {
      "page": "incidence.matrix",
      "title": "Incidence matrix of a tree.",
      "topics": [
        "incidence.matrix"
      ]
    },
    {
      "page": "incidence.matrix.full",
      "title": "Incidence matrix of a tree.",
      "topics": [
        "incidence.matrix.full"
      ]
    },
    {
      "page": "log_likelihood",
      "title": "Log Likelihood of a fitted object",
      "topics": [
        "log_likelihood",
        "log_likelihood.params_process",
        "log_likelihood.PhyloEM"
      ]
    },
    {
      "page": "merge_alpha_grids",
      "title": "Merge PhyloEM fits on various grids of alpha values",
      "topics": [
        "merge_alpha_grids"
      ]
    },
    {
      "page": "merge_rotations",
      "title": "Merge fits from independent runs of PhyloEM.",
      "topics": [
        "merge_rotations"
      ]
    },
    {
      "page": "model_selection",
      "title": "Model Selection of a fitted object",
      "topics": [
        "model_selection",
        "model_selection.PhyloEM"
      ]
    },
    {
      "page": "monkeys",
      "title": "New World Monkeys dataset",
      "topics": [
        "monkeys"
      ]
    },
    {
      "page": "node_optimal_values",
      "title": "Computation of the optimal values at nodes and tips.",
      "topics": [
        "node_optimal_values"
      ]
    },
    {
      "page": "params_BM",
      "title": "Create an object 'params_process' for a BM",
      "topics": [
        "params_BM"
      ]
    },
    {
      "page": "params_OU",
      "title": "Create an object 'params_process' for an OU",
      "topics": [
        "params_OU"
      ]
    },
    {
      "page": "params_process",
      "title": "Create an object params_process",
      "topics": [
        "params_process"
      ]
    },
    {
      "page": "params_process.character",
      "title": "Create an object 'params_process'",
      "topics": [
        "params_process.character"
      ]
    },
    {
      "page": "params_process.PhyloEM",
      "title": "Parameter estimates",
      "topics": [
        "params_process.PhyloEM"
      ]
    },
    {
      "page": "parsimonyCost",
      "title": "Minimal number of shifts needed to get a clustering.",
      "topics": [
        "parsimonyCost"
      ]
    },
    {
      "page": "parsimonyNumber",
      "title": "Number of equivalent parsimonious allocations.",
      "topics": [
        "parsimonyNumber"
      ]
    },
    {
      "page": "partitionsNumber",
      "title": "Number of different models",
      "topics": [
        "partitionsNumber"
      ]
    },
    {
      "page": "PhyloEM",
      "title": "Model Estimation with Detection of Shifts",
      "topics": [
        "PhyloEM"
      ]
    },
    {
      "page": "plot_criterion",
      "title": "Plot Model Selection Criterion",
      "topics": [
        "plot_criterion"
      ]
    },
    {
      "page": "plot.enumerate_parsimony",
      "title": "Plot all the equivalent solutions.",
      "topics": [
        "plot.enumerate_parsimony"
      ]
    },
    {
      "page": "plot.equivalent_shifts",
      "title": "Plot all the equivalent solutions.",
      "topics": [
        "plot.equivalent_shifts"
      ]
    },
    {
      "page": "plot.params_process",
      "title": "Plot for class 'simul_process'",
      "topics": [
        "plot.params_process"
      ]
    },
    {
      "page": "plot.PhyloEM",
      "title": "Plot for class 'PhyloEM'",
      "topics": [
        "plot.PhyloEM"
      ]
    },
    {
      "page": "residuals.PhyloEM",
      "title": "Residuals of a fitted object",
      "topics": [
        "residuals.PhyloEM"
      ]
    },
    {
      "page": "shifts_to_simmap",
      "title": "Simmap format mapping from list of edges",
      "topics": [
        "shifts_to_simmap"
      ]
    },
    {
      "page": "shifts.list_to_matrix",
      "title": "Compute the matrix of shifts.",
      "topics": [
        "shifts.list_to_matrix"
      ]
    },
    {
      "page": "shifts.matrix_to_list",
      "title": "Compute the list of shifts.",
      "topics": [
        "shifts.matrix_to_list"
      ]
    },
    {
      "page": "simul_process",
      "title": "Simulate a Stochastic Process on a tree",
      "topics": [
        "simul_process",
        "simul_process.params_process",
        "simul_process.PhyloEM"
      ]
    },
    {
      "page": "transform_branch_length",
      "title": "Transform branch length for a re-scaled BM",
      "topics": [
        "transform_branch_length"
      ]
    }
  ],
  "_rundeps": [
    "ape",
    "capushe",
    "codetools",
    "DEoptimR",
    "digest",
    "elasticnet",
    "foreach",
    "gglasso",
    "glmnet",
    "gtools",
    "iterators",
    "lars",
    "lattice",
    "LINselect",
    "MASS",
    "Matrix",
    "mvtnorm",
    "nlme",
    "pls",
    "plyr",
    "randomForest",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "robustbase",
    "shape",
    "survival"
  ],
  "_sysdeps": [
    {
      "shlib": "liblapack",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.26+ds-1ubuntu0.1",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libblas",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.26+ds-1ubuntu0.1",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "tutorial.Rmd",
      "filename": "tutorial.html",
      "title": "An Introduction to the PhylogeneticEM Package",
      "author": "Paul Bastide",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Simulation of a dataset",
        "Inference",
        "Equivalent Solutions"
      ],
      "created": "2017-01-31 13:16:44",
      "modified": "2025-02-14 23:10:02",
      "commits": 7
    },
    {
      "source": "monkeys.Rmd",
      "filename": "monkeys.html",
      "title": "Analysis of the New World Monkeys dataset",
      "author": "Paul Bastide",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Dataset",
        "Inference",
        "Equivalent Solutions",
        "Invariance by Rotation",
        "Lizard Dataset",
        "EB model"
      ],
      "created": "2018-09-11 09:40:07",
      "modified": "2025-02-14 23:10:02",
      "commits": 5
    }
  ],
  "_score": 3.4409090820652177,
  "_indexed": false,
  "_nocasepkg": "phylogeneticem",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://pbastide.r-universe.dev/PhylogeneticEM",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.8.1",
      "date": "2026-06-15T08:25:39.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "d67c9014a354806c99837dba60eacddcf603b782",
      "fileid": "21c84dabf9ebff6833bc2b818d4bdca9657539655cb34c67a143178bbe0f70ea",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27533212208"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.8.1",
      "date": "2026-06-15T08:25:49.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "d67c9014a354806c99837dba60eacddcf603b782",
      "fileid": "f3e586ab8f1d0765a142dd15614a1cc78533ad920b78bf08ba95a3fc86ac32ba",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27533212208"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.8.1",
      "date": "2026-06-15T08:25:34.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "d67c9014a354806c99837dba60eacddcf603b782",
      "fileid": "903c2ad7127222cc38b208faa62b3d8a282078e877862ff0a0323d46f164f3fe",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27533212208"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.8.1",
      "date": "2026-06-15T08:25:48.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "d67c9014a354806c99837dba60eacddcf603b782",
      "fileid": "87ee5efca21b115c00fff8054b1f2993cf6843bbb2049931e3aadc468717ae27",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27533212208"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.8.1",
      "date": "2026-06-15T08:25:45.000Z",
      "arch": "emscripten",
      "commit": "d67c9014a354806c99837dba60eacddcf603b782",
      "fileid": "9703ae12abe85af2588d0933b1515e579f1a09a78294c9baa9b59d19ce785489",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27533212208"
    }
  ]
}