Skip to main content
Molecular Biology and Evolution logoLink to Molecular Biology and Evolution
. 2026 Mar 9;43(3):msag061. doi: 10.1093/molbev/msag061

piqtree: a python package for seamless phylogenetic inference with IQ-TREE

Robert Neil McArthur 1,✉,b, Thomas King-Fung Wong 2,3,4, Yapeng Lang 5, Richard Andrew Morris 6, Katherine Caley 7, Vijini Mallawaarachchi 8, Bui Quang Minh 9,✉,b, Gavin Huttley 10,✉,b
Editor: Claudia Russo
PMCID: PMC13006137  PMID: 41802268

Abstract

piqtree (pronounced pie-cue-tree) is an easy to use, open-source Python package that provides Python script based control of IQ-TREE’s phylogenetic inference engine. piqtree builds IQ-TREE as a Python package, presenting a library of Python functions for performing many of IQ-TREE’s capabilities including phylogenetic reconstruction, ultrafast bootstrapping, branch length optimization, model selection, rapid neighbor-joining, alignment simulation, and more. As piqtree explicitly uses IQ-TREE’s phylogenetic algorithms, the computational and statistical performance of piqtree equal that of IQ-TREE. Modestly higher memory usage may be expected owing to the Python runtime and the need to load the alignment in Python. By exposing IQ-TREE’s algorithms within Python, piqtree offers users a greatly simplified experience in development of phylogenetic workflows through seamless interoperability with other Python libraries and tools mediated by the cogent3 package. It enables users to perform interactive phylogenetic analyses and visualization using, for instance, Jupyter notebooks. We present the key features available in the piqtree library and a small case study that showcases its interoperability and highlight its potential for linking a high performance phylogenetic inference engine with more user friendly interfaces. piqtree is distributed for use as a standard Python package at https://pypi.org/project/piqtree/, documentation is available at https://piqtree.readthedocs.io, user contributed solutions at https://github.com/cogent3/c3codeshare, help forums at https://github.com/iqtree/piqtree/discussions, and source code at https://github.com/iqtree/piqtree.

Keywords: bioinformatics, phylogenetics, gene tree, nonreversible Markov process, Python, Jupyter, cogent3

Introduction

We introduce piqtree, an open-source package available on all major operating systems, that offers a Python interface to the maximum-likelihood phylogenetic inference capabilities of IQ-TREE. Since the phylogenetic calculations are done by directly calling internal IQ-TREE routines, piqtree performance matches that of IQ-TREE (Table S1). By being implemented in Python, a widely used scripting language, piqtree supports interactive analyses and simplifies the integration of IQ-TREE into phylogenetic analyses via cogent3 functions. Bespoke analyses that integrate IQ-TREE’s advanced algorithms can now be done with ease using Python scripts.

IQ-TREE (Nguyen et al. 2015; Minh et al. 2020; Wong et al. 2025) offers a command-line interface to phylogenetic inference using maximum likelihood. Beyond direct usage by researchers, IQ-TREE has been integrated into other applications and pipelines. These include the workflow platform Galaxy (The Galaxy Community 2024), the phylogenetics gateway CIPRES (Miller et al. 2010), the molecular dating tool PhyloSuite (Zhao et al. 2025), the microbiome analysis application QIIME2 (Bolyen et al. 2019), the orthology inference OrthoFinder (Emms and Kelly 2019), and the real-time tracking of pathogen evolution Nextstrain (Hadfield et al. 2018).

The increase in large scale multigene phylogenomic data sets is requiring individual researchers to develop their own customized workflows that integrate phylogenetic reconstruction tools. At present, integrating phylogenetic packages involves using them as external applications. This requires implementing custom algorithms for controlling external applications, followed by processing of exported text file outputs (eg Hadfield et al. 2018). When the exported data file formats change, the analyses that depend on them can break, requiring work by the user to fix. In addition, this approach requires learning multiple programing languages (eg bash and Python), multiple software package managers (eg homebrew, conda, pip) and increases the challenge of ensuring the work is reproducible.

We have developed piqtree to directly expose the functionality of IQ-TREE in Python. Python is a highly popular programing language with an extensive ecosystem of scientific packages. piqtree is not intended as a replacement for the IQ-TREE application, but rather as a modular Python interface to its efficient algorithms. While not all of IQ-TREE’s functionality is currently available in piqtree, the overlap is substantial and growing with input from the user community.

