PAUP* Test Version Downloads
PAUP* test-version downloads
Status of PAUP*:
PAUP* is undergoing rapid changes, and will soon be available as a quasi-commercial program
with a full GUI interface for both Macintosh OSX and Microsoft Windows and a free, open-source command-line
version. While final development and testing is underway, we are making these test versions available
as a free download. They will expire every few months, and you will need to update when this happens.
Versions can updated using either an auto-updating system (GUI version) or just returning to the
download site (both versions).
Once we have decided to make an official release of the GUI version,
it will no longer be freely downloadable, and it will no longer auto-update. At that time, however,
the command-line version will become non-expiring, free, and open source.
You are welcome to use these versions in the meantime, however I cannot promise any support or
guarantee correctness or accuracy. Use at your own risk. Please send any bug reports to me directly
Macintosh OS X Leopard (GUI version; universal binaries):
Note: After extracting the downloaded file (if necessary), you may need to right-click the icon
and choose Open the first time (to get around the warning that the application is from an unknown developer).
Windows GUI version:
This version now officially requires Windows 7 (either 32- or 64-bit), but probably runs under Vista
as well. (If sufficient need could be demonstrated, I could probably supply a version for Windows XP, but I am
hoping not to do this.) There may be a few as-yet-undiscovered glitches in the dialog boxes, so please report these
if you encounter them.
Note: After gunzip'ing the downloaded file (if necessary), you may need to make it
executable using a command like chmod a+x paup4a142_osx_leopard.
- Mac OS X:
- Intel Linux:
Choose a flavor that works for you. These binaries should work on other Linux distributions as well,
but let me know (email@example.com) if you can't get any of them to run.
Note that Linux versions of PAUP* now require the LAPACK library as a dependency. If it is not already
installed on your system, you will need to install it before PAUP* will run. The easiest way to do this is to
use a package-manager utility like apt-get or yum (seek help from google if necessary).
Version 4.0a142 (current):
This update fixes several bugs affecting likelihood, distance, and SVDQuartets analyses. In addition, a console (command-line) version
is also now installed along with the Windows GUI version (after installation, you should be able to invoke this console version by typing
"paup" in a command-prompt window).
- Exhaustive quartet sampling is now permitted with "species-tree" analyses using SVDQuartets.
- Two-state (presence/absence) data may now be analyzed using SVDQuartets.
- Criterion for preferring evaluation of all-possible quartets changed: now have a simple switch for using exhaustive
evaluation if the number of quartets would be less than that specied by "nquartets".
- SVDQuartets is faster in Windows version due to a change in the way the LAPACK routines are implemented.
- The model chosen by automated model selection ("automodel") is not always set as the default model for subsequent analyses,
despite output that indicates otherwise.
- Crash occurs if a "species-tree" analysis (i.e., with a taxon partition) is attempted with fewer than four species-subsets
- SVDQuartets does not work correctly after deleting taxa.
- Crashing and/or invalid results when using Mk model after taxon deletion.
- Branch-and-bound sometimes fails to find any trees for distance analyses when no character-data matrix is present (this bug possibly
had ramifications that extended to other kinds of searches and sorts).
- "Append" option on Log command does not work correctly in some versions.
- SVDQuartets leaks memory if bootstrap analysis is canceled before the first replicate has completed.
- Branch-and-bound searches crash if the number of non-deleted taxa is a multiple of 64.
- "Nexus Options" dialog in Windows version contains duplicated/missing items.
- Log-likelihood scores for ML analyses with amino-acid data are sometimes invalid for trees that are large enough to require
conditional-likelihood rescaling (the calculation was correct for non-vectorized double-precision evaluation; the bug only affected
rescaling with vectorized calculations using SSE).
- Distance searches did not always respect the "precision" setting when outputting tree scores.
This release addresses numerical problems in the Windows version that sometimes cause premature termination of maximum-likelihood
optimizations. Windows users should update to this version; the most recent Mac/Linux release remains 4.0a140.
- Automated partitioning (and probably other likelihood optimizations) stops without reporting any results.
This release addresses a memory corruption issue that primarily affects the Windows version. All Windows users should
update if they are doing maximum likelihood analyses. Mac users should update as well unless it is inconvenient for
- Crashes occur unpredictably in the MS-Windows version when maximum-likelihood analyses are performed using
single-precision arithmetic and SSE vectorization (which is the default setting).
- A crash occurs if the "LSet" command is issued before data have been loaded (all versions).
This is yet another quick bug-fix release to fix a stupid mistake I made while rushing to get an update ready for
a workshop. The bug was serious; please apply the update. Also check the release notes for previous versions if you
have not already done so..
- Likelihood of models containing both gamma-distributed rates and invariable sites ("+I+G") is calculated incorrectly.
This is a quick bug-fix release to address several issues with maximum likelihood in verison 4.0a137.
Please see the release notes for that version as well.
- Crashes, freezes, or incorrect calculations after changing likelihood models.
- Files output from LScores are no longer compatible with JModelTest and MrModelTest.
- Crashes on the second or later ML analysis using the GTR model.
- The SVDQuartets species-tree method of Chifman and Kubatko is now available (see Chifman, J., and Kubatko, L. 2014.
Quartet inference from SNP data under the coalescent model. Bioinformatics 30:3317–3324.)
- Partitioned likelihood models are now available (from the command line only). Unfortunately, I have not had a chance
to document how to use them, but this will be a high priority, as will dialog-box support for the Mac and Windows versions.
- Likelihood of the "unconstrained" (multinomial) model can now be computed when missing/ambiguous data are present,
using the method of Waddell (2005). This calculation is usually fast, but it might be slow for very large data sets
with a lot of missing data. Consequently, you need to request unconstrained likelihoods as a new option on the
LScores command (or by checking the relevant box in the Tree Scores->Likelihood dialog box).
- Calculation and output of AIC(c) and BIC scores is now supported in the LScores command (Tree Scores->Likelihood
- Taxon labels in plotted trees are now auto-sized based on number of taxa and page size. Once the font size has
been explicitly set by the user, however, it remains in effect for the remainder of the run (or until it is reset again).
Maximum-likelihood bootstrapping has apparently been broken for over a year without me (or
apparently anyone else) noticing it. The problem was so severe that it is extremely unlikely that you would have
accepted the results as valid (in fact you probably would not have even been able to get a run to finish).
However, if you somehow managed to perform an ML bootstrap analysis with any version between 4.0a130 and
4.0a136, you need to repeat the analysis.
- ML bootstrapping fails to run correctly or produces obviously invalid results (see above).
- ML analyses do not always respect character weights intended to be treated as pattern-frequency counts.
- Memory is corrupted, leading to crashes or allocation failures, after changing parsimony character types.
- Tree lists do not handle multiple tokens (e.g., "lscores 2;" works but "lscores 2 5;" does not); bug introduced
at version 4.0a134.
- Statefreqs/Basefreqs command crashes if issued before any other model-based analysis has been performed.
- Option to set number of decimal places for branch-lengths in output treefiles is being ignored.
- Probabilities of state assignments for ML reconstructions (e.g., "lset allprobs; desc/xout=both;") are
not correct for some models (at least G+I)
- Ancestral-state reconstructions under Mk(v) models are not correct.
- Crashes after showing error message for unrecognized option on HSearch command.
- Windows-version: mouse-wheel activity while the recalled command-list is disclosed also scrolls the text
in the main display window.
- Slider controls are not updating the text values in the Windows-version Startup Preferences dialog.
- Output window width is not always in sync with output line length under Windows 7 (but OK under XP).
- Crash when attempting to plot unrooted NJ, bootstrap, etc., trees.
- LSet command output by Automodel includes all 6 components of the 6ST rate matrix. The last "1" causes
the command not to work if pasted back into the command or a file.
- Added "autopart" command and "Automated partitioning" menu command to choose partitioned models a la PartitionFinder.
(Partitioned models are not yet supported in PAUP*, but the output from this command can be used to set up partitioned models
in Garli or RAxML.)
- Added "subtreecolor" command to specify colors on plotted trees for subtrees induced by a list of taxa (OSX version only).
Do "subtreecolor ?;" for syntax (e.g., "subtreecolor red 1-3 5-8;"). Similar commands are available for coloring only the tip
labels ("tipcolor") or both the subtree and the tip labels ("taxcolor").
- The default setting for reading treefiles has been changed to automatic storing of branch lengths and tree weights
unless storeBrLens=no or storeTreeWts=no is explicitly requested. (These options are still useful if treefiles
contain many trees and the branch lengths and/or tree weights are not needed, in which case they
can consume a lot of memory unnecessarily.)
- Added an option to suppress showing of taxon (tip) labels on graphical tree plots.
- Made a few tweaks to graphical tree drawing that arguably improve appearance.
- Output command-line equivalent when optimality criterion is changed from the Analysis menu.
- Restored support for "nowarn" option on ClearTrees command. The option does nothing, but this restores backward
compatibility with old scripts.
- L-BFGS optimizer fails on some data sets with clock models under default (Thorne) parameterization.
- Bootstrap support values written to treefiles were either garbage or associated with incorrect nodes.
- Parsimony analysis crashes with asymmetric stepmatrix characters.
- Optimization of G+I models is incorrect under clock model with some parameterizations.
- Glitches with formatting/truncation of tree scores for output (e.g., pscores); introduced in 4.0a134.
- Crash or other misbehavior after deleting taxa when no trees were in memory.
- Crash with topology constrained distance searches.
- User-input branch lengths are not retained when trees are pruned after deletion of taxa.
- Fixed truncation of user-input branch lengths to integer values when describing trees in the absence of a data matrix.
- SaveDist command ignores "append" option.
- K2P distances were incorrectly calculated as "zero" when the only differences between two taxa were transitions.
This version was not distributed. See release notes for 4.0a136.
- The "automodel" command ("Automated Model Selection" on the Trees menu) is now available. This command emulates
the function of the ModelTest/JModelTest programs without having to run a separate standalone program. Models
may be chosen from one of four model sets (corresponding to those in JModelTest) using the AIC, AICc, BIC,
and DT criteria.
- Additional care is now undertaken when optimizing ML models containing both gamma-distributed rates and
a proportion of invariable sites ("G+I"). Most importantly, an occasional problem is now avoided where ending
at a local optimum causes the likelihood of a more complex model to be worse than that of a simpler model
nested within it.
- Minimum output width is now 100 characters, which requires a display with at least an 800x600 screen
resolution. (I just needed a little more breathing room for some output tables.)
- The long-deprecated "nowarn" option on ClearTrees command has been removed; I assume you wouldn't issue
the command unless you were already sure you didn't want to clear the trees.
- Files containing multibyte unicode characters are being truncated when saved from Mac editor.
- NJ/UPGMA segfaults in command-line version when saving to treefile is requested.
- Interface freezes if a list item is double-clicked in "Show Reconstructions" dialog box on Mac.
- Improve font appearance in Windows version.
- Improve installer and auto-update interface in Windows version.
- "Restore Open Documents" events are now ignored in the Mac version. Previously, documents that were open the last
time PAUP* was quit were triggered to re-opened by the operating system. However, this causes problems for PAUP* when
the default starting mode is "Execute" but the document being re-opened is not an executable NEXUS file.
- Crash occurs while processing character-partitions entered in "vector" format.
- Crash occurs with likelihood if the number of unique site patterns is less than the number of multithreaded tasks.
- "Find" fails in Mac editor if document contains multibyte Unicode characters.
- Setting of gapMode to "newState" from GUI is ignored.
This version was not distributed.
- Fixed crashing when rate matrix parameters for GTR model were estimated by maximum likelihood.
After a bit of soul-searching, I have decided to change the default multithreading setting to be a
single thread. Previously, I queried the system for the number of cores available and defaulted to one thread per
core. The problem with this method is that many machines now have a large number of cores, and using this many
threads degrades rather than enhances performance. Also, on a machine running multiple long jobs, better system
performance is obtained by not having all of these jobs compete for the same set of cores. This is is especially
relevant for jobs running on HPC clusters using the Sun Grid Engine for scheduling--the operating system will
happily report that (say) 16 cores are available even though there are already 15 other jobs running on a node.
So now, if you want to use multithreading for maximum likelihood calculations, you must explicity specify
lset nthreads=n; (where n > 1) before beginning a likelihood analysis (or use the
equivalent setting from the "Optimization" pane of the "Likelihood Settings" dialog box). You will probably want
to do some experimentation to determine the best value for nthreads--two to four may be better than one, but
depending on the size of the data, requesting too many threads will be detrimental. You can also use
lset nthreads=auto; to obtain the old behavior of using one thread per core.
- Balanced minimum evolution is now available for distance analysis, either from the Distance Settings dialog box or by using
"objective=bme" from the DSet command.
- Likelihood scores are now written to score-file in sorted order (unless single-site likelihoods are requested).
- By default, character/taxon partitions and ratesets are now output as lists of character numbers rather than in the previous
"dot-plot" format. The old format is still available by specifying "/dotplot" on the ShowCharPtns, ShowTaxPtns, and ShowRatesets
commands, or by choosing the relevant menu items from the "Show Other" submenu.
- Many internal changes were made in anticipation of support for partitioned likelihood models. I had hoped
support for partitioning would materialize for this release, but there are still too many issues remaining to be
- Fixed problem with output of single-character tree lengths to score-file using PScores (Tree Scores->Parsimony) command
(the lengths for the last tree were output for every tree in the file).
- Fixed crashing or other misbehavior of BaseFreq command ("Base/AA Frequencies" menu command).
- Fixed context-dependent crashing of the Likelihood Settings dialog box.
- Fixed failure to compute a valid kernel agreement subtree (KAST) or Adams consensus tree, due to the same underlying cause.
- Fixed crash after closing "Permutation tests..." dialog box.
- Fixed crash during constrained search if taxa were deleted after a previous constrained search was completed.
- Fixed possible crash while showing histogram from exhaustive search when the number of histogram classes exceeds the range of tree
- Fixed failure to respect the "taxlabmatch=relaxed" setting.
- Fixed possible crash after using DiscardData command (due to failure to reallocate a default ML model).
- Fixed failure of branch-and-bound search to save optimal tree(s) with large-ish data sets.
- Fixed crash with branch-and-bound search under distance criterion.
- Fixed a problem with filtering trees when convexity constraints were in effect.
- Fixed cosmetic glitches in "Evaluate random trees" dialog box.
- Fixed help window popping up if used clicked in the "Base weight" field of the Reweight Characters dialog box.
- Fixed several glitches in Windows-version dialog boxes.
- Fixed glitch in Windows-version Edit menu causing some items to not be displayed.
- "Execute " item in File menu is now updated after a "Save As" to a different name.
- Fixed possible failure of "Find" window in editor not appearing due to being located offscreen.
- Fixed failure to remember previous main window location if it was to the left of the monitor containing the menu bar.
- Fixed possible failure to redefine the "MissAmbig" character set correctly after taxa were deleted.
- Fixed problem with export of data containing characters with multistate taxa with datatype=standard.
- Fixed problems with output of estimated model parameters to tree-score file from LScores.
- Restored compatibility of LScores tree-score file with Shimodaira's CONSEL program.
- Fixed crashing with 2-state (Cavender-Farris) ML models when vectorization was in effect.
- Fixed glitches in graphical tree plots when the default "show as phylogram" setting was changed to "cladogram" (e.g.,
the wrong tree was sometimes shown when multiple trees were stored in memory).
- Fixed crashing with exhaustive search under distance-based optimality criteria.
- Fixed incorrect calculation of likelihoods under Mk(v) model when number of observed states was variable across characters and
molecular clock was enforced.
- Fixed output of patristic distance and homoplasy matrices associated with "DescribeTrees" command.
- Fixed broken Windows-version auto-updater.
- Multiple characters blocks now auto-create a charpartition 'Chars' with subsets defined by block names specified in TITLE commands.
- Charsets can now also be specified as charPtnName.subsetName, where charPtnName is a previously defined
charpartition, and subsetName is the name assigned to one of its subsets.
- Fixed problems with combination of conditional-likelihood rescaling, invariable-sites models, and multithreading. Rescaling was
not being done correctly, with the result that data sets and trees containing larger numbers of taxa were more strongly affected.
- Fixed problems with ancestral-state reconstruction and single-site likelihood calculation when vectorization was enabled.
- Fixed problem in code for checking character partitions that caused ML site-specific rates and partition
homogeneity test to fail.
- Improved robustness of parameter estimation when the model of among-site rate variation includes both gamma-distributed
rates and a proportion of invariable sites.
- Fixed more problems with multiple characters blocks (including cleanup after memory allocation failure).
- Fixed spurious quoting of taxon names when importing FASTA-format files.
- Fixed hang or crash if state-frequencies were estimated under GTR model but rate matrix was fixed.
- Fixed crash if single-site likelihoods were requested with Mkv model.
- Fixed problems saving files with file or directory names containing non-ASCII characters.
- Eliminated memory leak if character or taxa partitions are redefined.
- Editor caret is placed at the beginning of a document created by importing a foreign format, rather than leaving it
at the end of the document.
Yes, I know. The previous version (4.0a126) was a disaster. I decided to add support for multiple Characters blocks in
Nexus input files in order to support (e.g.) Mesquite-generated files that were causing PAUP* to crash. This turned
into a big mess and I had to rush a version out for the European Molecular Evolution Workshop, Several new bugs were
introduced during this period. Unfortunately, I then I got hopelessly busy on
non-PAUP-related projects and couldn't work on the program for a while.
Anyway, the problems fixed in this release include:
With regard to multiple Characters blocks, note that TITLE and LINK blocks created by Mesquite are currently ignored.
If you use multiple Characters blocks, they must conform to a preceding Taxa block (i.e., the same taxa, in the same
order). Eventually I may try to improve support for Mesquite's extensions to the Nexus format, but this is a start.
- Failure to retain charsets, taxsets, etc. following a Data or Characters block.
- Failure to respect the "respectCase" option in the Format command of a Data or Characters block.
- Completely broken likelihood analysis for amino-acid data.
- Crashing when reading in user-supplied distances using a Distances block.
- Crashing of 64-bit versions when reading trees containing output comments (e.g., files output by Garli).
- Minor issues associated with file-selection dialogs.
- %SD values with least-squares distances using weight powers other than 2 were being calculated incorrectly in the
DScores command (but not DescribeTrees).
- Failure to output a consensus tree if it was completely unresolved, and fixed possible problems with showing
a consensus tree when input trees were rooted.
- Crashing in consensus-tree calculation when midpoint rooting was enabled.
- "CountSwaps" command crashing when topological constraints were being imposed.
This version also provides a few additional fixes and improvements:
- Linux and MacOSX/10.5+ builds now contain support for embedded Python. Documentation will come soon.
- In GUI versions, the "ToNexus" command can now be used to import files in formats other than Nexus directly into a
new editor window (by not specifying a "tofile"). Previously, it was only possible to send the converted data to a
- Include-exclude characters dialog box is now much more responsive in Mac version when the number of characters
shown in the lists is extremely large.
- Provided an option for retaining underscore characters in taxon names, charsets, etc., rather than converting to
whitespace (use "Nexus Options" dialog box or "set underscore=[keep|convert];" from the command line).
- Support for import of distance matrices in Phylip and Relaxed Phylip format has been improved. A bug causing
import of Phylip-formatted to fail was fixed.
- Distance matrices may now be exported in either traditional or relaxed Phylip formats.
- Added ability to read user-supplied least-squares weights for distance analysis (arcane for most users).
- Added some new capabilities least-squares distances, including exponential weights and "geometric" versions of
the percent standard deviation statistic (see Waddell et al. 2010,
This build was not generally released..
- Fixed bug in AU test that could cause incorrect P values, crashes, or freezes in cases where a candidate tree was never the best
tree in any bootstrap replicate. It appears that in most cases, the effects of the bug were inconsequential, causing a small P value
to be reported as a different small P value (often within the range of the bootstrap error variance). However, it is possible that
it could have caused more serious errors, and rerunning any analyses that may have been affected is recommended.
- Improved speed of storage and retrieval of large numbers of trees by using better hashing strategies.
- Fixed some problems with inability to open files using relative pathnames in file specifications.
- Added a new mode to the "CD" command: "CD *;" from an active input file explicitly sets the current
working directory to the directory containing this file.
- The default setting for handling character weights in bootstrap analysis has been changed to the more natural "treat as repeat
counts" option. Note that this option cannot be used if character weights take noninteger values; in that case an error message will
now be issued unless one of the other options for weight-handling is specified.
- Added "taxcolor" command to specify colors for taxon labels on plotted trees.
- Import of relaxed-Phylip format data files now works correctly with taxon names longer than 10 characters.
- GammaPlot command no longer requires a data matrix (which was silly).
- Tree storage is now more efficient when a substantial number of the original taxa have been deleted.
- Fixed bogus error message that agreement-metric tree distances could not computed because one or more taxa were missing
from the tree, when taxa had indeed been deleted but the tree contained only non-deleted taxa.
- Fixed crash with ML distances and 6ST substitution models.
- Fixed crash with bootstrap under distance criterion when using ML distances.
- Fixed possible hang if a calculation thread completed while ab error message alert was active (unlikely, but possible).
- Eliminated spurious message about uninformative characters not being included in Goloboff
scores in output of parsimony scores for individual characters, when Goloboff weighting was not in
- Eliminated spurious message about constant characters being ignored under Mkv model when criterion was not likelihood.
- Fixed output glitches with Goloboff-parsimony tree scores (showing of too many decimal places, failure to show tree lengths when
Goloboff parsimony was active).
- Fixed possible crash if more than 255 characters were typed into the Mac-version command line.
- Fixed possible crash with ABC tree-to-tree distances if an input tree was a star tree or if more than 128 taxa were present
and at least one input tree was nonbinary.
- Fixed incorrect output of command-line equivalent when "UPGMA" was chosen as the search method in the "Bootstrap/Jackknife"
- Fixed incorrect jackknife sampling when character weights were present and the "simple" option for weight handling was requested.
- Catch user-entered tree-number of "0" as an error, rather than crashing.
- Fixed problem with scoring of distance trees containing negative branch lengths (introduced in 4.0a124).
- Removed some debugging output accidentally left enabled.
- The "usertree" command is now available. It can be used to quickly input a single tree without having to deal
with the complexity of a full Trees block.
- Importing of distance matrices in Phylip and relaxed Phylip format is now supported.
- Alphanumeric names are now recognized in tree lists when trees have non-integer names (the integer number
can still be used).
- Exporting to Phylip (character-data and distances) now replaces blanks with underscores appropriately, depending
the context (tree descriptions vs. data/distance matrices)
- Switched to "Meslo LG" as the main display and default editor font--Apple's Menlo Regular font had
problems with the width of the '%' glyph as well as some other undesirable features, and the previously used
Deja Vu Sans Mono had issues with the hyphen (too short) and the tilde character (not curvy enough to be
easily distinguishable from a hyphen).
- Tightened up Print/Preview Tree(s) code, trying to fix an elusive crashing bug reported by users that I
haven't been able to reproduce.
- More "under the hood" work in preparation for partitioned/mixture models (hopefully this didn't break anything)
- Fixed some minor interface issues:
- incorrect radio-button titles in Gaps panel of Parsimony Settings dialog (Windows version only)
- cursor remaining as watch cursor after cmd-S in Mac editor
- better error diagnostics when end-of-file is reached unexpectedly while executing a file
- The Macintosh OS X editor has been completely rewritten for OS X Leopard and later (now based on the Cocoa
NSTextView class rather than the buggy and poorly supported Multilingual Text Engine [MLTE]). Improvements
- support for Unicode text
- fast search and replace
- ability to handle arbitrarily long lines
- elimination of problems involving tabs
- user-selectable fonts
- zippier performance in general
- Added calculation and output of the "Kernel Maximum Agreement Subtree" (KAST) along with previous agreement
subtree calculations. The KAST is the subtree containing only those taxa found in every optimal agreement subtree.
- Added "Defaults" buttons to "Import Data", "Export Data", and "Get Trees", and "Save Trees" dialogs so that users
can choose their own preferences for the default settings.
- Changed the command-line flags for Unix and Mac command-line versions, going to a more standard POSIX/Gnu-like
system. This may break some people's scripts that use the old flags for starting PAUP*, but it just had to be done.
You can run start paup with the -h or --help flags to get a summary of the options, and modifying the script to use
the new syntax should be trivial.
- Added command-line argument support for invoking the Mac GUI version of PAUP* from the prompt in a terminal window
or from a script. (Ordinarily, you would just use the non-GUI version instead, but there are circumstances
where the ability to invoke the GUI version without relying on the Finder is handy.)
- Multithreading is now working for ML calculations in the Windo