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 test versions 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).
- Snow Leopard and later (OS X 10.6+; compiled with icc): PAUP_dev_icc.zip
Note regarding font issues on OS X: Some users have reported that PAUP* refuses to launch
(particularly after upgrading to El Capitan), complaining that the “Required font ‘MesloLGS-Regular” was not
found in the application package." This probably indicates corruption in the system font tables rather than
a problem with the PAUP* application bundle. A fix that has consistently worked is to kill the "fontd" process
using the Activity Monitor program. This process will be automatically restarted and will rebuild the font
tables, and PAUP* will now launch successfully.
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 paup4a150_osx_leopard.
- Mac OS X:
- No separate command-line version is needed. Just download and run the installer for the GUI version. A console (command-line) version
will also be installed, and can be run by entering "paup" at a command prompt.
- 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.
PAUP* test-version release notes
Version 4.0a150 (current)
This release is mainly to fix an SVDQuartets bug that was inadvertently introduced in the previous version.
- Writing of treefiles containing trees from each SVDQuartets bootstrap-replicate was broken in 4.0a149
(all trees in the treefile were identical).
- Fixed incorrect setting of partitioned-likelihood model after automated model partitioning
- The system for generating random numbers has been completely overhauled. The old method used
a multiplicative congruential method with a prime modulus of 231 - 1 and a multiplier of 397204094.
This generator had very good statistical properties (e.g., it was also used in the SAS system for many
years), however it has a relatively short period (the number of values generated before the sequence
begins to repeat) of 231-2 ≈ 2.1 x 109.
Although the previous generator was perfectly fine for the bootstrapping and permutation tasks
for which it was previously used, I am working on a new internal simulator for which a longer-period
generator is needed. The standard generator now uses the KISS method developed by George
Marsaglia, which has a much longer period, about 2124 ≈ 10124.
You can still request the old generator using the command "
before beginning an operation that uses random number generation (e.g., bootstrapping).
You can restore the default behavior using the command "
I have also changed the method for specifying starting seeds. By default, the initial seed
value is set to 0, which results in the initial seed being obtained from a nondeterministic
random number generator provided by the operating system. The probability that two runs could
start with the same seed when using a system-provided seed is now extremely small (relevant, e.g.,
for starting multiple jobs simultaneously on a cluster). Also, if you provide your own (nonzero)
seed, it will no longer be updated automatically after a command that uses random number generation.
Repeating a command without changing the starting seed should now produce exactly the same results.
If you use a nonzero seed and want to use a different random number sequence for the second
invocation of a command, you will now need to specify a new seed explicitly.
- A PAUP block with an "outgroup" command is now included in bootstrap treefiles written by
- SVDQuartets now allows use of the "Erik+2" normalization of Fernández-Sánchez and Casanellas (2016),
as well as the ability to specify an arbitrary expected rank for the flattening matrix (e.g., to allow
for site mixtures due to heterotachy).
Important notes regarding SVDQuartets:
The SVDQuartets method is very new and we are still learning things about how to implement it well.
Please read the following list of changes carefully and re-run any analyses that might have been
- Improved accuracy:
The primary method used for singular value decomposition in PAUP* is the DGESDD routine from
the LAPACK library (which is also used by R, MATLAB, and much other numerical software). We have
discovered that the singular values returned by this function can be inaccurate for "sparse"
flattening matrices containing many zero entries (i.e., when many of the 256 possible site
patterns for 4 taxa are not observed). Very small singular values can occur in this case,
and sometimes values that should be exactly zero are instead returned as small positive values.
The numerical inaccuracy can be great enough to cause the wrong quartet topology to be preferred,
or one of the topologies to be chosen as best when in fact all three topologies have equal scores.
Several modifications to the code have been made to improve accuracy under these conditions. First, rows
and columns containing all-zero entries are removed prior to SVD (which does not affect the
estimated rank of the matrix). In addition to improving accuracy of DGESDD, in some cases, this
matrix reduction makes SVD calculation entirely unnecessary, as the rank of the matrix cannot be
greater than min(number of rows, number of columns). Second, when all three of the quartet
topologies have very similar scores, an additional SVD is performed using a slower, but more accurate,
LAPACK routine (DGEJSV); the singular values returned by this routine are then used to calculate
the quartet scores. Third, if the scores for all three topologies for a quartet are equal (within
a tolerance for floating-point roundoff error), the quartet is simply discarded. (Previously, one
of the three resolutions was kept, and the decision as to which one was chosen was impacted
by the numerical inaccuracy described above).
These changes are most likely to affect data sets with relatively small numbers of sites, or
data sets containing two or more very similar sequences. If at all possible, please repeat
any previous analyses to make sure that the results were not affected.
- Other SVDQuartets issues:
- Bug fix: The number of consistent/inconsistent quartets was reported incorrectly in
species-tree SVDQuartets analyses (i.e., when using a taxon partition to assign lineages or
samples to species).
- Bug fix: The progress bar did not update properly during SVDQuartets bootstrap.
- Bug fix: The program did not respond to user-abort request in SVDQuartets bootstrap.
- Bug fix: A crash could occur when memory allocation failed in SVDQuartets due to very
large numbers of taxa.
- Enhancement: Partial ambiguities (R, Y, etc.) are now incorporated into the SVDQuartets
flattening matrix. Use the command defaults svdquartets ambigs=missing; prior to
running SVDQuartets to restore the old behavior (although it's hard to imagine a reason for
- Enhancement: The SVDQuartets solution found by QFM quartet assembly may now input to
SPR local search for (possible) further improvement. Additional options for the quartet-assembly
step will be opened up in a future version. For now, you can use one of the commands:
defaults qsearch localsearch=nni;
defaults qsearch localsearch=spr;
defaults qsearch localsearch=tbr;
to request local search via NNI, SPR, or TBR branch swapping, or:
defaults qsearch localsearch=none;
to restore the default behavior (no local search).
These commands may significantly increase the search time for data sets containing larger
numbers of taxa. Note that currently, the defaults qsearch command must be issued prior to
initiating an SVDQuartets analysis; this awkward interface will be improved soon.)
Other bugs fixed:
- After deleting taxa, crashes sometimes occurred when showing constraint trees (and even if no crash occurred, tip labels on tree
were usually incorrect).
- Non-unit character weights were not always used correctly in likelihood analysis.
- Tree length calculations were incorrect with asymmetric stepmatrix characters and all-missing ancestral states (the "standard"
ancestor). Trees found in tree searches were obviously incorrect, and tree scores reported in the search output did not match
the scores output by the "Pscores" (Tree Scores->Parsimony) command.
- Branches were being collapsed inappropriately with asymmetric stepmatrix characters and all-missing ancestral states, possibly
producing star topologies. The same bug caused minimum and maximum branch lengths to be reported incorrectly in the
table of branch lengths output by the DescribeTrees command, and ancestral state reconstructions to be obviously incorrect.
- The partition homogeneity test produced completely bogus results when partition subsets contained excluded characters, or when
some characters were not assigned to any partition subset.
- The partition homogeneity test inadvertently included one extra character in each randomized subset, affecting the distribution of
tree lengths for randomized partitions. This bug was probably inconsequential for all but extremely small data sets.
- The "Reweight Characters" command was not dealing properly with more than one tree in memory.
- Crash occurred when balanced minimum evolution (BME) distance search was combined with random addition sequence.
- Output of tree names for trees read from treefiles was off by one (e.g., "PAUP_2" rather than "PAUP_1").
- Autopartitioning could crash when using AICc if the number of sites in a subset was not at least two larger than the number
of model parameters.
- Crash occurred if an exact parsimony search was attempted immediately after a heuristic likelihood search.
- Windows installer failed to install a DLL needed to run the console (command-line) version.
- Fixed cosmetic glitch in Likelihood Settings dialog box.
- The format for specification of 6ST (GTR) rate matrices in the LSet command has been relaxed. In addition to the
old format in which five values (rAC, rAG, rAT, rCG,
and rCT) are supplied and the last rate (rGT), is assumed to be "1", you can now specify all 6 rates.
Furthermore, there is no longer a requirement that this last rate be "1". You can use any values you like, and the matrix will
automatically be rescaled such that rGT=1. E.g. the following are now all equivalent:
- rmatrix=(1 2 1 1 4)
- rmatrix=(1 2 1 1 4 1)
- rmatrix=(2 4 2 2 8 2)
- rmatrix=(0.1 0.2 0.1 0.1 0.4 0.1)
- Options for negative branch-length handling now work for Balanced Minimum Evolution (probably only relevant for constrained searches).
- Compatibility with the Geneious plugin has been restored.
- Eliminated external dependency on system LAPACK/BLAS libraries. All LAPACK code is now included in the source distribution and
compiled and linked entirely within PAUP's normal build system.
This version was not released, and changes since 4.0a147 are described above.
This is primarily a bug-fix release, but significant progress has been made on new features that will be
opened up in a future version.
SVDQuartets users please read!
An important change has been made to the quartet assembly phase of the SVDQuartets method. Even though the Reaz et al. "QFM"
algorithm was performing well with most data sets, it obtained very poor solutions with some larger data sets.
The problem was traced to the initial partitioning for each "divide" stop of the divide-and-conquer
algorithm. A new strategy was implemented for this partitioning, replacing the corresponding component of QFM.
With this new method, QFM performs much better, typically running more quickly than previously and often finding better
solutions than other competing algorithms.
Because of these changes, it is strongly recommended that any previous analyses be re-run using this new version to confirm
that they were not adversely affected by the deficiencies of the previous algorithm.
- SVDQuartets finds extremely suboptimal trees under certain circumstances (see above).
- Crashes sometimes occur with combination of random-addition-sequence and steepest-descent search.
- Overall probabilities of ancestral-state reconstruction probabilities are not correct with site-specific-rates models.
- Likelihood calculations are inaccurate under Mk and Mkv models when the number of states is variable across characters and
the (default) mkstatespace=variable option is in effect.
- The weighted SH test sometimes reports an incorrect P value of 0 (or some other obviously incorrect value).
- Trees found using quartet puzzling are not kept in memory.
- Reading of treefiles in Newick format (i.e., not Nexus) fails when all-digit taxon labels are present.
- Patristic distance and homoplasy matrices output using the DescribeTrees command are incorrect (this bug goes back a long way).
- Last line of single-site likelihoods is not output when last character in data matrix is excluded.
- Crashing during attempt to change default settings from Automodel and Export-Data dialogs.
- Likelihood calculated incorrectly with combination of rooted trees, non-clock model, and user-input branch lengths.
- Crash occurs if 'X' is used as an amino-acid character state.
- Control of single- versus double-precision calculation of likelihood scores is now handled using a
new LSet option (precision=single or precision=double).
- The ability to combine hold>1 with random addition sequences in stepwise addition has been restored.
- Code for parsimony using asymmetric cost matrices was completely refactored to eliminate multiple bug-fix
- Code for handling conditional-likelihoods was refactored in order to support GPU computation using the
Beagle library (forthcoming).
- Accuracy of conditional-likelihood rescaling was improved with no noticeable performance penalty (and
possibly even a speedup for very large data sets).
- More under-the-hood changes were made in preparation for partitioned likelihood models.
- Many code cleanups in anticipation of releasing an open-source version.
- SVDQuartets is now much faster when the data contain a high proportion of missing and/or ambiguous states.
- Likelihood evaluation of rooted trees under non-clock models is now supported.
- SVDQuartets crashes or obtains invalid results after deletion of taxa.
- SVDQuartets with treeInf=curtrees crashes after a previous run in which bootstrapping was performed.
- SVDQuartets bootstrap tree is inappropriately rooted if analysis follows a search in which rooted trees were obtained.
- SVDQuartets crashes with some data sets if the 'showScores' or 'showSV' options are used.
- P value for SH test is erroneously reported as "0.0" when two trees being compared are identical or have equal likelihood scores.
- Crashes or other misbehavior occurs with amino-acid input files containing stop codes (these are now automatically
converted to "missing").
- Attempting to plot a NJ tree as an unrooted tree causes a crash.
- Out-of-bounds memory write occurs when reading constraint trees containing currently deleted taxa, usually leading to a crash.
- If a partitioned ClockChecker analysis is done and then a new data set is executed (or the previous one is re-executed),
a crash ensues if a subsequent ClockChecker command is invoked without explicitly assigning a new character partition.
- Results of reading in treefiles is no longer being reported.
- Altered width of output display window is not preserved between sessions in Windows version.
- Output of single-site likelihoods for Mkv model may contain obviously invalid values.
- ML branch length optimization is borked after an "OK to optimize rather than using user branch lengths?" query.
- Gray lines on trees (for indicating negative branch lengths) are sometimes too faint (I now use dotted lines instead).
- Parsimony analyses complain erroneously about "tree length overflow" with polymorphic asymmetric stepmatrix characters
containing more than 2 states.
- PScores formatting with non-integer scores uses scientific notation inappropriately, e.g., if a stepmatrix contains fractional
- Asymmetric stepmatrix tree length calculations are sometimes incorrect in SPR/TBR searches.
- A crash sometimes occurs after estimating site-specific rates via ML and then using "lset siterates=previous;"
This version addresses major problems with the previous version released about 3 weeks ago (I was rushing to get
an update finished before a workshop, and my testing was inadequate after making a complicated under-the-hood change
intended to reduce memory usage). The problems were mostly, but not entirely, associated with the deletion of taxa
(and there may well have been problems in addition to those reported below). There may still be a few related issues,
but I wanted to get an update out as soon as possible.
In adition, there was a problem with the ML settings dialog interface that caused use of the "previous" buttons
associated with model parameter estimates to have no effect (model parameters were still subsequently estimated by ML
when the interface claimed to have set them to fixed values). Searches were then excruciatingly slow, as model
parameters were being estimated for each tree evaluated in a search, which I never recommend doing.
Finally, the bug with the partition homogeneity (=ILD) test was not completely fixed as reported in 4.0a144.
Results were valid only if (1) characters in each partition subset were contiguous and (2) there were exactly two
subsets in the partition. (Unfortunately, these conditions were both true for the data set that caused me to recheck
the test, and I didn't test other cases.) I am satisfied that the test is now working correctly when characters
in each subset are not contiguous (e.g., codon positions) as well as when more than two subsets are present.
- A new SVDQuartets option allows saving of trees from each bootstrap replicate to a treefile.
- You can now plot both the inferred tree (point estimate) as well as the bootstrap consensus tree after performing
an SVDQuartets analysis (GUI versions).
- Crashes occur in multiple contexts after deleting taxa (including pruning of deleted taxa from existing trees
at the time of deletion, computing consensus trees, etc.).
- Clicking on the "previous" buttons associated with model parameters in the "Likelihood Settings" dialog box
appear to set the parameters to fixed values, but this change was not actually registered when the dialog was
- Results from the partition homogeneity test are invalid if characters in each partition subset are not contiguous
or if there are more than two subsets in the partition.
- The "append" option on the "Log" command does not work correctly.
- Crashes sometimes occur after loading a Nexus file containing only taxon data (i.e., no data matrix).
- Very small files (<256 bytes) are converted from Unix/OSX line endings to "Classic Mac" when saved from the
editor (Mac version).
- Messages like "Object 0x467c2d0 of class NSSound autoreleased with no pool in place - just leaking"
are written to console log.
- Message is incorrectly issued that a file was externally modified after doing "Stack Editor Windows" (Mac version).
- SaveTrees command crashes if no prior tree search was performed (e.g., only the "generateTrees" command is issued).
- The "ClockChecker" command is now available. ("Automated Clock Tests" in the Analysis menu of Mac/Windows versions).
For one or more rooted trees initially in memory, a likelihood-ratio test as well as AIC/BIC comparisons are made for
models that enforce a clock vs. models with unconstrained branch lengths. The analysis may be performed for the entire
data set, or for subsets of the data defined by a character partition ("charpartition"). When a character partition is
used, subsets of characters (sites) can be excluded if they are determined to be non-clocklike according to any desired
LRT or AIC/BIC threshold.
Serious bug fixed:
- The partition homogeneity (=ILD) test has been reporting invalid results for an unknown amount of time. Apparently,
I broke it as a side effect of an unrelated change, but I didn't notice this because I no longer use this method
myself and I hadn't gotten around to writing an automated build test.
I apologize for this error. Unfortunately, you will need to rerun any analyses with this test that you have performed
with any of the "4.0a" builds of PAUP*.
- Options are now available for writing the design and/or expected-distance matrices to files in the "DScores" command.
- The number of permitted ambiguity combinations has been increased. The number of character states plus the number
of ambiguity combinations can now be up to 254.
- AIC, AICc, and BIC options are now available in TreeScores:Likelihood dialog box.
- "Parsimony approximations" are no longer available in TreeScores:Likelihood dialog box. This old option is no longer
relevant for modern analyses.
- Bootstrap analysis with SVDQuartets crashes with "non-species-tree" analyses (i.e., when a taxon partition is not
used to assign tip taxa to species).
- Minimum-possible tree length is sometimes calculated incorrectly when "N" is used as a character state, leading to incorrect
values for the consistency index and related fit measures.
- Informativeness under parsimony is sometimes incorrectly determined when the data contain ambiguity codes. Apart from output
that indicated the number of parsimony-informative characters, the only real consequence of this bug is that some uninformative
characters might have been retained when the intent was to exclude uninformative characters (since these characters were actually
uninformative, their presence should not affect the trees found in searches, but might cause discrepancies in tree lengths
compared to earlier versions).
- g%SD was reported incorrectly in output resulting from least-squares distance analysis.
- "Showtrees" crashes in some situations when no data are present.
- No error message is issued when the internal limit on the number of ambiguity combinations used for polymorphism/uncertainty
- Treefile from "Save Trees" after SVDQuartets bootstrap uses wrong translation table.
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