The integration of IQ-TREE into Python is mediated through cogent3 (COmparative GENomics Toolkit 3, Huttley et al. 2025a), the successor to PyCogent (Knight et al. 2007). cogent3 provides extensive capabilities for data handling, data visualization, and robust algorithms for molecular evolution (Schranz et al. 2008; Lin et al. 2012; Wheeler et al. 2025). It implements unique substitution models, including context-dependent, nonreversible, and nonstationary models (eg Yap et al. 2010; Verbyla et al. 2013; Kaehler et al. 2015, 2017; McShea et al. 2025), and is the only software available for computing branch lengths when the substitution process is nonstationary (Kaehler et al. 2015). In piqtree, however, its primary role is to provide a library of fundamental biological data objects and to simplify integration of piqtree with other tools.

We introduce the key features of piqtree and present a small case study emphasizing the ease of developing a novel phylogenetic analysis that exploits data-level parallelism (described below) using the cogent3 app ecosystem. piqtree can be installed from the Python Package Index. The data and code used for this work are available at DOI 10.5281/zenodo.15875241. An archive of the piqtree version is DOI 10.5281/zenodo.15860648. The source code and documentation are available at https://github.com/iqtree/piqtree and https://piqtree.readthedocs.io, respectively.

Key features

Computational performance

As piqtree uses IQ-TREE for all phylogenetic calculations, the time taken to execute an analysis is indistinguishable. Because communicating from Python to the IQ-TREE library requires in-memory copying of alignment data, piqtree memory usage is a modest increase over that of IQ-TREE (see Table S1).

Phylogenetic reconstruction

A maximum-likelihood phylogenetic tree can be constructed from a cogent3 alignment object under a chosen substitution model with the build_tree function. Users can further customize the model by specifying how state frequencies are chosen (either empirical, equal, or optimized through maximum likelihood). Further, rate heterogeneity across sites can be incorporated by allowing for a proportion of invariable sites and by using the discrete Gamma or FreeRate models with a custom number of rate categories (Yang 1994b; Gu et al. 1995; Yang 1995; Soubrier et al. 2012). Ultrafast bootstrapping can be performed by specifying the number of bootstrap replicates (Minh et al. 2013; Hoang et al. 2018). The number of threads to parallelize across can be specified for more efficient computation, and a random seed may be set for reproducibility.

piqtree currently supports all IQ-TREE DNA models (including Lie Markov models, Woodhams et al. 2015), and amino-acid exchange rate matrices. The full listing of the available models can be found in the documentation.

Fitting branch lengths to a tree topology

The fit_tree function enables branch lengths to be fitted to a fixed tree topology for a cogent3 alignment object and a chosen substitution model. The function supports the same models as build_tree. The number of threads to parallelize across may also be set for faster computation. Nucleotide or amino acid probabilities and rate parameters are annotated as appropriate along the resulting cogent3 tree object’s edges.

Simulating an alignment

An alignment can be simulated over a cogent3 tree object for a chosen model with AliSim (Ly-Trong et al. 2022, 2023) using the simulate_alignment function. The sequence length, root sequence for the simulated alignment, as well as insertion and deletion rates and their respective size distributions can be specified. A random seed may be chosen for reproducibility and the number of threads for parallelization can be specified for faster computation.

Selecting an evolutionary model

The model_finder function exposes the model finding capabilities of IQ-TREE. The resulting object provides convenient interfaces to the models selected by the different information measures. The model selected according to the user preferred information criteria (eg Bayesian Information Criterion or Akaike Information Criterion, Posada and Buckley 2004) can be easily applied to either build_tree or fit_tree.

Estimating pairwise distances

The jc_distances function computes pairwise genetic distances from a cogent3 alignment object using the JC69 model (Jukes and Cantor 1969), returning a cogent3 distance matrix object. The user can specify the number of threads to use for the computations.

Estimate a phylogeny using RapidNJ

From a cogent3 distance matrix object, the nj_tree function uses the efficient Rapid Neighbor-Joining tree algorithm used internally by IQ-TREE (Simonsen et al. 2011). When a user has piqtree installed, methods on cogent3 alignments and distance matrix objects will use this implementation rather than the native cogent3 methods. By default, negative branch lengths resulting from the method are set to 0.

Simulate a random tree

The random_tree function can be used to make a randomly generated tree. The number of taxa and strategy used to generate the tree can be specified. Options to generate include balanced trees, birth–death trees, caterpillar trees, star trees, uniform trees, or Yule–Harding trees. A random seed can be specified to ensure reproducibility.

Constructing a consensus tree

The consensus_tree function can be used to construct a consensus tree from a collection of trees on the same taxa set. By default, the majority-rule consensus tree is constructed (Margush and McMorris 1981). Additionally, a minimum support value (0–1) can be specified, representing a proportion of trees. Consequently, a clade must appear in more trees than this proportion in order to appear in the resulting consensus tree. If a minimum support of 1 is specified, the algorithm constructs the strict consensus tree (Sokal and Rohlf 1981). If a minimum support of 0 is specified, the algorithm constructs an extended majority-rule consensus tree (Felsenstein 1985).

Case study—demonstrating a novel phylogenetic analysis by combining piqtree with other Python packages

In this case study, we use a supertree method to estimate the root of a phylogeny from phylogenomic data, an analysis not natively supported by IQ-TREE. We demonstrate how a user can perform this analysis by combining existing Python tools with piqtree.

Supertree methods produce a consensus tree from a collection of trees that have overlapping, but not identical, taxa sets. The Python package sc_supertree (McArthur et al. 2024) requires rooted trees as input. piqtree implements nonreversible substitution models that can generate rooted phylogenies using statistical estimation of the root position (see Yap and Speed 2005), ie no prior knowledge about an outgroup lineage is required.

The data

We selected the published phylogenomic data set of Chiari et al. (2012) for the case study. The data consisted of 248 one-to-one orthologous protein-coding genes from turtles, crocodilians, and birds, with the lungfish included as an outgroup. This data set was selected as it satisfied the requirements of the supertree method: not all genes were present in all taxa, and nucleotide data, required by the UNREST model (Yang 1994a), was available. The original data set was a single concatenated alignment derived from alignments of the 248 genes. A partition file, delineating the gene boundaries in the concatenated alignment was available.

The goal of the original study was to assess the relative positions of turtles, crocodilians, and birds using the Lungfish as a outgroup. Chiari et al. (2012) used RAxML (Stamatakis 2006) with time-reversible nucleotide and amino substitution models along with a range of rate heterogeneity strategies (Chiari et al. 2012).

We emphasize that our intent with selecting this data was not to present the following analysis as necessarily superior to that employed by Chiari et al. (2012).

Preparing the data

We used data handling features of cogent3 to split the concatenated alignment into alignments of the original 248 genes. In the concatenated alignment, where an ortholog was missing from a species, it was represented by a sequence consisting entirely of “?.” We omitted species from the alignment in these cases. The outcome of this data preparation (see Fig. S2 for this algorithm) was 248 FASTA-formatted alignment files that were the input for our analysis where the alignment in each file was divisible by 3 and in frame for translation into an amino acid sequence alignment.

Combining cogent3, piqtree, and sc_supertree to statistically estimate a root to the tetrapod tree

A common feature of phylogenomic studies is the need to analyze many separate sequence alignments, a process well suited to data-level parallelization. By distributing different analyses across multiple CPUs and running them simultaneously, computation times can be greatly reduced. For instance, if two alignments are processed one after the other on a single CPU, the total time equals the sum of their individual processing times. However, if each alignment is processed simultaneously on a different CPU, the time can be cut by as much as half, illustrating the benefits of parallel processing.

To produce a phylogeny from an alignment file, we load the file into memory using cogent3 and pass the resulting alignment to piqtree, which returns a phylogeny. Since we are analyzing individual alignments, and some may be too short to provide reliable estimates, we eliminated alignments shorter than 471 bases. This threshold was chosen because it excludes the shortest 5% of alignments and is divisible by 3 so each codon position is equally represented in the result. With a directory containing 248 FASTA-formatted multiple sequence alignment files, we perform this procedure for each file, collecting the resulting phylogenies. We then pass this collection to sc_supertree, which generates a single consensus supertree. To expedite phylogeny construction, we use data-level parallelization. In this setup, piqtree is responsible only for estimating a phylogeny from a single file. The selection, loading of FASTA files and filtering by length is managed by cogent3, and the final consensus step is performed by sc_supertree (McArthur et al. 2024).

