Skip to content

About

Helper Functions for Species Delimitation Analysis

Resources

Stars

4 stars

Watchers

3 watching

Forks

Repository files navigation

delimtools

CRAN status

IMPORTANT

This software is under development, and as such cannot be assumed to be free of bugs or poor functionality. Always inspect results carefully. If you find a problem, please report it with as much detail as possible in Issues. The current version is completely stand alone, no longer depending on third party binaries or R dependencies no longer available on CRAN. The affected functions, however, retain their legacy behavior for now and instructions for installing the third party binaries and R dependencies are provided at https://legallab.github.io/delimtools/articles/install.html. A tutorial vignette running through all major package functionality is found at https://legallab.github.io/delimtools/articles/delimtools.html.

delimtools v0.3.x - Announcement

As of v0.3.0, delimtools provides native R ports for all species delimitation software currently supported by this package. This means that ABGD, ASAP, bGMYC, GMYC and mPTP—previously dependent on external binaries or third-party R packages—will run entirely within the R environment, with performance-critical likelihood computations handled by embedded C code.

These R ports were developed with the assistance of Claude (Anthropic), under continuous human supervision. This porting process prioritized fidelity to the original source code: algorithms, likelihood functions, and core logic were preserved as closely as possible, with changes limited to what was strictly necessary for integration into the R/C ecosystem.

This change removes the Unix-only restriction that affected several functions in earlier versions, making the full delimtools pipeline available on all platforms, including Windows. Users will no longer need to install or configure standalone executables to run any of the supported methods. All currently implemented wrappers (*_tbl() functions) will continue to be available for comparative purposes for some time, but will eventually be deprecated in the next updates.

Overview

This is the official GitHub repository for the R package delimtools (Bittencourt, Collins & Hrbek, 2026).

Single-lucus species delimitation analyses have been implemented in a diversity of packages that use different methods to delimit species. These include GMYC (Monaghan et al., 2009), bGMYC (Reid & Carstens, 2012), mPTP (Kapli et al., 2017) and ASAP (Puillandre et al., 2020). These software run on different platforms (e.g. R, Unix, webservers), and also do not output their results in a consistent format to allow easy comparison. To address these shortcomings we have developed a suite of functions in the delimtools package that replicate the behavior of these software, and then standardize and simplify the output of these functions. This then permits comparison of the delimitation analyses, and unified visualization of the delimitation results.

Dependencies

Delimtools mainly depends on the tidyverse and ggtree packages. To install these, run the command lines below:

Install tidyverse:

install.packages("tidyverse")

Install ggtree

if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("ggtree")

Installation

To install delimtools you may execute the following commands. We recommend the usage of the latest CRAN release always.

Latest stable version from CRAN

install.packages("delimtools")

Development version from GitHub:

pak::pak("legalLab/delimtools")
# or alternately
devtools::install_github("legalLab/delimtools")
# Windows and macOS binaries are also provided with each release
install.packages("https://github.com/legalLab/delimtools/releases/download/v0.3.5/delimtools_0.3.5.zip", repos = NULL, type = "win.binary")
install.packages("https://github.com/legalLab/delimtools/releases/download/v0.3.5/delimtools_0.3.5.tgz", repos = NULL, type = "mac.binary")

Or a specific version via renv:

renv::install("LegalLab/delimtools@v0.1.0")

Examples

Here, we will demonstrate plotting a single-locus species delimitation analysis of a Geophagus eartheater cichlid dataset (Ximenes et al., 2021) using a diversity of methods. A tutorial vignette running through all major package functionality is found at https://legallab.github.io/delimtools/articles/delimtools.html.

Redhead Eartheater Geophagus pyrocephalus

Redhead Eartheater Geophagus pyrocephalus
library(delimtools)
library(dplyr)

# make tip label table
tip.tab <- geophagus_info |> 
  filter(gbAccession %in% geophagus_beast@phylo$tip.label) |>
  mutate(labs = glue::glue("{gbAccession} | {scientificName}")) |> 
  select(gbAccession, labs, scientificName)

# get columns
cols <- delim_brewer(delim = geophagus_delims, package = "randomcoloR", seed = 42)

# plot
delim_autoplot(delim = geophagus_delims, 
               tr = geophagus_beast, 
               consensus = TRUE,
               n_match = 4,
               delim_order = c("asap","abgd","locmin","gmyc","bgmyc","ptp", "mptp","morph"),
               tbl_labs = tip.tab, 
               col_vec = cols,
               hexpand = 0.7,
               widths = c(0.5, 0.5))

Current contributors

Meta

About

Helper Functions for Species Delimitation Analysis

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages