Fact-checked by Grok 2 weeks ago

PHYLIP

PHYLIP (PHYLogeny Inference Package) is a , package consisting of multiple command-line programs for inferring phylogenies—evolutionary trees—from biological data such as molecular sequences, frequencies, restriction sites, matrices, and characters. Developed primarily by Joseph Felsenstein at the , it was first distributed in October 1980 and remains one of the oldest and most widely used tools in , with over 30,000 registered users. The package supports a range of methods including , , and maximum likelihood approaches, as well as and consensus tree construction. PHYLIP includes approximately 35 individual programs, organized into categories such as sequence analysis (e.g., for DNA, protein, or codon sequences), tree manipulation, and graphical output tools like Drawgram and Drawtree for visualizing phylogenies. Written in C for cross-platform compatibility, it is distributed as source code, comprehensive documentation, and pre-compiled executables for systems including Windows, macOS, and Linux, with the latest version (3.698) featuring 64-bit support and an open-source license adopted since version 3.696. Users interact with the programs via a menu-driven interface, inputting data in simple text files and receiving outputs in formats like Newick for trees. The package's enduring impact is evident in its status as the sixth most-cited phylogeny software, behind tools like MrBayes and PAUP*, reflecting its foundational role in research despite the rise of more modern graphical alternatives. Ongoing updates address bugs and enhance compatibility, ensuring its relevance for both novice and expert users in fields like and .

History and Development

Origins and Initial Release

PHYLIP, the Phylogeny Package, was developed starting in 1980 by Joseph Felsenstein at the to address the growing need for freely available software tools that could perform phylogenetic in . At the time, computational methods for reconstructing evolutionary trees were limited and often inaccessible to researchers without specialized programming skills or access to proprietary systems, prompting Felsenstein to create a comprehensive, open package that implemented key algorithms in a user-friendly manner. The first public distribution of PHYLIP occurred in October 1980 as Version 1, primarily via magnetic tapes, which was a common medium for sharing software in academic circles during that era. This initial release focused on and distance-based methods suitable for analyzing small datasets, reflecting the computational constraints of early personal and minicomputers. Early adopters included collaborators who contributed programs, such as those by Jerry Shurman and Mark Moehring, establishing PHYLIP as a collaborative effort from its inception. Pre-3.0 versions of PHYLIP consisted of basic command-line tools written primarily in Pascal, with some components originating from earlier code, and were targeted at systems such as VAX computers, as well as early microcomputers like the and PC. These versions emphasized simplicity and portability across limited hardware, allowing biologists to run analyses without extensive reconfiguration. By the late , PHYLIP had evolved to include a broader suite of programs. Version 3.0, released in 1987, marked a significant milestone by expanding the number of included programs and enhancing overall portability through the introduction of both Pascal and initial C implementations, facilitating wider adoption across diverse computing platforms. This update built on feedback from thousands of users, solidifying PHYLIP's role as a foundational tool in phylogenetics.

Evolution and Maintenance

Following its initial release in 1980 by Joseph Felsenstein, PHYLIP underwent iterative enhancements to expand its analytical capabilities and improve cross-platform usability. Version 3.2, released in 1989, introduced support for protein sequences and maximum likelihood methods, enabling more comprehensive phylogenetic analyses of diverse molecular data types. Subsequent updates focused on portability and compatibility. Starting with version 3.3 in 1993, the source code was rewritten from the original Pascal, facilitating easier compilation and distribution across various operating systems, including MacOS, Windows, and . Version 3.5c, released in 1993, enhanced compatibility with later distributions providing precompiled executables for Windows systems like 95, 98, NT, and 2000, broadening accessibility for users on personal computers. As of 2025, the latest version remains 3.698, released in 2018 with minor patches primarily addressing compatibility issues and a consensus tree , rather than introducing new features. Distribution has shifted to since the 2010s, allowing for easier access to source code, executables, and documentation. Maintenance continues under Joseph Felsenstein at the , supplemented by open-source contributors following the adoption of an in version 3.696. Updates have emphasized fixes, documentation improvements, and platform-specific adaptations without major architectural rewrites, ensuring long-term stability for phylogenetic research.

Overview and Purpose

Core Functionality

PHYLIP, the Phylogeny Inference Package, serves as a comprehensive suite for inferring evolutionary trees from biological data, employing methods such as approaches, , and maximum likelihood to reconstruct phylogenetic relationships. These techniques allow users to analyze evolutionary histories by estimating tree topologies that best explain the observed data, with distance methods computing pairwise dissimilarities before tree construction, minimizing evolutionary changes, and likelihood evaluating trees based on probabilistic models of sequence evolution. The package supports a , enabling precise control over analyses without graphical dependencies, which facilitates its use in reproducible scientific workflows. Beyond core tree inference, PHYLIP extends to supporting tasks essential for robust phylogenetic studies, including bootstrapping to assess tree reliability through resampling, construction of consensus trees from multiple inferences, and manipulation of tree structures for refinement or visualization. As of version 3.698, it comprises 35 distinct programs that handle these operations, allowing integration with data types such as DNA and protein sequences. This modular architecture permits users to chain programs sequentially—for instance, generating distance matrices from sequences and then applying tree-building algorithms—promoting flexible, step-by-step analyses tailored to specific research needs. The design philosophy of PHYLIP prioritizes simplicity and reproducibility, with its programs written in portable C code to ensure broad compatibility across computing environments while avoiding unnecessary complexity in favor of transparent, user-driven processes. Developed by Joseph Felsenstein since 1980, it is distributed as under the BSD 2-Clause license, encouraging widespread adoption and modification without formal restrictions on non-commercial use. This approach has made PHYLIP a foundational tool in , emphasizing methodological rigor over computational speed.

Supported Data Types and Analyses