cogent3 provides an “app” mechanism to validate the interoperability of different functions. An app is a single-purpose Python function that specifies input and return data types. cogent3 uses these definitions to enable multiple apps to be combined into a “composed pipeline” that efficiently utilizes data-level parallelism. cogent3’s data loading functions track the source files for each object, allowing apps to automatically track the provenance of every result during execution. The built-in cogent3 apps are based on standard cogent3 functions, which users can also use in traditional algorithms.

piqtree has exposed many IQ-TREE functions as apps to take advantage of cogent3 app capabilities. All app names take the form piq_<function name>, for example the app for build_tree is named piq_build_tree. All piqtree functions and apps record the provenance of generated output. For example, tree objects returned by piqtree have attributes that identify the path to the alignment file that produced it along with model settings.

To solve the analysis here, we present algorithms for using apps or using standard functions. In Fig. 1, we use cogent3 apps to simplify the expression of finding FASTA-formatted files, filtering alignments by length, looping and distributing computations across CPUs. In Fig. 2, we express the problem using conventional functions without parallel execution. In both cases, we specify random number seeds for the piqtree and sc_supertree algorithms to ensure reproducibility.

Figure 1.

For image description, please refer to the figure legend and surrounding text.

Combining piqtree with other apps to construct a rooted supertree. A sequence loader ➀, a filter for alignments with length ≥471 ➁ and piqtree tree builder using the UNREST+FO model ➂ are added together to produce a composed app ➃ and applied in parallel ➄ to a directory (TURTLES_PATH) of alignment files (file names end with .fa) ➅ to produce a list of cogent3 tree objects. Spectral Cluster Supertree ➆ is then applied to construct the supertree from these trees. The rand_seed and random_state arguments are set to a specific value to ensure reproducibility. (See the script piqtree_app_demo.py in DOI 10.5281/zenodo.15875241 for the functioning version.)

Figure 2.

For image description, please refer to the figure legend and surrounding text.

Combining piqtree with other tools using standard functions to construct a rooted supertree. The FASTA files for each gene are extracted from the data directory ➀. Each alignment is loaded into Python ➁ and checked to ensure the alignment length is ≥471 before build_tree is used to reconstruct the corresponding gene tree under the UNREST+FO model ➂. Spectral Cluster Supertree ➃ is then applied to construct the supertree from these gene trees. There is no parallelization of the computations. (See the piqtree_demo.py script in DOI 10.5281/zenodo.15875241 for the functioning version.)

The algorithms presented in the figures are selected for brevity rather than as general solutions for all phylogenomic studies. For example, consider a case where the number of species is much larger and the time taken to estimate the phylogeny substantially longer. In such instances, it is better practice to write the generated phylogenies to disk to avoid recalculation should the program need to be restarted. cogent3 provides writer apps for this purpose, whose usage is described in the cogent3 documentation. These apps also use automated logging of analyses, tracking the provenance of all results and thus facilitating computational reproducibility. (See the piqtree_app_data_store_demo.py script in DOI 10.5281/zenodo.15875241 for a demonstration for the case study.)

The result of the analysis (Fig. 3) exactly recapitulates the Chiari et al. (2012) tree from nucleotide analysis with the exception of the root placement. The statistical estimate of the root in the supertree is two edges away from the expected position on the Protopterus (lungfish) branch. As it is long established that stationary nonreversible models have low statistical power to detect the root position (Yap and Speed 2005), this result is not unexpected.

Figure 3.

For image description, please refer to the figure legend and surrounding text.

The supertree formed from the gene trees of the turtles dataset. The image was created using the cogent3 built-in dendrogram algorithms which use the Plotly interactive graphics library (Plotly Technologies Inc 2015).

We caution readers against placing too much emphasis on the exactitude of the presented results. For this analysis, we found the produced supertree was sensitive to the choice of random number seeds. There were two topologies produced: the one shown in Fig. 3, or an alternate in which the two lizards (Anolis and Podarcis) were paired. In the original tree, this node had the weakest bootstrap support (53%, Chiari et al. 2012, Fig. 3b).

The phylogenetic Python data science ecosystem

Users of piqtree will be able to take advantage of Python’s sophisticated support for interactive exploratory data analyses and other Python phylogenetic packages that complement it. For instance, while cogent3 has its own built-in tree visualization capabilities (eg Fig. 3) the ETE3 toolkit provides more comprehensive capabilities (Huerta-Cepas et al. 2016) for interactive editing. A cogent3 app cogent3-ete3 can be used to transform the cogent3 trees into ETE3. iplotx (Zanini 2025) provides a sophisticated alternative for producing static images and has conversion routines for cogent3 tree objects. The diverse-seq package (Huttley et al. 2025b) provides cogent3 apps to facilitate development of phylogenetic workflows. Phylogenetic algorithms, from sequence alignment to phylogenetic reconstruction itself, all scale poorly with the number of sequences. From a large collection of sequences, diverse-seq selects a user nominated number as representative of the sequence diversity in the collection. By reducing the number of sequences and preserving the diversity, it reduces the computational resources needed to build a workflow prototype. The phylim package (Lang and Huttley 2025) provides cogent3 apps and works with piqtree to check that a fitted phylogenetic model is valid. Phylim draws on mathematical results concerning the uniqueness of parameter estimates from a fitted phylogenetic models (Chang 1996; Kaehler 2017). It evaluates whether the fitted parameters satisfy the mathematical conditions required for a unique solution, addressing uncertainties regarding the reliability of inference when site-saturation is a concern.

Conclusion