PHYLIP supports a variety of biological data types for phylogenetic analysis, including molecular sequences such as DNA and protein sequences, as well as non-molecular data like restriction sites and fragments, gene frequencies, distance matrices, and discrete characters. DNA sequences are processed through programs tailored for nucleotide data, while protein sequences handle amino acid alignments. Restriction sites and gene frequencies accommodate enzymatic cleavage patterns and allele frequency data, respectively, and discrete characters include binary (0/1) and multistate morphological traits. The package accommodates both molecular and non-molecular datasets, enabling analyses across diverse evolutionary contexts from genetic sequences to phenotypic traits. Certain programs, such as those for distance-based tree construction, can handle datasets with up to thousands of taxa, though practical limits depend on computational resources and specific method implementations. For discrete morphological data, multistate characters are treated as either unordered (via the Pars program, supporting up to 8 states) or ordered through recoding into binary states using tools like , allowing flexible handling of evolution assumptions. PHYLIP performs a range of phylogenetic analyses, including tree inference for both rooted and unrooted topologies, distance matrix calculations, parsimony-based scoring, maximum likelihood estimation, and hypothesis testing. Distance methods compute evolutionary distances from sequences (e.g., via dnadist for DNA or protdist for proteins) to build trees using algorithms like neighbor-joining or Fitch-Margoliash. Parsimony analyses, such as dnapars or protpars, seek trees minimizing evolutionary changes, while likelihood methods (e.g., dnaml or proml) evaluate trees under probabilistic models of sequence evolution. Hypothesis testing includes assessments of branch length significance and tree topology comparisons using metrics like the Templeton test for parsimony or Kishino-Hasegawa test for likelihood, often integrated with bootstrapping via seqboot for robustness evaluation. These capabilities support core tree-building functionality across data types without requiring external preprocessing beyond standard input preparation.

Input and Output

File Format Specifications

PHYLIP input files follow a standardized designed for compatibility across its sequence-based programs. The first line specifies the number of (species) and the number of characters (sites) in free format, separated by one or more blanks, such as "10 500". Subsequent lines contain the data for each , beginning with a 10-character taxon name that is left-justified and padded with blanks to exactly 10 characters if shorter. The data immediately follows the name without additional separation, and blanks may be inserted between characters for readability, though they are ignored during parsing. Two primary formats exist for arranging sequence data: sequential and interleaved. In the sequential format, the complete data for each is listed consecutively, potentially spanning multiple lines as long as no number or name is split across lines; the next taxon's data follows immediately after. The interleaved format divides the data into blocks of equal length across all taxa—for instance, the first 50 sites for all taxa, followed by an optional blank line, then the next 50 sites—and is useful for large datasets to facilitate visual alignment checks. An optional blank line may separate blocks in interleaved format, but no extra blanks are permitted within blocks. Data types adhere to specific symbol conventions. For DNA sequences, valid characters include A, C, G, T (or U for RNA), along with IUPAC ambiguity codes such as R (A or G), Y (C or T), and N (any); other symbols like blanks or digits are ignored, but periods are not allowed. Protein sequences use the standard one-letter amino acid codes (e.g., A for , - for deletion, ? for unknown), with no trailing blanks permitted after the data. For distance matrix inputs, the format is lower triangular: after the first line indicating the number of taxa, each taxon's line starts with its 10-character name followed by the distances to all preceding taxa, separated by blanks, with the diagonal omitted. Output files in PHYLIP are generated with specific naming conventions and structures. Trees are written to a file named "outtree" in , using nested parentheses to represent topology, with names (blanks replaced by underscores) and optional branch lengths following colons (e.g., "(A:0.1,B:0.2);"). Distance matrices in output files, such as "outfile," are presented in lower triangular form similar to inputs, with taxa listed diagonally and distances below. Other results, like scores or likelihood values, appear in "outfile" in tabular or textual summaries, often including the input data for verification. Example of a Sequential DNA Input File:
7 864
Human    ATGGTGCACCTGACTCCTGA...
Chimp    ATGATGCACCTGACTCCTGA...
Gorilla  ATGGTGCACCTGACTCCTGG...
...
Example of an Interleaved DNA Input File (first block):
7 864
Human    ATGGTGCACCTGACTCCTGAGGAGAA...
Chimp    ATGATGCACCTGACTCCTGAAGGGAA...
Gorilla  ATGGTGCACCTGACTCCTGGAGGGAA...
...

[blank line]

Human    GTCAGGTAG... (next block)
...
These formats ensure portability and ease of use in PHYLIP's component programs for phylogenetic inference. The file ends after the last data block with no specific terminator required.

Data Preparation and Input Requirements

Preparing input data for PHYLIP requires prior of biological sequences, as the package does not include built-in alignment tools. Users typically employ external software such as ClustalW or MUSCLE to generate multiple sequence alignments in PHYLIP-compatible format before analysis. Once aligned, data must be formatted as plain ASCII text files, with sequences represented using standard (A, C, G, T/U), protein, or other supported symbols. Gaps introduced during are denoted by hyphens (-), while is indicated by question marks (?). The resulting file should be renamed to "infile" for standard input, though programs will prompt for a custom name if the default is absent. PHYLIP programs like Seqboot can then process this input for tasks such as , generating pseudoreplicate datasets by resampling with replacement to assess phylogenetic robustness. Data cleanliness is essential, ensuring no extraneous characters, tabs, or formatting artifacts that could cause parsing errors; sequences should be fully aligned across taxa. For multiple datasets, such as those from , the "M" option enables sequential analysis within a single run, treating pseudoreplicates as separate inputs while maintaining the interleaved or sequential structure. Older versions of PHYLIP had various limits, though modern implementations are constrained primarily by system memory rather than fixed caps.

Component Programs

Distance Matrix Programs

The distance matrix programs in PHYLIP form a core component for phylogenetic inference, enabling the computation of pairwise evolutionary from various data types and the subsequent construction of from those matrices. These programs assume an additive distance model, where represent total branch lengths along the tree, and account for multiple substitutions (multiple hits) through correction formulas. They output lower-triangular or square that can be used as input for tree-building algorithms, facilitating analyses of , protein, or restriction site data. Dnadist computes pairwise distances between DNA sequences using several models of nucleotide substitution to correct for unobserved changes and site-to-site rate variation. It implements the Jukes-Cantor model, which assumes equal substitution rates among nucleotides and estimates the number of substitutions per site as d = -\frac{3}{4} \ln \left(1 - \frac{4}{3} p \right), where p is the proportion of differing sites. Additional options include the Kimura two-parameter model, distinguishing transitions from transversions with d = -\frac{1}{2} \ln \left[ (1 - 2P - Q) \sqrt{1 - 2Q} \right], where P and Q are transition and transversion differences, respectively; the F84 model for unequal transition rates; and the LogDet (paralinear) distance for handling base composition biases. Gamma-distributed rate variation across sites can be incorporated via the Jin and Nei correction, using a shape parameter \alpha to adjust distances. The output is a lower-triangular distance matrix with species names, suitable for input into tree inference programs like Fitch or Neighbor. Protdist calculates distances from aligned protein sequences, applying models that account for probabilities and multiple hits. It defaults to the Jones-Taylor-Thornton (JTT) model, an empirical matrix derived from closely related proteins with day units of evolution, estimating distances via the likelihood equation for observed differences. Alternatives include the Dayhoff () matrix for 1% change units, the PMB (Patterns of Blocks) model from the Blocks database, and Kimura's analytic approximation d = -\ln(1 - p - 0.2p^2), where p is the proportion of differing sites; a model assuming equal replacement rates is also available. Like Dnadist, it supports gamma rate correction and produces a lower-triangular or similarity table of identical site fractions. Restdist derives distances from restriction site or fragment data, such as from RFLP or AFLP experiments, treating presence/absence patterns as evidence of evolutionary divergence. For restriction sites, it uses a modification of the Nei and Li (1979) formula, f = \frac{n_{++}}{n_{++} + \frac{1}{2}(n_{+-} + n_{-+})}, where n_{++}, n_{+-}, and n_{-+} represent shared, unique to one taxon, and unique to the other site counts, respectively, with distances estimated under the Kimura two-parameter model (default transition/transversion ratio of 2.0). For fragments, it applies f = \frac{Q_s^2}{2 - Q_s}, where Q_s is the proportion of shared fragments, implicitly using a Jukes-Cantor-like correction. Gamma correction is optional, and the output is a scaled lower-triangular matrix representing expected substitutions per site. Once distances are computed, PHYLIP's tree-building programs utilize these matrices for phylogeny estimation. Fitch applies the Fitch-Margoliash least-squares method to find the tree minimizing the sum of squared differences between observed and branch-length distances, without assuming a ; it also supports the Cavalli-Sforza-Edwards chord distance (P=0) and minimum criteria. The output includes an unrooted tree file with branch lengths, percent standard deviations, and examined tree counts. Kitsch extends this by enforcing a (ultrametric tree), rooting the tree such that all root-to-tip distances are equal, suitable for clock-like . Neighbor implements the unrooted neighbor-joining , which iteratively joins least-distant pairs while correcting for outgroup influences, or the rooted method assuming constant rates; it is computationally efficient for large datasets. Both produce tree files compatible with PHYLIP's and tools.

Discrete Character Programs

The discrete character programs in PHYLIP facilitate phylogenetic analysis of morphological traits, presence-absence , and other non-sequence characters using parsimony-based approaches, emphasizing minimal evolutionary changes to infer topologies. These tools are particularly suited for systematists working with limited datasets where character states are coded as (0/1) or multistate, supporting polymorphism and notations to model real-world variability in traits like anatomical features or restriction sites. Unlike distance-based methods, these programs evaluate by scoring the number of state changes required, outputting metrics such as total steps, consistency indices, and reconstructed ancestral states to assess fit. Dollop implements Dollo parsimony and polymorphism parsimony for binary characters, assuming that (state 1) arise only once but can be lost multiple times, which aligns with models of irreversible evolution in . In Dollo mode, the method minimizes reversions (1 to 0 changes) while allowing unlimited losses, originally proposed by Le Quesne () and refined by Farris (1977); polymorphism mode treats polymorphic taxa as retaining ancestral variation without additional costs until resolved. Input data follow the standard PHYLIP sequential format, with the first line specifying the number of taxa and characters, followed by names and state strings using 0, 1, P (polymorphic for present), B (both states), or ? (unknown). Outputs include a list of most parsimonious rooted , character-specific reversion or retention counts, and optional tables of inferred ancestral states at nodes, with lengths indicated as "yes," "no," or "maybe" based on changes; the also supports branch-and-bound exhaustive search via Dolpenny and interactive rearrangement via Dolmove for Dollo analysis. These variants enable thorough exploration of tree space for small to medium datasets, typically up to 20 taxa, and provide statistical tests like the Templeton test for comparing user-defined trees. Mix performs maximum parsimony analysis on discrete characters using the Wagner method by default, which treats changes between states 0 and 1 as equally reversible, or the Camin-Sokal method, which assumes irreversible gains (0 to 1 only), with options for mixed weighting per character to accommodate directional evolution in traits. Developed for handling binary morphological data or recoded multistate traits, it computes the minimum number of steps across all characters to evaluate tree optimality, supporting user-specified weights to emphasize informative sites. The input format mirrors Dollop's, accepting sequential or interleaved data with polymorphism (P, B) and missing states (?), and menu options allow threshold parsimony to prune suboptimal trees early. Key outputs comprise equally parsimonious trees (up to a user-defined maximum, default 100), a summary of steps per character, ancestral state reconstructions in a table format (with dot-differencing for brevity), and fit metrics like the retention index; companion programs like Penny add branch-and-bound efficiency for exhaustive searches, while Move enables interactive tree manipulation. This flexibility makes Mix suitable for datasets with up to several dozen characters, prioritizing conceptual parsimony scoring over probabilistic models. Pars, serving as the primary tool for parsimony on DNA or protein sequences treated as discrete characters (e.g., each site as a multistate trait), applies the Wagner method to unordered multistate data, allowing changes among all states without assuming directionality. It extends binary analysis to molecular contexts by scoring nucleotide or amino acid substitutions as character transitions, with support for up to 8 states per site (e.g., A, C, G, T for DNA; 20 amino acids for proteins via Protpars variant), plus ? for unknowns, though polymorphism is handled via recoding. Input requires aligned sequences in PHYLIP format, optionally weighted by site importance, and the program generates trees via stepwise addition with global rearrangements. Outputs feature tree descriptions with branch lengths in expected changes, total steps and consistency index for tree fit, and node state tables showing most parsimonious reconstructions, enabling evaluation of evolutionary scenarios like site-specific ambiguities. For binary recoding of molecular data, integration with Factor allows conversion to 0/1 format compatible with Mix or Dollop, ensuring up to 32 binary characters per original multistate trait in advanced setups.

Likelihood and Parsimony Programs

The likelihood and parsimony programs in PHYLIP implement character-based methods for inferring phylogenies directly from aligned DNA, RNA, or protein sequences, optimizing trees by evaluating site-specific changes or probabilities without relying on precomputed distance matrices. These approaches emphasize discrete character states, with parsimony minimizing the number of evolutionary changes and likelihood maximizing the probability of observing the data under a specified evolutionary model. For detailed model specifications, see the Algorithms and Methods section. DNAML is the primary program for DNA maximum likelihood phylogeny estimation, applying Felsenstein's pruning to compute the likelihood of substitution models across topologies. It accommodates unequal base frequencies, transition/transversion rate ratios (default 2.0), and site-rate heterogeneity via Markov models, including gamma-distributed rates (with shape parameter alpha estimated or fixed) or up to nine rate categories. Tree search begins with a star phylogeny and uses local rearrangements (nearest-neighbor interchanges) for optimization, with an optional global rearrangement step that examines all possible branches to improve , though it triples runtime. Users can input starting trees, enable faster approximate searches, or perform likelihood ratio tests for model comparisons and ancestral state reconstruction. Limitations include assumptions of site independence and constant base composition across the tree, potentially leading to biased branch length estimates in heterogeneous data. The draws from foundational work by Felsenstein (1981) and extensions for rate variation by (1995) and Felsenstein and Churchill (1996). PROML extends maximum likelihood to protein sequences, using codon-based substitution models like Jones-Taylor-Thornton (JTT), Dayhoff PAM, or PMB to estimate probabilities. Similar to DNAML, it incorporates hidden Markov models for among-site rate variation, supporting gamma distributions (typically 4-8 categories for efficiency), invariant sites, or user-defined categories, with options via patch lengths to model local rate similarities. Optimization proceeds via local branch swapping, with global rearrangements available to escape local optima, and supports evaluation of user-supplied trees or multifurcations. Key outputs include branch lengths scaled to expected substitutions, likelihood values for model testing (e.g., via Shimodaira-Hasegawa ), and inferred ancestral sequences. Like DNAML, it assumes independent site evolution and may underestimate rate variation if is not enabled, but it avoids counting synonymous changes explicitly. The method builds on Kishino and Hasegawa (1989) for model implementation and Yang (1993) for rate heterogeneity. PROTPARS applies parsimony to protein sequences, inferring unrooted trees by minimizing the total number of amino acid changes while accounting for genetic code constraints, such as multi-step transitions through codon intermediates (e.g., phenylalanine to glutamic acid in two steps via leucine). It treats serine as two distinct states (Ser1 and Ser2) due to codon separation and penalizes deletions as three steps, using "?" for unknown residues to minimize parsimony scores. Tree building starts from randomized input orders (up to 10 replicates) and employs branch-and-bound or exhaustive searches for small datasets, with local rearrangements for larger ones; threshold parsimony options allow slight score increases to explore alternatives. Supports universal, vertebrate mitochondrial, or user-defined genetic codes, but assumes low non-synonymous substitution rates and site independence, which can bias toward symmetric trees in long-branch cases. This approach reconciles cost-based (Eck and Dayhoff, 1966) and compatibility (Fitch, 1971) parsimony, as detailed in Felsenstein (1981).

Utility Programs

PHYLIP includes several utility programs designed to support phylogenetic analyses by facilitating data resampling, tree summarization, manipulation, and visualization. These tools are essential for assessing tree robustness, combining results from multiple inferences, and preparing outputs for further use or presentation, without performing primary tree construction themselves. They integrate seamlessly into workflows by processing standard PHYLIP input and output files, such as sequence data in interleaved or sequential formats and trees in Newick notation. Seqboot is a versatile program for generating resampled s to evaluate phylogenetic reliability through or . It reads an input —supporting molecular sequences, restriction sites, frequencies, or discrete characters—and produces multiple replicate datasets by resampling with replacement (, defaulting to 100 replicates) or deleting a fraction of characters (, typically half). Users specify the resampling method, number of replicates, block size for handling gaps or ambiguities, and output format, including PHYLIP standard or XML/ for compatibility. A key feature is its ability to create weights files for pseudoreplicates, enabling efficient analysis on multiple machines, and it supports for testing. This program is crucial for statistical validation, as it allows subsequent PHYLIP programs to process the replicates and compute values. Consense constructs consensus trees from a set of input trees, providing a summary that highlights commonly supported clades. It employs majority-rule (default, including groups present in over 50% of trees and adding compatible branches for ) or strict (requiring 100% agreement), with options for user-defined thresholds via the M_l method. Input is a of Newick-format trees (up to 1000, rooted or unrooted, with branch lengths or weights), and output includes a with branch labels indicating clade frequencies, plus a report of included and excluded groups. It handles multifurcations and weighted trees, making it ideal for summarizing bootstrap replicates or alternative topologies from searches. Version 3.698, released in 2025, fixed a bug in construction. The program does not reroot trees automatically but can process outgroup-rooted inputs. Retree enables interactive editing and rerooting of phylogenetic , allowing users to explore alternative topologies without rerunning programs. It reads a Newick tree (bifurcating or multifurcating, with optional branch lengths) and supports commands to reroot via outgroup specification, , or arbitrary placement; rearrange subtrees by moving nodes or flipping ; edit names and lengths; and transpose clades. The menu-driven interface includes scrolling for navigation, undo functionality, and toggles for displaying lengths or clades, with output savable in PHYLIP, , or XML formats. Graphics options adapt to terminal types (e.g., ANSI for text-based interaction), and it preserves while facilitating manual refinement for testing. This tool is particularly useful for converting rooted to unrooted trees required by certain likelihood methods. Drawtree generates graphical representations of unrooted phylogenetic trees, aiding in visual interpretation and publication. It processes Newick input trees (with or without branch lengths) and produces output in formats like , PICT, or , suitable for printers or further editing in . Interactive options control tree orientation (radial or rectangular), branch styles, font selection (from ), scaling, and inclusion of length labels or species names, with a Java-based preview for adjustments. Based on algorithms for unrooted layouts, it handles multifurcations and ensures proportional branch rendering when lengths are provided, though it focuses on display rather than statistical overlays. For rooted trees, the companion Drawgram offers similar functionality with cladogram or phenogram styles. These programs enhance workflow integration by converting text-based trees into publication-ready figures.

Algorithms and Methods

Distance-Based Methods

Distance-based methods in PHYLIP involve first estimating pairwise evolutionary distances from sequence data using substitution models, then constructing phylogenetic trees from the resulting distance matrix via clustering algorithms. These approaches assume that evolutionary distances can be summarized in a matrix and that trees can be built by minimizing deviations between observed and expected distances. PHYLIP implements several models for distance estimation, tailored to DNA or protein sequences, which correct for multiple substitutions and account for different evolutionary processes. Tree construction methods then infer topologies that best fit the additive or ultrametric properties of these distances. For DNA sequences, the Jukes-Cantor model provides a foundational approach, assuming equal frequencies and uniform substitution rates among the four bases. The distance d is calculated as d = -\frac{3}{4} \ln\left(1 - \frac{4}{3}p\right), where p is the observed proportion of sites differing between two sequences; this correction accounts for unobserved multiple substitutions at the same site. The Kimura two-parameter model extends this by distinguishing s (purine-to-purine or pyrimidine-to-pyrimidine changes) from s, reflecting their differing rates in nature. The distance is given by d = -\frac{1}{2} \ln(1 - 2P - Q) - \frac{1}{4} \ln(1 - 2Q), where P is the proportion of s and Q is the proportion of s. For more complexity, the F84 model (Kishino and Hasegawa, 1989) incorporates unequal frequencies and a / parameter, enabling distances that better reflect base composition biases and rate differences in real data. Protein distances in PHYLIP can use several models, including the Dayhoff (Percent Accepted Mutations) model, which uses empirical probabilities derived from alignments of closely related proteins. The PAM matrix scales evolutionary change to 1% accepted mutations per site, with distances computed via matrix logarithms or eigenvalue decomposition to estimate the expected number of ; the default model is the Jones-Taylor-Thornton (JTT) matrix. This approach captures amino acid-specific replacement patterns observed in . Tree-building from these matrices employs for ultrametric distances, assuming a where branch lengths are proportional to time since ; it clusters taxa sequentially by averaging distances, producing rooted trees suitable for constant-rate . For additive distances without a clock assumption, Neighbor-Joining iteratively joins the least-distant pairs, adjusting for outgroup influences to minimize total branch length, yielding unrooted trees that handle rate variation effectively. Programs like Dnadist and Protdist generate the matrices, while and (a clock-constrained variant) perform the clustering.

Character-Based Methods

Character-based methods in PHYLIP optimize phylogenetic trees by directly evaluating character states across taxa, aiming to minimize evolutionary changes or ensure consistency without invoking metrics. These approaches treat each —such as sites, positions, or morphological traits—as independent units, scoring trees based on the number or cost of state transitions required to explain the observed data. Unlike distance-based methods, they preserve the original information, making them suitable for datasets with , non-numeric states. PHYLIP implements these via specialized programs that employ or exact searches to explore tree space efficiently. Fitch parsimony, a foundational unordered multistate algorithm, assumes all state changes are equally likely and reversible, scoring a tree by the minimum number of transitions needed across all characters. The method uses a two-pass dynamic programming approach: a downward pass intersects possible states at internal nodes based on descendants, followed by an upward pass resolving ambiguities from ancestors, yielding the parsimony length as the total state changes. This efficient O(nk) algorithm, where n is the number of taxa and k the number of characters, is implemented in PHYLIP's DNAPARS program for DNA sequences and PROTPARS for proteins, enabling branch-and-bound or exhaustive searches for optimal trees. Sankoff parsimony extends Fitch parsimony to weighted scenarios, incorporating a cost matrix for state transitions to account for differential evolutionary probabilities, such as higher costs for reversals in morphological traits. It employs dynamic programming on the , computing minimum costs at each by minimizing over possible states weighted by child subtree costs, formalized as C(v, s) = min over t { cost(s,t) + sum over children C(child, t) }, where C(v, s) is the minimum cost at node v for state s. PHYLIP's parsimony programs support site weighting but do not implement general Sankoff parsimony with user-defined step-matrices; programs like use Wagner and Camin-Sokal methods for two-state characters with global rearrangements. Compatibility methods focus on identifying the largest subset of characters that fit a perfect phylogeny without , reformulating the problem as finding a maximum in a compatibility graph where nodes represent characters and edges indicate mutual consistency. For (0/1) data, two characters are compatible if their state distributions do not require conflicting bifurcations on any ; the uses branch-and-bound to enumerate cliques exhaustively. PHYLIP's program applies this to discrete two-state data, outputting the largest compatible set and the implied , useful for noisy datasets where might overfit.

Probabilistic Approaches

PHYLIP implements probabilistic phylogenetic inference primarily through maximum likelihood (ML) estimation, which seeks the tree topology, branch lengths, and model parameters that maximize the probability of observing the sequence data given an evolutionary model. The likelihood function is defined as L = \prod_{i=1}^{s} P(D_i \mid T, \theta), where s is the number of sites, D_i is the data at site i, T is the tree topology with branch lengths, and \theta represents substitution model parameters. This approach provides a statistical framework for evaluating evolutionary hypotheses by incorporating explicit models of nucleotide substitution and rate variation. For protein sequences, the PROML program implements ML using empirical models such as JTT or WAG, analogous to DNAML for DNA. To efficiently compute the likelihood on a given tree, PHYLIP employs Felsenstein's pruning algorithm, a dynamic programming method that calculates partial likelihoods by recursively summing probabilities from leaves to root, avoiding exhaustive enumeration of all possible ancestral states. This algorithm enables scalable evaluation of complex models on unrooted trees and is central to programs like DNAML for DNA sequences. For tree search, PHYLIP uses a prune-and-regraft strategy involving global rearrangements, where subtrees are pruned from branches and regrafted elsewhere to explore topology space, combined with local optimizations like nearest-neighbor interchanges. PHYLIP supports several substitution models to account for evolutionary processes. For DNA data, the default is the HKY85 model, which incorporates unequal base frequencies (\pi_A, \pi_C, \pi_G, \pi_T) and a transition/transversion ratio (\kappa, typically set to 2.0), allowing for different rates between purine/pyrimidine transitions and transversions. To model among-site rate heterogeneity, gamma-distributed rates are approximated using 4 to 6 discrete categories via the quadrature method, with an optional proportion of invariant sites (Gamma+I model); alternatively, a permits user-specified rate categories (up to 9) with discrete probabilities and rates. Hypothesis testing in PHYLIP leverages estimates for statistical comparisons. Likelihood ratio tests (LRTs) assess model adequacy, such as comparing uniform rates against gamma-distributed rates by evaluating twice the difference in log-likelihoods against a . Tree comparisons use the Kishino-Hasegawa test or Shimodaira-Hasegawa test to evaluate differences in likelihoods across multiple topologies, accounting for sampling variability. These methods, implemented in programs like DNAML, facilitate rigorous inference under probabilistic models.

Usage and Implementation

Running PHYLIP Programs

PHYLIP programs are typically installed by compiling the source code using a C such as , with instructions provided in the source distribution's Makefile for platforms including , Windows via , and macOS; alternatively, pre-built executables are available for download on Windows, macOS, and distributions, requiring no compilation. Note that users on recent macOS versions should check the official bug reports for any compatibility issues with pre-built executables and consider compiling from source if necessary. These executables are placed in an "exe" directory and run via the command line or terminal without any . To execute a PHYLIP program, users invoke it from the terminal by typing the program name, such as dnaml for DNA maximum likelihood analysis, optionally prefixed with ./ on systems if the current directory is not in the . Input and output are redirected using standard shell operators, for example, ./dnadist < infile > outfile to process a from the file "infile" and write results to "outfile". In interactive mode, the program prompts the user for configuration options, such as whether to analyze multiple datasets (responding with Y or N via the M menu option) or to set a (via the J option, entering an between 1 and 4,294,967,293 in the form 4n+1 for reproducibility). For batch processing, users prepare an input file containing predefined responses, such as "Y" on the first line to affirm all default yes prompts, and run the program with redirection like dnaml < input > screenout & on Unix/Linux systems to execute in the background. Pipes facilitate automated input, as in echo Y | dnapars < infile > outfile, allowing non-interactive runs suitable for scripting or large-scale analyses. Error handling includes using an "intree" file for predefined trees, specified via the U menu option to avoid reconstruction prompts and reduce failures in tree-dependent programs. Platforms support these operations entirely through terminal commands, with no reliance on graphical interfaces. A representative workflow might involve redirecting sequence data into seqboot for , then piping the output to dnadist for calculation, all in batch mode to generate multiple replicates efficiently.

Integration with Other Software

PHYLIP supports seamless integration with multiple sequence alignment tools by accepting input in its native interleaved or sequential PHYLIP , which can be exported directly from programs such as Clustal Omega and MAFFT. Clustal Omega, the current version of the Clustal multiple alignment , includes options to output aligned sequences in PHYLIP via command-line flags like --outfmt=phylip, facilitating their use as input for PHYLIP's phylogenetic inference programs like PROTPARS or DNADIST. Similarly, MAFFT, a high-performance tool, provides the --phylipout option to generate PHYLIP-formatted output, enabling users to pipe alignments directly into PHYLIP workflows for downstream analyses such as construction or tree building. For enhanced usability within statistical computing environments, the Rphylip package (archived from CRAN in 2022) offers a comprehensive interface to PHYLIP, allowing users to execute PHYLIP commands programmatically and parse resulting outputs, such as trees and distance matrices, into R data structures for further manipulation and visualization. This integration bridges PHYLIP's command-line heritage with R's ecosystem, supporting tasks like analyses via functions that wrap programs such as SEQBOOT and CONSENSE, and enabling seamless incorporation into R-based phylogenetic pipelines. PHYLIP is also incorporated into broader automated workflows for phylogenomics through platforms like Galaxy and Nextflow. In Galaxy, a web-based platform for reproducible analyses, PHYLIP tools are wrapped via suites such as Osiris, which provide user-friendly interfaces for running programs like DNAPARS or PROML on large datasets, integrating them with alignment, model selection, and visualization steps in shared workflows. Nextflow pipelines, such as nf-PhyloTree, leverage PHYLIP for generating bootstrap consensus trees from genomic data, automating parallel execution across compute clusters while handling input conversions and output processing in containerized environments. For computational efficiency on large-scale datasets, MPI-PHYLIP extends PHYLIP's capabilities by parallelizing intensive routines like PROTDIST and SEQBOOT using the Message Passing Interface (MPI), achieving near-linear speedups on distributed systems for protein family phylogenies (last updated in 2010). PHYLIP's output trees, formatted in the standard Newick notation, ensure compatibility with visualization and post-processing tools. FigTree, a Java-based tree viewer, directly imports Newick files from PHYLIP programs like or FITCH, allowing interactive annotation, rerooting, and export for publication. Likewise, DendroPy, a Python library for phylogenetic computing (version 5 as of 2024), reads and manipulates PHYLIP-generated Newick trees, supporting operations such as tree comparison, simulation, and conversion to other formats like NeXML for integration into Python-based analyses.

Limitations and Alternatives

Known Limitations

PHYLIP primarily operates as a software package, with core programs lacking a native (), though visualization tools like Drawgram and Drawtree have Java-based GUIs. This design contributes to a steep for users unfamiliar with programming or terminal-based environments. Third-party interfaces, such as Rphylip, can mitigate some issues by providing easier input handling within . This requires manual preparation of input files in a rigid format, including fixed-length labels of exactly 10 characters, further complicating for non-experts. Scalability remains a significant constraint due to the package's age and computational demands. Exact tree searches (via branch-and-bound) in programs like DNAPENNY or PROTPENNY are feasible only for small datasets, typically fewer than 15-20 taxa, as the growth in possible topologies renders larger analyses impractical without excessive time. methods, while applicable to larger inputs, become slow for datasets exceeding 1000 sequences, often requiring hours or days on standard hardware owing to sequential processing and intensive calculations. PHYLIP does not support advanced evolutionary models such as codon-based substitution models or partitioned likelihood analyses, limiting its applicability to complex genomic datasets where site-specific heterogeneity or synonymous/nonsynonymous rate distinctions are crucial. Additionally, the package provides no built-in Bayesian (MCMC) inference, relying instead on maximum likelihood, , and distance-based approaches. Older versions of PHYLIP imposed strict memory limits, capping analyses at around 100 taxa and 5000 sites due to fixed sizes in the Pascal . Although later releases implemented dynamic allocation to handle larger inputs, the core programs are not optimized for multi-core processors, necessitating external extensions like MPI-PHYLIP for parallel execution on modern hardware.

Comparison to Modern Phylogenetic Tools

PHYLIP, while foundational in phylogenetic , exhibits notable trade-offs when compared to modern tools optimized for maximum likelihood () inference, such as RAxML. PHYLIP's PROML program implements ML searches but is generally slower for large datasets due to less efficient search heuristics and lack of advanced parallelization. In contrast, RAxML employs rapid bootstrap algorithms and MPI/ parallelization, enabling efficient handling of massive phylogenomic alignments with minimal loss in accuracy. However, PHYLIP's straightforward and modular structure make it preferable for educational purposes, where simplicity aids in teaching core ML concepts without the complexity of RAxML's parameter tuning. Compared to Bayesian inference software like MrBayes, PHYLIP lacks integrated posterior sampling capabilities, relying instead on classical ML or distance methods that do not account for phylogenetic uncertainty through (MCMC) exploration. MrBayes excels in generating posterior distributions of trees, providing robust measures of node support via posterior probabilities, which is essential for complex datasets with rate heterogeneity. PHYLIP's distance-based programs, such as DNADIST and , offer advantages for rapid analyses of smaller alignments, delivering quick approximations without the computational overhead of Bayesian sampling. In terms of and branch support, PHYLIP falls short relative to IQ-TREE, which incorporates advanced tools like ModelFinder for automated selection among a broader array of models, including complex mixtures and partitions not natively supported in PHYLIP's programs like DNAML or PROML. PHYLIP primarily accommodates basic models such as JC69, K80, HKY85 for nucleotides, and JTT or for proteins, limiting its applicability to diverse evolutionary scenarios. IQ-TREE further enhances reliability with SH-aLRT tests for approximate likelihood ratio branch supports, offering faster and more precise alternatives to PHYLIP's traditional , particularly for ultrafast assessments on large trees. PHYLIP's modular design, comprising discrete programs for specific tasks like sequence alignment conversion or tree manipulation, provides flexibility for custom workflows and integration into scripts, contrasting with all-in-one graphical user interfaces (GUIs) like MEGA that prioritize ease of use for beginners but reduce customization options. This modularity suits advanced users building pipelines, whereas MEGA's integrated environment streamlines routine analyses at the expense of scalability for extensive scripting or parallel processing.

References

  1. [1]
    PHYLIP general information - GitHub Pages
    PHYLIP (the PHYLogeny Inference Package) is a package of programs for inferring phylogenies (evolutionary trees). It is available free over the Internet.
  2. [2]
    PHYLIP (Phylogeny Inference Package)
    This is a FREE package of programs for inferring phylogenies and carrying out certain related tasks. At present it contains 31 programs.Missing: software | Show results with:software
  3. [3]
    PHYLIP Home Page
    PHYLIP is a free package of programs for inferring phylogenies. It is distributed as source code, documentation files, and a number of different types of ...PHYLIP on the Web · Get me PHYLIP · Installing PHYLIP 3.6 · Programs
  4. [4]
    main
    Summary of each segment:
  5. [5]
    PHYLIP: Phylogeny Inference Package. Version 3.2. Joel Felsenstein
    PHYLIP: Phylogeny Inference Package. Version 3.2. Joel Felsenstein ... history, The Plant Journal 104, no.66 (Nov 2020): 1673–1684. https://doi.org ...
  6. [6]
    (PDF) Phylip and Phylogenetics - ResearchGate
    This paper provides an overview on Phylip package and its applications and contribution to phylogenetic analyses.
  7. [7]
    Older versions of PHYLIP - GitHub Pages
    Many older versions of PHYLIP are available from our server. These were in Pascal, and what you will find there is the Pascal source code and the documentation ...
  8. [8]
    PHYLIP programs and documentation - GitHub Pages
    PHYLIP, the PHYLogeny Inference Package, consists of 35 programs. There are documentation files for each program, in the form of web pages in HTML 3.2.Missing: core functionality
  9. [9]
    PHYLIP - Free Software Directory
    License: bsd-2-clause. Leaders and contributors. Contact(s), Role. Joe Felsenstein, contact. Resources and communication. Audience · Resource type · URI ...
  10. [10]
    [PDF] A primer to phylogenetic analysis using Phylip package
    ... Phylip version 3.62. Phylip. Phylip is a comprehensive phylogenetic analysis package created by Joseph Felsenstein at the. University of Washington. This ...Missing: accessible | Show results with:accessible
  11. [11]
    documentation for (0,1) discrete character programs
    One of the programs (Pars) allows multistate characters, with up to 8 states, plus the unknown state symbol "?". For the others, the characters are assumed to ...Missing: ordered | Show results with:ordered
  12. [12]
    PHYLIP Programs
    ### PHYLIP Programs Summary
  13. [13]
    Molecular Sequence Programs
    INPUT FOR THE DNA SEQUENCE PROGRAMS​​ The input format for the DNA sequence programs is standard: the data have A's, G's, C's and T's (or U's). The first line of ...
  14. [14]
    OVERVIEW OF THE INPUT AND OUTPUT FORMATS
    The first line of the input file contains the number of species and the number of characters, in free format, separated by blanks (not by commas).Missing: specifications | Show results with:specifications
  15. [15]
    Distance matrix programs
    The input format for distance data is straightforward. The first line of the input file contains the number of species. There follows species data, starting, ...
  16. [16]
    The Newick tree format - GitHub Pages
    The Newick Standard for representing trees in computer-readable form makes use of the correspondence between trees and nested parentheses.Missing: output | Show results with:output
  17. [17]
    phylip
    PHYLIP, the Phylogeny Inference Package, is a package of programs for inferring phylogenies (evolutionary trees). It has been distributed since 1980.
  18. [18]
    [PDF] A primer to phylogenetic analysis using the PHYLIP package
    Jul 11, 2006 · What is PHYLIP? PHYLIP is a comprehensive phylogenetic analysis package created by Joseph Felsenstein at the University of Washington. This ...Missing: accessible | Show results with:accessible
  19. [19]
    dnadist
    - **What Dnadist Does**: Computes a distance matrix or similarity table from nucleotide sequences for phylogenetic analysis, estimating total branch length between species pairs. Compatible with Fitch, Kitsch, or Neighbor programs.
  20. [20]
    protdist
    ### Summary of Protdist (https://phylipweb.github.io/phylip/doc/protdist.html)
  21. [21]
    restdist
    ### Summary of Restdist (https://phylipweb.github.io/phylip/doc/restdist.html)
  22. [22]
    fitch
    ### Description of Fitch Program
  23. [23]
    kitsch
    ### Summary: UPGMA-like for Clock Assumption in Kitsch
  24. [24]
    neighbor
    ### Summary of Tree-Building Methods in PHYLIP (Neighbor)
  25. [25]
    Dollop -- Dollo and Polymorphism Parsimony Program
    This program carries out the Dollo and polymorphism parsimony methods. The Dollo parsimony method was first suggested in print by Le Quesne (1974)Missing: Sears | Show results with:Sears
  26. [26]
    Mixed method discrete characters parsimony
    INPUT FORMAT​​ The input for Mix is the standard input for discrete characters programs, described above in the documentation file for the discrete-characters ...
  27. [27]
    Pars - Discrete character parsimony
    Pars is a general parsimony program which carries out the Wagner parsimony method with multiple states.Missing: Seqpars | Show results with:Seqpars
  28. [28]
    Dnaml -- DNA Maximum Likelihood program
    This program implements the maximum likelihood method for DNA sequences. The present version is faster than earlier versions of Dnaml. Details of the algorithm ...
  29. [29]
  30. [30]
  31. [31]
    Proml -- Protein Maximum Likelihood program
    This program implements the maximum likelihood method for protein amino acid sequences. It uses the either the Jones-Taylor-Thornton or the Dayhoff probability ...Missing: PML | Show results with:PML
  32. [32]
  33. [33]
    protpars
    ### Summary of PROTPARS Program in PHYLIP
  34. [34]
    seqboot
    Seqboot is a general bootstrapping and data set translation tool. It is intended to allow you to generate multiple data sets that are resampled versions of the ...
  35. [35]
    Consense -- Consensus tree program - GitHub Pages
    Consense reads a file of computer-readable trees and prints out (and may also write out onto a file) a consensus tree.
  36. [36]
    retree
    ### Summary of Retree Program in PHYLIP
  37. [37]
    Drawtree and Drawgram - GitHub Pages
    They are legally publicly distributable. Most other font families on the market are not public domain and I cannot afford to license them for distribution. Some ...
  38. [38]
    [PDF] Jukes T H & Cantor C R. Evolution of protein molecules. (Munro H N ...
    Feb 16, 1990 · It was published in Munro's book in 1969, and the article has 110 printed pages. Citations to our long article relate only to the following ...Missing: original paper
  39. [39]
    [PDF] Evolutionary Trees from DNA- Sequences - a Maximum-Likelihood ...
    Summary. The application of maximum likelihood techniques to the estimation of evolutionary trees from nucleic acid sequence data is discussed. A computa-.
  40. [40]
    [PDF] dayhoff-1978-apss.pdf
    The 1 PAM matrix can be multiplied by itself N times to yield a matrix that predicts the amino acid replace- ments to be found after N PAMs of evolutionary ...
  41. [41]
    Saitou&Nei87.pdf
    No information is available for this page. · Learn why
  42. [42]
    PARSIMONY IN SYSTEMATICS - Annual Reviews
    DOES EVOLUTION PROCEED PARSIMONIOUSLY? In their original paper on discrete-characters parsimony, Camin & Sokal (2) suggested that the method was based ...
  43. [43]
    Evolutionary trees from DNA sequences: A maximum likelihood ...
    The application of maximum likelihood techniques to the estimation of evolutionary trees from nucleic acid sequence data is discussed.Missing: PHYLIP | Show results with:PHYLIP
  44. [44]
    General help for CLUSTAL X (2.0)
    PHYLIP format output can be used for input to the PHYLIP package of Joe Felsenstein. This is a very widely used package for doing every imaginable form of ...<|control11|><|separator|>
  45. [45]
    a multiple sequence alignment program - Mafft
    MAFFT is a multiple sequence alignment program for unix-like operating systems. It offers a range of multiple alignment methods.Manual (v6.240) · Tips · Algorithms · WindowsMissing: PHYLIP | Show results with:PHYLIP
  46. [46]
    Rphylip: an R interface for PHYLIP - Revell - 2014
    Jul 19, 2014 · In particular, his package of phylogeny programs, PHYLIP (Felsenstein 1989, 2013), first released in 1980, is among the most highly cited ...Missing: origins | Show results with:origins
  47. [47]
    Osiris: accessible and reproducible phylogenetic and phylogenomic ...
    Jul 2, 2014 · Osiris can serve as a foundation for other phylogenomic and phylogenetic tool development within the Galaxy platform. Keywords: Phylogenomics, ...
  48. [48]
    RenzoTale88/nf-PhyloTree: Generate IBS bootstrap tree in ... - GitHub
    phylip. Running the pipeline. The pipeline can be run as a regular nextflow workflow: nextflow run RenzoTale88/nf-PhyloTree --infile $PWD/mybedfile --ftype ...
  49. [49]
    MPI-PHYLIP: Parallelizing Computationally Intensive Phylogenetic ...
    This paper discusses the methodology used to parallelize the PHYLIP programs and reports the performance of the parallel PHYLIP programs that are relevant to ...
  50. [50]
    FigTree - Molecular Evolution, Phylogenetics and Epidemiology
    Exported NEWICK trees now have a terminal semi-colon. Text boxes in control panels are now editable again. Polar trees with 'Align Tip Labels' could cause ...
  51. [51]
    DendroPy: a Python library for phylogenetic computing | Bioinformatics
    Apr 25, 2010 · DendroPy can read and write trees in NEXUS, Newick and NeXML formats, and read and write character data in NEXUS, PHYLIP, FASTA and NeXML ...
  52. [52]
    [PDF] Phylip and Phylogenetics - Global Science Books
    Since October of 1980, Joseph Felsenstein, University of. Washington, has created Phylip as a free package of prog- rams for inferring phylogenies. Phylip was ...Missing: origins | Show results with:origins
  53. [53]
    [PDF] The RAxML-VI-HPC Manual
    (RAxML does not use PHYLIP components for this any more) which are also significantly faster (up to factor 10 on 25,000 taxa) than the originally used ...
  54. [54]
    RAxML-III: a fast program for maximum likelihood-based inference of ...
    The advantage of RAxML-III over PHYML consist in a more exhaustive analysis of search space which results in improved final likelihood values and in the ability ...Abstract · INTRODUCTION · RELATED WORK · ALGORITHM
  55. [55]
    Bayesian and maximum likelihood phylogenetic analyses of protein ...
    Jan 28, 2005 · In this work we compare and contrast results obtained using two popular software programs, PROML [34] and MrBayes [31], as well-developed ...
  56. [56]
    A Comprehensive Protocol for Bayesian Phylogenetic Analysis ...
    Apr 20, 2025 · Bayesian methods, particularly those implemented in MrBayes [11], provide a robust probabilistic framework for estimating phylogenetic trees and ...
  57. [57]
    PHYLIP - Evolution and Genomics
    PHYLIP is a set of modular programs for performing numerous types of phylogenetic analysis. Individual programs are broadly grouped into several categories.
  58. [58]
  59. [59]
    W-IQ-TREE: a fast online phylogenetic tool for maximum likelihood ...
    W-IQ-TREE provides a number of methods to assess the reliability of internal branches: standard bootstrap (22), the SH-aLRT (4), aBayes test (8) and the ...
  60. [60]
    MEGA: A biologist-centric software for evolutionary analysis of DNA ...
    Apr 16, 2008 · The Molecular Evolutionary Genetics Analysis (MEGA) software is a desktop application designed for comparative analysis of homologous gene sequences.Missing: modularity | Show results with:modularity