piqtree combines the algorithmic sophistication of IQ-TREE with the accessibility and flexibility of data analysis using Python. While the two tools share the same underlying algorithms, piqtree offers distinct advantages over IQ-TREE in certain contexts. For workflow developers, it provides a consistent installation process across operating systems and a stable application programing interface that will not break between major releases of IQ-TREE. For users seeking to undertake interactive analyses, piqtree provides a rich user experience in computational environments such as Jupyter Notebooks. By being implemented in Python, piqtree makes adaptation of a phylogenetic inference engine to novel applications possible by the users themselves without requiring input from the IQ-TREE development team. At the time of writing, there were 459 packages listed at the Python Package Index (https://pypi.org) that matched the search term “phylogenetics.” As we have shown with sc_supertree, piqtree and cogent3 can simplify interoperability with other tools, reducing a barrier to innovation in phylogenetic analyses. As its adoption by other bioinformatic tools (Mallawaarachchi et al. 2023) highlights, piqtree can increase development of new phylogeny based methodologies.

Supplementary Material

msag061_Supplementary_Data

Contributor Information

Robert Neil McArthur, Research School of Biology, Australian National University, Canberra, ACT, Australia.

Thomas King-Fung Wong, Research School of Biology, Australian National University, Canberra, ACT, Australia; School of Computing, Australian National University, Canberra, ACT, Australia; Mathematical Sciences Institute, Australian National University, Canberra, ACT, Australia.

Yapeng Lang, Research School of Biology, Australian National University, Canberra, ACT, Australia.

Richard Andrew Morris, Research School of Biology, Australian National University, Canberra, ACT, Australia.

Katherine Caley, Research School of Biology, Australian National University, Canberra, ACT, Australia.

Vijini Mallawaarachchi, Flinders Accelerator for Microbiome Exploration, Flinders University, Adelaide, SA, Australia.

Bui Quang Minh, School of Computing, Australian National University, Canberra, ACT, Australia.

Gavin Huttley, Research School of Biology, Australian National University, Canberra, ACT, Australia.

Supplementary material

Supplementary material is available at Molecular Biology and Evolution online.

Funding

Chan-Zuckerberg Initiative EOSS5-0000000223 awarded to G.H., V.M., and B.Q.M. and EOSS4-0000000312 to B.Q.M. National Science Foundation 2333243 awarded to Joanna Masel with a subcontract to B.Q.M.

Data Availability

The data and code used for this work is available at DOI 10.5281/zenodo.15875241. An archive of the piqtree version is available at DOI 10.5281/zenodo.15860648.

References

  1. Bolyen  E  et al.  Reproducible, interactive, scalable and extensible microbiome data science using QIIME 2. Nat Biotechnol. 2019:37:852–857. 10.1038/s41587-019-0209-9. [DOI] [PMC free article] [PubMed] [Google Scholar]
  2. Chang  JT. Full reconstruction of Markov models on evolutionary trees: identifiability and consistency. Math Biosci. 1996:137:51–73. 10.1016/s0025-5564(96)00075-2. [DOI] [PubMed] [Google Scholar]
  3. Chiari  Y, Cahais  V, Galtier  N, Delsuc  F. Phylogenomic analyses support the position of turtles as the sister group of birds and crocodiles (Archosauria). BMC Biol. 2012:10:65. 10.1186/1741-7007-10-65. [DOI] [PMC free article] [PubMed] [Google Scholar]
  4. Emms  DM, Kelly  S. OrthoFinder: phylogenetic orthology inference for comparative genomics. Genome Biol. 2019:20:1–14. 10.1186/s13059-018-1612-0. [DOI] [PMC free article] [PubMed] [Google Scholar]
  5. Felsenstein  J. Confidence limits on phylogenies: an approach using the bootstrap. Evolution. 1985:39:783–791. 10.1111/j.1558-5646.1985.tb00420.x. [DOI] [PubMed] [Google Scholar]
  6. Gu  X, Fu  YX, Li  WH. Maximum likelihood estimation of the heterogeneity of substitution rate among nucleotide sites. Mol Biol Evol. 1995:12:546–557. 10.1093/oxfordjournals.molbev.a040235. [DOI] [PubMed] [Google Scholar]
  7. Hadfield  J  et al.  Nextstrain: real-time tracking of pathogen evolution. Bioinformatics. 2018:34:4121–4123. 10.1093/bioinformatics/bty407. [DOI] [PMC free article] [PubMed] [Google Scholar]
  8. Hoang  DT, Chernomor  O, von Haeseler  A, Minh  BQ, Vinh  LS. UFBoot2: improving the ultrafast bootstrap approximation. Mol Biol Evol. 2018:35:518–522. 10.1093/molbev/msx281. [DOI] [PMC free article] [PubMed] [Google Scholar]
  9. Huerta-Cepas  J, Serra  F, Bork  P. ETE 3: reconstruction, analysis, and visualization of phylogenomic data. Mol Biol Evol. 2016:33:1635–1638. 10.1093/molbev/msw046. [DOI] [PMC free article] [PubMed] [Google Scholar]
  10. Huttley  G  et al.  cogent3: making sense of sequence. Zenodo, 2025a. 10.5281/zenodo.16519079. [DOI]
  11. Huttley  G, Caley  K, McArthur  R. diverse-seq: an application for alignment-free selecting and clustering biological sequences. J Open Source Softw. 2025b:10:7765. 10.21105/joss. [DOI] [Google Scholar]
  12. Jukes  T, Cantor  C. Evolution of protein molecules. In: Mammalian protein metabolism. 1969. p. 21–132. [Google Scholar]
  13. Kaehler  BD. Full reconstruction of non-stationary strand-symmetric models on rooted phylogenies. J Theor Biol. 2017:420:144–151. 10.1016/j.jtbi.2017.03.007. [DOI] [PubMed] [Google Scholar]
  14. Kaehler  BD, Yap  VB, Huttley  GA. Standard codon substitution models overestimate purifying selection for non-stationary data. Genome Biol Evol. 2017:9:134–149. 10.1093/gbe/evw308. [DOI] [PMC free article] [PubMed] [Google Scholar]
  15. Kaehler  BD, Yap  VB, Zhang  R, Huttley  GA. Genetic distance for a general non-stationary Markov substitution process. Syst Biol. 2015:64:281–293. 10.1093/sysbio/syu106. [DOI] [PMC free article] [PubMed] [Google Scholar]
  16. Knight  R  et al.  PyCogent: a toolkit for making sense from sequence. Genome Biol. 2007:8:R171. 10.1186/gb-2007-8-8-r171. [DOI] [PMC free article] [PubMed] [Google Scholar]
  17. Lang  Y, Huttley  G. phylim: detecting the limits of phylogenetic inference, Zenodo. 2025. 10.5281/zenodo.15717906. [DOI]
  18. Lin  Y, Rajan  V, Moret  BME. A metric for phylogenetic trees based on matching. IEEE/ACM Trans Comput Biol Bioinform. 2012:9:1014–1022. 10.1109/TCBB.2011.157. [DOI] [PubMed] [Google Scholar]
  19. Ly-Trong  N, Barca  GM, Minh  BQ. Alisim-hpc: parallel sequence simulator for phylogenetics. Bioinformatics. 2023:39:btad540. 10.1093/bioinformatics/btad540. [DOI] [PMC free article] [PubMed] [Google Scholar]
  20. Ly-Trong  N, Naser-Khdour  S, Lanfear  R, Minh  BQ. Alisim: a fast and versatile phylogenetic sequence simulator for the genomic era. Mol Biol Evol. 2022:39:msac092. 10.1093/molbev/msac092. [DOI] [PMC free article] [PubMed] [Google Scholar]
  21. Mallawaarachchi  V  et al.  Phables: from fragmented assemblies to high-quality bacteriophage genomes. Bioinformatics. 2023:39:btad586. 10.1093/bioinformatics/btad586. [DOI] [PMC free article] [PubMed] [Google Scholar]
  22. Margush  T, McMorris  FR. Consensusn-trees. Bull Math Biol. 1981:43:239–244. [Google Scholar]
  23. McArthur  RN, Zehmakan  AN, Charleston  MA, Lin  Y, Huttley  G. Spectral cluster supertree: fast and statistically robust merging of rooted phylogenetic trees. Front Mol Biosci. 2024:11. 10.3389/fmolb.2024.1432495. [DOI] [PMC free article] [PubMed] [Google Scholar]
  24. McShea  H, et al. The effectiveness of selection in a species affects the direction of amino acid frequency evolution. 2025, biorxiv. 10.1101/2023.02.01.526552. [DOI]
  25. Miller  MA, Pfeiffer  W, Schwartz  T. 2010. Creating the CIPRES Science Gateway for inference of large phylogenetic trees. In: 2010 Gateway Computing Environments Workshop (GCE). p. 1–8. [Google Scholar]
  26. Minh  BQ  et al.  IQ-TREE 2: new models and efficient methods for phylogenetic inference in the genomic era. Mol Biol Evol. 2020:37:1530–1534. 10.1093/molbev/msaa015. [DOI] [PMC free article] [PubMed] [Google Scholar]
  27. Minh  BQ, Nguyen  MAT, von Haeseler  A. Ultrafast approximation for phylogenetic bootstrap. Mol Biol Evol. 2013:30:1188–1195. 10.1093/molbev/mst024. [DOI] [PMC free article] [PubMed] [Google Scholar]
  28. Nguyen  LT, Schmidt  HA, von Haeseler  A, Minh  BQ. IQ-TREE: a fast and effective stochastic algorithm for estimating maximum-likelihood phylogenies. Mol Biol Evol. 2015:32:268–274. 10.1093/molbev/msu300. [DOI] [PMC free article] [PubMed] [Google Scholar]
  29. Plotly Technologies Inc . Collaborative data science, 2015.
  30. Posada  D, Buckley  TR. Model selection and model averaging in phylogenetics: advantages of Akaike information criterion and Bayesian approaches over likelihood ratio tests. Syst Biol. 2004:53:793–808. 10.1080/10635150490522304. [DOI] [PubMed] [Google Scholar]
  31. Schranz  HW, Yap  VB, Easteal  S, Knight  R, Huttley  GA. Pathological rate matrices: from primates to pathogens. BMC Bioinformatics. 2008:9:550. 10.1186/1471-2105-9-550. [DOI] [PMC free article] [PubMed] [Google Scholar]
  32. Simonsen  M, Mailund  T, Pedersen  CNS. Inference of large phylogenies using neighbour-joining. In: Fred  A, Filipe  J, Gamboa  H, editors. Biomedical engineering systems and technologies. Springer; 2011. p. 334–344. [Google Scholar]
  33. Sokal  RR, Rohlf  FJ. Taxonomic congruence in the Leptopodomorpha re-examined. Syst Zool. 1981:30:309–325. 10.2307/2413252. [DOI] [Google Scholar]
  34. Soubrier  J  et al.  The influence of rate heterogeneity among sites on the time dependence of molecular rates. Mol Biol Evol. 2012:29:3345–3358. 10.1093/molbev/mss140. [DOI] [PubMed] [Google Scholar]
  35. Stamatakis  A. RAxML-VI-HPC: maximum likelihood-based phylogenetic analyses with thousands of taxa and mixed models. Bioinformatics. 2006:22:2688–2690. 10.1093/bioinformatics/btl446. [DOI] [PubMed] [Google Scholar]
  36. The Galaxy Community . The Galaxy platform for accessible, reproducible, and collaborative data analyses: 2024 update. Nucleic Acids Res. 2024:52:W83–W94. 10.1093/nar/gkae410. [DOI] [PMC free article] [PubMed] [Google Scholar]
  37. Verbyla  KL, Yap  VB, Pahwa  A, Shao  Y, Huttley  GA. The embedding problem for Markov models of nucleotide substitution. PLoS One. 2013:8:e69187. 10.1371/journal.pone.0069187. [DOI] [PMC free article] [PubMed] [Google Scholar]
  38. Wheeler  AL, et al. Improved gene tree inference from removing alignment errors both from focal genes and when training substitution models. 2025. bioRxiv 2025.12.01.691663. 10.64898/2025.12.01.691663. [DOI] [PMC free article] [PubMed]
  39. Wong  TKF, et al. IQ-TREE 3: phylogenomic inference software using complex evolutionary models. 2025. ecorxiv, 10.32942/X2P62N. [DOI] [PMC free article] [PubMed]
  40. Woodhams  MD, Fernández-Sánchez  J, Sumner  JG. A new hierarchy of phylogenetic models consistent with heterogeneous substitution rates. Syst Biol. 2015:64:638–650. 10.1093/sysbio/syv021. [DOI] [PMC free article] [PubMed] [Google Scholar]
  41. Yang  Z. Estimating the pattern of nucleotide substitution. J Mol Evol. 1994a:39:105–111. 10.1007/BF00178256. [DOI] [PubMed] [Google Scholar]
  42. Yang  Z. Maximum likelihood phylogenetic estimation from DNA sequences with variable rates over sites: approximate methods. J Mol Evol. 1994b:39:306–314. 10.1007/BF00160154. [DOI] [PubMed] [Google Scholar]
  43. Yang  Z. A space-time process model for the evolution of DNA sequences. Genetics. 1995:139:993–1005. 10.1093/genetics/139.2.993. [DOI] [PMC free article] [PubMed] [Google Scholar]
  44. Yap  VB, Lindsay  H, Easteal  S, Huttley  G. Estimates of the effect of natural selection on protein-coding content. Mol Biol Evol. 2010:27:726–734. 10.1093/molbev/msp232. [DOI] [PMC free article] [PubMed] [Google Scholar]
  45. Yap  VB, Speed  T. Rooting a phylogenetic tree with nonreversible substitution models. BMC Evol Biol. 2005:5:2. 10.1186/1471-2148-5-2. [DOI] [PMC free article] [PubMed] [Google Scholar]
  46. Zanini  F. Unified network visualisation in Python. Zenodo, 2025. 10.5281/zenodo.16599333. [DOI]
  47. Zhao  D  et al.  PhyloSuite v2: the development of an all-in-one, efficient and visualization-oriented suite for molecular dating analysis and other advanced features. Imeta. 2025:4:e70095. 10.1002/imt2.70095. [DOI] [PMC free article] [PubMed] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Citations

  1. Huttley  G  et al.  cogent3: making sense of sequence. Zenodo, 2025a. 10.5281/zenodo.16519079. [DOI]
  2. Lang  Y, Huttley  G. phylim: detecting the limits of phylogenetic inference, Zenodo. 2025. 10.5281/zenodo.15717906. [DOI]
  3. Zanini  F. Unified network visualisation in Python. Zenodo, 2025. 10.5281/zenodo.16599333. [DOI]

Supplementary Materials

msag061_Supplementary_Data

Data Availability Statement

The data and code used for this work is available at DOI 10.5281/zenodo.15875241. An archive of the piqtree version is available at DOI 10.5281/zenodo.15860648.


Articles from Molecular Biology and Evolution are provided here courtesy of Oxford University Press

RESOURCES