-------------------- Version 4.0b8/4.0d78 -------------------- FIXES since version 4.0b7: Note: Most of these bugs also existed in 4.0b6 and earlier versions but had not been reported at the time 4.0b6 was released. However, at least the first two are new and the first is serious (they were introduced as unanticipated side-effects of a change made to fix a different bug in 4.0b6). - Fixed completely broken bootstrap with neighbor-joining search (all bootstrap values were being reported as 100%). (Kerstin Hoef-Emden, Thomas Friedl) - Fixed refusal to do bootstrap with non-integer weights when using parsimony criterion. (Greg Litzenberger) - Fixed possible incorrect tree-length calculation with asymmetric stepmatrix characters, sometimes resulting in suboptimal trees being saved rather than optimal ones. (Emmanuel Douzery) - Fixed possible crashes and/or anomalous Exsets menu-checking in Include-Exclude Characters dialog box. (Meredith Mahoney) - Fixed reporting of number of replicates performed in partition- homogeneity and permutation tests (previously it was being shown as numberOfReps*numberOfSubsetsPerRep). (Alec Lindsay) - Correct message is now issued (rather than "out of memory") when attempting to perform a search with an uninformative constraint tree (i.e., one that is compatible with all possible trees). (Stefanie Zaklan) - Fixed incorrect behavior of constraints in Altivec version when constraint tree had more than 32 internal nodes. - Fixed crashing when "parsimony-based approximations only" was requested with the Likelihood Scores (LScores) command. (Paolo Zanotto, Shin Watanabe) - Fixed crashing or other misbehavior when doing "full" or "RELL" bootstrap evaluation of the significance probability for Kishino-Hasegawa and Shimodaira-Hasegawa tests when the data set contained a mixture of nucleotide and non-nucleotide characters (and the non-nucleotide characters were not explicitly excluded). (Ray Sullivan, Felipe Soto) - Fixed incorrect filtering using "best" (score) criterion when the "reverse" option was also requested. (Brian O'Meara) - Filter output now includes "best" criterion if it was requested. -------------------- Version 4.0b7/4.0d77 -------------------- FIXES since version 4.0b6: - Fixed incorrect calculation of HKY and "custom" distances when removal of a proportion of constant sites was also requested. (Tomas Hrbek) - Fixed abnormal termination or incorrect calculation of maximum- likelihood distances when either a proportion of invariable sites or gamma-distributed rates (or both) was specified. (John Archibald) - P values for RELL bootstraps (Kishino-Hasegawa and Shimodaira- Hasegawa tests) are now output correctly as "1.0" for two identical tree topologies. (Tod Reeder) - Fixed crashing of neighbor-joining bootstrap or jackknife when initiated from the menu interface *and* the data were DNA *and* a non-DNA distance was chosen via the Distance-Options of the neighbor-joining dialog that followed the bootstrap/jackknife dialog. (Nathaniel Mitkowski) - Fixed crash if more than 255 characters were entered on the Mac-version command line. (Torsten Eriksson) - Fixed inappropriate deactivation of "OK" button in Mac "Tree Scores: Parsimony" dialog box when all score-output options were turned off but KH/SH or "nonparametric" tests were requested. (Torsten Eriksson) - Fixed failure of branch-and-bound search to save any trees with least-squares distance criteria. - Fixed search-status window lying about the "collapse zero- length branches" setting with distance and likelihood criteria. (Steve O'Kane) - Fixed a problem that could cause likelihood scores for the same tree to be slightly different when evaluated in two successive LScores (Tree Scores:Likelihood) commands. The second evaluation sometimes started from branch-lengths left over from the first evaluation, and when the likelihood surface was irregular or flat the parameter-search would end up at different points. (Note that in this case likelihoods computed for the same tree on different platforms may also be slightly different because of differences in floating-point roundoff-error behavior; there is nothing I can do about this problem.) (Derrick Zwickl) - Fixed possible crash when "Edit Display Buffer" was requested on the Windows version. (Steve Jordan) - Eliminated inappropriate insertion of "#NEXUS" in Windows version when the "append" option was requested for a generated file (e.g., "SaveTrees"). (Derrick Zwickl) -------------------- Version 4.0b6/4.0d76 -------------------- IMPORTANT! DO NOT PUBLISH RESULTS BASED ON VERSION 4.0B5 UNLESS YOU ARE CONFIDENT THAT YOUR ANALYSES WERE NOT IMPACTED BY THE BUGS DESCRIBED BELOW. These bugs resulted from making a variety of "infrastructural improvements" in the code that had several unanticipated side-affects, followed by inadequate testing of the new code before 4.0b5 was released. The new version should be much more stable. Thanks to the many people who reported the following problems (unfortunately too many to name individually). FIXES since version 4.0b5: - Fixed bootstrap crashing with DNA-specific analyses (both distance and ML). - Fixed crashing of ML analyses that required single-site likelihoods (e.g., K-H or S-H tests) after a previous LScores command had been issued. - Fixed initialization-time crash with symmetric stepmatrix characters. - Fixed more problems (causing crashes or other misbehavior) when characters that were "missing" for all taxa were used in ML analyses. - Fixed failure to re-initialize the counter for the total number of included sites in DNA-specific analysis, affecting many analyses, such as ML analyses with estimation of the proportion of constant sites, boostrapping and jackknifing, etc. - Fixed omission of the estimated R-matrix from the ML score- file, which among other things made the score file incomatible with David Posada's ModelTest program. - Fixed failure of branch-and-bound search to save any trees in some cases. - Fixed crashing after showing frequency distribution of tree scores (exhaustive search or random trees). - Fixed crashing when showing the relative probabilities of each base assignment in ML character-state reconstructions after one or more characters had been excluded. - Fixed retention of suboptimal trees in distance analyses when the option to collapse zero-length branches was requested. (This bug goes back prior to version 4.0b5, and was reported by Matthew Spencer) - The option to collapse zero branch lengths in distance analyses is now ignored unless the option to prohibit negative branch lengths is also selected. - Changed threshhold for collapsing zero-length branches in likelihood from 10^-10 to 10^-8, eliminating (in at least some cases) saving of multiple trees that differed only because of extremely short branches. - Eliminated bogus warning on some platforms that all stepmatrix costs are zero after adjustment for triangle-inequality satisfaction. (also affected earlier versions; Gabriel Gutiérrez) --------------------- Version 4.0b5/4.0d75 --------------------- MAJOR FIXES since version 4.0b4a: - Fixed problems with use of "save N best trees" option in heuristic search. Previously, the trees found by this option could, in some cases, be worse than those found in a normal search. In fixing this bug, the code was redesigned so that the search path when saving the N best trees is identical to that when saving only the optimal trees. Now, unless the 'AllSwap' option is requested, exactly the same set of optimal trees will be found (up the the 'NBest' value in either case. (Peter Waddell, Rissa Ota) - ML distances were being horribly miscalculated if the number of taxa minus one exceeded the value assigned to the RescaleInt option (LSet command, default=25). The most obvious effect of this bug was to make quartet-puzzling ML analyses generate bogus results with 27 or more taxa when using the default option of "approximate likelihoods only" (UseApproxL=Yes). However, this bug could also have affected other analyses that used ML distances. (Jessica Eberhard, Vijay Aswani, Tony Wilson) - Fixed miscalculation of parsimony tree lengths in heuristic searches using asymmetric stepmatrix characters. Depending on the stepmatrix and data, the sometimes occurred sporadically, and other times dependably. When the bug kicked in, impossibly short tree lengths were obtained, and the tree length reported in PScores or DescribeTrees output disagreed with the length reported in the search results. (David Saul, Olaf Bininda- Emonds) - Fixed sporadic misculation of parsimony tree lengths in heuristic searches using irreversible characters. The bug was similar (but not related) to the asymmetric-stepmatrix bug above in that tree lengths reported in PScores or DescribeTrees output disagreed with the length reported in the search results. (Mark Wilkinson) - Fixed potential miscalculation of ML distances if characters containing missing data and/or ambiguities were otherwise constant. The effect of the bug was trivial (often not even detectable) unless a data matrix contained a large number of such characters. - Fixed a problem that could cause trees to be wrongly rejected as being suboptimal in an heuristic search under the minimum- evolution criterion when negative branches lengths were prohibited (which is not the default). The problem stemmed from the previously unrealized possibility that under the ME criterion, adding a branch-length nonnegativity constraint can actually improve the tree score (note that under more well- behaved criteria, including all others implemented in PAUP*, adding a constraint will either leave the score unchanged or make it worse). - Fixed a problem that could cause slightly suboptimal trees to be retained in searches under least-squares distance criteria when negative branch lengths were prohibited. - Likelihood scores calculated under the "Wts=Ignore" ML setting in the presence of unequal weights were slightly different from scores calculated with all characters assigned equal weight. The problem was that the weights were still being used in calculation of base frequencies, although they were being ignored in other contexts. - Fixed a problem that could cause integer overflow to go undetected when calculating tree scores using stepmatrices containing large integer values (> 1000). If you get a "tree length overflow" error message, you are advised to use decimal points in the stepmatrix in order to force use of floating-point evaluation of tree lengths rather than integer. MINOR FIXES since version 4.0b4a: - When optimizing branch lengths in ML analysis, branches are now always visited in the same order regardless of the current context. This avoids the problem of floating-point roundoff error causing slightly different scores to be assigned to the same tree for the same model settings. In one context, the roundoff error difference caused problems with tree searching: if a heuristic upper bound was used in a branch-and-bound search under the likelihood criterion, it was possible for the optimal tree to be rejected because it was worse than the initial bound by more than the tolerance value used for tree-score comparisons. (Thomas Buckley) - Fixed incorrect "nchar" setting (one too many) when trees were saved in matrix representation and either OutRoot=Monophyl or OutRoot=Paraphyl was in effect (rather than the default OutRoot=Polytomy setting). (Chuck Bell, Greg Deets) - The "Wts=Ignore" setting is now respected when assigning site- specific weights in ML analysis. - Fixed problems with floating-point exceptions that caused crashes on Dec Alpha (and possibly other) processors when fitting ML clock models with extreme values for some model parameters (e.g., high proportion of invariable sites, small gamma shape parameter, either set by user or arising during estimation). (Bill Ballard, Jessica Eberhard, John Wares, Bixia Ji, Kerstin Hoef-Emden) - Fixed crash due to floating-point exception when estimating base frequencies via ML during a search. (Alejandra Jaramillo) - Fixed crash or other misbehavior if the "enforce" option was specified on an NJ command but no constraints had previously been defined. (Sky Lesnick) - The "SwapMode=None" option (no branch swapping) is now prohibited with the T-PTP test. Branch swapping is necessary in order to search for trees that are incompatible with the specified constraint tree. This eliminates a bug that caused obviously bogus results if a T-PTP test was attempted with branch-swapping turned off. (John Trueman) - Fixed crashing in bootstrap or jackknife with DNA-specific analyses when one or more characters had the "missing" state for all (nondeleted) taxa. (Robb Brumfield) - Negative distances in user-input distance matrices are now reset to zero, and a warning is issued. (Paul Lewis) - Search status output in conjunction with permutation and partition homogeneity tests now includes information on constraint settings. (Andrew Mitchell) - Dotted lines for negative branch-lengths in phylogram output now print correctly when trees are plotted across multiple pages. (Keith Crandall, Etsuko Moriyama) - "Eliminated" (zapped) characters are now skipped without worrying about whether they contain valid character states according to the previously defined format. - Suppressed use of 'ApproxLim' in ML when branch lengths are started from an arbitrary value rather than the Rogers-Swofford (= default) or least-squares methods. - Fixed cosmetic glitch in slider controls of "Startup Options" dialog box, when running under MacOS 9. - Bootstrap/jackknife analyses are no longer terminated when rearrangement or time limits are hit during individual replicates. (James Fetzner, Brent Emerson) - Constraints-related items are now dimmed in the "Generate Trees" dialog box when the option to generate random (rather than all possible) trees is selected. (Andrew Hugall, Michel Milinkovitch ) - Log destination is now correctly changed using Macintosh menu mode when a log file is already active at the time the file- selection dialog is (re)entered. Previously, output continued going to the original log file even though the name of the log file was changed. - Eliminated refusal to allow quitting and related problems after a ConTree command was issued when no trees were currently in memory. - Fixed crashing if a character-state tree was assigned to a character for which the case of a state symbol in the data matrix did not match that of the corresponding symbol used in the usertype definition (even though the RespectCase=No setting was in effect). - Previously, if taxa were deleted while a filter was in effect, and the options to prune trees and condense trees that became identical after taxon-deletion was requested, only the trees that were retained by the filter were pruned. This caused a mixture of trees containing different numbers of taxa to be left in memory, leading to many problems when these trees were subsequently referenced. Now, the "prune" option is disallowed if a filter is in effect. However, if the "prune" option is requested, trees currently hidden by the filter will also be pruned. (David Maddison) - Fixed incorrect showing of internal node numbers in character- matrix listings after taxa were deleted (e.g., did not correspond to internal node labels on tree diagrams). (David Fitch, Paul Beuk, Andrew Mitchell) - Multistate taxa are now output correctly when data files are exported using the Nexus format. (Sean Graham) - Eliminated refusal to allow quitting after a quartet-puzzling analysis was attempted with fewer than 4 taxa. - Eliminated hang if user attempted to estimate ML model parameters after setting MaxPasses to zero. - Eliminated possible crash after ML analysis when using least- squares to get starting branch lengths. - The "!" command now works under Alpha/Linux (to execute a Unix command from the PAUP command line or to start a shell from within PAUP). - After a search finishes and the status window ³stop² button changes to "Close", the status line at the bottom of the PAUP window now indicates "Close status window to continue..." in the Windows version (as it always has in the Mac). (Ray Cranfill) - Fixed corrupted "symbols" field in exported NEXUS files. - Exact matches to option value fields are now prevented from being considered ambiguous (e.g., "SaveBootP=No" is not considered ambiguous because "SaveBootP=NodeLabels" is also a possible setting. (Olaf Bininda-Emonds) - User-specified base frequencies for ML are now correctly stored as startup defaults, if the user chooses to do that (not recommended). (Andrew Mitchell) - The "interleave" option is now enabled when exporting data files in NEXUS format. - No longer uses "e" format when outputting very large or small branch lengths to PHYLIP treefiles (which causes PHYLIP programs to choke). (Kerstin Hoef-Emden) - Combination of NBest>0 and replicated searches (e.g., bootstrap) is no longer allowed from the command line (this caused a crash). It was already being suppressed in the menu interface. - Likelihood scores can now be calculated for rooted trees without forcing use of the molecular clock (the likelihood score will be the same as for the equivalent unrooted tree). ENHANCEMENTS since version 4.0b4a: - The Shimodaira-Hasegawa a posteriori test of topology differences is now available in the Likelihood Scores (LScores) command. Both RELL and full-bootstrap versions are implemented. - RELL and full-bootstrap versions of the Kishino-Hasegawa are now available, supplementing the normal-approximation method used in previous versions (and other software). - The parsimony code has been extensively modified to take advantage of the Altivec (Velocity Engine) technology available on the G4 processors (Mac version only at present). Speedups on the order of 2 times can be expected (I have done only limited benchmarking to date). ML runs are also a little faster due to the use of special Altivec prefetch instructions and the use of Altivec- enhanced algorithms for the Rogers-Swofford branch-length initialization. - Greatly sped up optimization of ML substitution-model parameters when more than one parameter was being estimated (e.g., TRatio and Pinvar) and the clock-constraint was in effect. The following option: ParamClock = Standard|Rambaut|BrLens|SplitTimes|MDRambaut |Thorne now controls the choice among parameterization/optimization strategies. If ParamClock=Standard (which is the default), the multidimensional version of Rambaut's parameterization is used when one or more subsitution-model parameters are being estimated, rather than cycling between multidimensional optimization of substitution-model parameters and one- dimensional optimization of branch-length parameters as was done previously. If no parameters other than branch lengths are being estimated, the one-dimensional version of Rambaut's parameterization is used. To force a specific method to be used regardless of the number of parameters being estimated, use ParamClock=. - Made improvements in code for ML tree-searching that yield general speed increases of around 5-10% (equal-rates models) up to as much as 30-40% (gamma-distributed-rates models). - Calculation of tree scores under minimum-evolution and unweighted least-squares criteria is significantly faster due to use of improved algorithms developed in collaboration with David Bryant (especially when prohibiting negative branch lengths, where some large-taxon-number benchmarks run on the order of 10 times faster). - Calculation of tree scores under weighted least-squares criteria under branch-length-nonnegativity constraints is both faster and more accurate due to use of improved algorithms developed in collaboration with David Bryant. - Mac and Win32 versions now retain the top-level executed file in the Window menu when files are executed recursively (i.e., an executed file contains an "execute" command that starts another file). - Improved error-checking for user-entered numerical option values. - Improved error-checking for tree descriptions (invalid branch lengths are now caught). - "Ambiguous command/keyword abbreviation" error messages now specify the first two commands or keywords that were possible extensions of the abbreviation. - Added "ClearTrees" and "Prune" options for Undelete/Restore command (ignored unless the "/Only" option is also requested, in which case the effect of the command may be a deletion of currently nondeleted taxa). - Increased maximum length of taxon and character names to 127. These names are still truncated in normal output as in previous versions, however the longer names are stored and written back to files where relevant. Full taxon names are used in graphical tree output as well. This change eliminates a compatibility problem with MacClade 4.0. - Added a "Tree Drawing Options..." button to the Mac "Show Trees" and "Describe Trees" dialog boxes, providing a more convenient way to change options such as "Compress vertically", etc. - Made improvements to the general-purpose function minimizer that improve the numerical stability of likelihood-model parameter optimization. These changes include fixing an apparent error in the published version of Brent's "Praxis" routine plus implementation of a new sine-squared transformation to enforce lower and upper bounds on the parameter values. Previously, proposed points in the parameter space that were outside the feasible region (e.g., proportion of invariable sites outside of [0,1]) were simply forced to the nearest boundary of the feasible region, which worked surprisingly well most of the time, but caused problems in some cases. In many (most?) cases, new method yields faster convergence of the solution to an optimum. However, it seems to be prone to entrapment in local optima, and I have decided to keep this option "hidden" until it can be checked out more thoroughly. If you want to experiment with the new system, use the "OldBoundSys=No" option on the LSet command. - The Windows-version editor has been completely overhauled, using a superior edit control DLL (CodeMax). This fixes problems with crashing during search-and-replace operations, among other problems. OTHER CHANGES since version 4.0b4a: - Output of ML settings is now less wordy and has been reorganized (the old system was starting to get klunky and hard-to-read as more model options were provided). Also, the observed proportion of constant sites is no longer included in the ML settings output (but is now included in the Character Status output when the current optimality criterion is likelihood). - Abandoned support for non-ANSI compilers in portable-interface versions. Almost all compilers still in current use are ANSI compliant. I was continuing to support pre-ANSI compilers mainly for the compiler bundled with SunOS 4 systems, but almost every Sun owner in the world has switched to Solaris, and those that haven't can presumably use gcc for the compilation. - Eliminated scrolling to selection start when "copy" chosen in Macintosh editor. - Deeper nesting of recursively executed files is now allowed (now up to 5 levels). - A message is now output when the best trees found in an heuristic search are worse that a 'Keep' score set by the user. - Warning about excluded characters in character-partition subsets is less noisy when there are multiple such subsets. - Added 7F to the list of character codes that are ignored on input, fixing a problem that caused incorrect output display when input files contained invalid (nonprinting) characters. - Changed text of "relatively probability of this reconstruction" to "relatively probability of this (joint) reconstruction" when the relative probability was of an assignment of states to all ancestral nodes, but the current option setting was for marginal estimation of ancestral states. (Wayne Maddison) - Cleaned up code for outputting option-settings associated with optimality criteria in effect for searches, tree-score output, etc. - Added 'ShowTaxNum' to the options available on the ShowTrees command. - Eliminated the "Are you sure...?" query when the ClearTrees command was issued from the command line or a file. The 'NoWarn' option is no longer available. - Estimated instantaneous rate matrices (Q) are no longer output by default (only the symmetric component R is output). The "ShowQ" LSet option can be used to request Q-matrix output (and a corresponding option has been added to the Miscellaneous panel of the Likelihood Settings dialog box. - The "Replace All" command was removed from the Edit menu in the Macintosh version because of its nonintuitive usage. You can still do global replacements from the "Find" command. - 'Characters' blocks containing continous data (DataType= Continuous) are now skipped rather than causing the program to stop with an error message. This eliminates an incompatibility with MacClade- and Mesquite-generated Nexus files that contain such blocks. (Wayne Maddison) - 'Comment' commands are now silently skipped, for compatibility with Mesquite. (Wayne Maddison) --------------------- Version 4.0b4a/4.0d73 --------------------- FIXES/CHANGES since version 4.0b4: - Restored changing of button title in Macintosh search-status window to "Close" after completion of an heuristic or exact search. This code was "commented out" during the debugging for the search-status window problem fixed in 4.0b4, and I forgot to re-enable it. (David Morris) - Worked around MacOS bug that resulted in incorrect loading of editor window from a DOS- or Unix-formatted text file located on a remote Appleshare volume if the file exceeded 32767 bytes in size. - Changed system for dealing with number of rearrangements in an heuristic search exceeding the largest value that can be stored in a 32-bit integer. Now, a switch to floating-point storage of the number of rearrangements is made when this limit is hit. In the process, fixed problem with limit on number of rearrangements per replicate not working once the total number of rearrangements exceeded 2,147,483,647. (Mike Caterino) - Added error check for conflict between MulTrees=No option and saving of N best trees (Nbest > 0). (Rissa Ota) - Eliminated the "number of trees" line at the top of treefiles saved in PHYLIP format, which was causing problems with inputting these files to Rod Page's TreeView and PHYLIP programs like RETREE. (Sita Pappu) - Now uses clock time rather than elapsed CPU time to initialize pseudorandom number seeds in Unix and VMS versions, reducing chance that two analyses will use the same default starting seed. --------------------- Version 4.0b4/4.0d72 --------------------- NEW FEATURE: - A new option, "constraints=" has been added to the Generate (Trees) command. E.g., you can do: Generate All Constraints=MyConstraints; to request generation of all trees compatible with the constraint tree 'MyConstraints'. The "converse" option is also available, if you want to generate all trees NOT compatible with the specified constraint. OTHER FIXES/CHANGES since version 4.0b3a: - Fixed refusal of Windows version to open files with a ".nex" extension (or an extension for any other registered filetype) when the user's Windows system was set to "Hide MS-DOS file extensions for file types that are registered". (Tony Wilson, Celeste Leander, Claudia Arango, Ingo Busse, Catharine Pook, Sarah Mathews, Joao Munoz, Matthew Craig, Oscar Salazar, Pradeep Uchil, Hans Larsson, Aaron Liston, Gabriel Gutierrez, Anders Nilsson) - Fixed crashing of Mac version during heuristic or branch-and- bound searches (including those in conjunction with bootstrap and other replicated searches), under versions of the MacOS prior to 8.5 (and possibly later versions as well). The problem was associated with status-window output, and did not occur if the status window display was suppressed. (Francesco Frati, Olaf Bininda-Emonds, Brian Crother, Frank Kauff, Grace McCormack, Riitta Savolainen, Robert Stephens, Tom Near, John Gabel, Karl-Henrik Larsson, Jorge Crisci, Peter Davie) - Fixed bogus Kishino-Hasegawa test results in Windows version when gamma-distributed rates and/or invariable sites were in effect. (Emmanuel Douzery) - Fixed failure of Windows version to load input files into the editor (with the problem area selected) after encountering an error during execution, when the file was not being executed from an open editor window. - Eliminated crashing during ML searches with topological constraints in effect. (Tsetso Bachvaroff, Andrew McArthur) - Fixed (I think) refusal to run on pre-MacOS 7.5 systems when the "Macintosh Drag and Drop" extension was not present. (Peter Davie) - Fixed incorrect definition of character-sets for individual trees created in conjunction with saving of tree in matrix- representation format, when a subset of the trees currently in memory was requested. (Mike Sorenson) - Fixed erroneous base-frequency calculation and output when the "NewState" gap-mode option was in effect. The gap-mode option is now ignored in all contexts other than parsimony and "standard" distance calculation. (Mike Sorenson) - Fixed incorrect calculation of approximate likelihoods in association with quartet puzzling, in some cases resulting in obviously wrong trees and/or support values. This bug was introduced in version 4.0b3, and did not affect 4.0b2 results (however, QP results from 4.0b3 may differ from those of 4.0b2 due to the change in the method for assigning puzzling-step penalties announced previously). (Suzanne Williams) In the process of tracking down the above bug, I have overhauled the code implementing quartet-puzzling in PAUP*, fixing several other problems in the process: * Fixed crash if attempted to save trees obtained during _rooted_ quartet puzzling steps to a file. * Added an option to quartet-puzzling to set a "cutoff percentage" below which group frequencies are not shown (analogous to that used for bootstrap and jackknife output). The default setting is 5%. * Made an adjustment to ML quartet puzzling so that results will correspond more closely to those from Strimmer and Von Haeseler's PUZZLE program when sequences are extremely divergent and approximate likelihood calculations are used. This discrepancy was noticed with simulated data; it is extremely unlikely that the same discrepancy would occur with actual data. (Steve Willson) I have now confirmed with several data sets that PAUP's quartet- puzzling implemementation is obtaining results comparable to those from PUZZLE (within sampling error introduced by the stochastic component of the puzzling step), when the likelihood- model settings are equivalent. - Fixed misordering of values in line-width popup menu in tree- printing dialog boxes. (Doug Eernisse) - Eliminated possible crash if a data file is executed after previously processing a Data (or Taxa + Characters) block that did not actually contain a matrix. - Fixed refusal of command-interface "Filter" command to perform filtering if character or distance data were unavailable even though filtering criteria did not require character or distance data. (Andrew Rambaut) - Added check for uninformativeness of a constraint tree prior to filtering trees by compatibility with a constraint tree. A warning is issued if the constraint is uninformative. --------------------- Version 4.0b3a/4.0d71 --------------------- FIXES/CHANGES since version 4.0b3: - Fixed problem that caused memory corruption on Mac at startup if the program was launched indirectly (by double-clicking a document or by dragging a document icon onto the application icon) and then execution was initiated from an open editor window. This corruption then led to all sorts of crashes, freezes, or other anomalous results. The problem did not occur if files were executed via the "Open" dialog box, or if the editor window was closed before the Execute command was issued. (Donald Quicke, Tom Near, Vijay Aswani, Harry Erwin, Judy Skog, Andy Rambaut, Frank Kauff, Riita Savolainen, Francesco Frati) - Fixed problem with floating-point roundoff error that was causing unparsimonious trees to be saved when using stepmatrix characters with non-integer costs. (Francois Lutzoni) - Fixed problem that was causing memory consumption of Mac 68K versions to be greater than necessary. - Included 'ParamClock' in the LSET help info (see below for a description of this option). -------------------- Version 4.0b3/4.0d70 -------------------- MAJOR BUG FIXES: - Fixed incorrect handling of user-supplied site-specific rates in ML analysis (including rates set using a RateSet command or by the "previous" option after estimating rates for a character- partition). (David Maddison, Andrew Rambaut) - Fixed crashing and other problems (including spurious "tree length overflow" messages and bogus tree lengths, single- character step counts, and related fit measures) when the option was set to treat multistate taxa as POLYMORPHIC, even if there were no multistate taxa actually present. (Peter Fritsch, Etsuko Moriyama, Helen James, Brian Wiegmann, Mike Sorenson, Chris Schneider, Jackie Brown, Mark Siddall, Jim McGuire, Jenny Xiang) - Fixed erroneous length calculations on _nonbinary_ trees when using user-defined stepmatrix characters with _non-integer_ costs. "Maximum" step counts were also underestimated, thus affecting retention indices and rescaled consistency indices. (Francois Lutzoni) - Fixed possible incorrect calculation of likelihoods on huge trees (e.g., more than 100 taxa) due to floating-point underflow when single-site probabilities became too small to represent as a standard double precision value. Now, likelihoods are rescaled at intermittent points during tree traversal (when necessary) to prevent the underflow from occurring. Thanks to Ziheng Yang for suggestions on how to implement the rescaling. (Matt Brauer, David Hillis, Paul Lewis) NEW FEATURES and INTERFACE CHANGES: - Trees may now be filtered according to the best tree score. The command "Filter best;" (or the equivalent menu interface choice) will retain only those trees that are optimal according to the current criterion. This allows elimination of suboptimal trees without having to first determine the score of the best tree currently in memory, thereby simplifying some automated analyses. (David Maddison) - For models that allow rates across sites to be drawn from a distribution (gamma and/or invariable-sites), the relative contribution to the likelihood for a site from each rate category is now available in conjunction with single-site likelihood output ("Tree Scores: Likelihood" menu command, "CategLikes" option on LScores command). This value is expressed as a percentage, and it can be thought of as the posterior probability that a site has been drawn from a given rate category. - Standard errors are now provided for ML branch length estimates. Asymptotically, these branch-length estimates are normally distributed, so usual methods can be used to construct approximate confidence intervals (e.g., plus or minus 1.96 s.e. for a 95% confidence interval.) - A likelihood-ratio test for whether a branch-length is zero is now available, corresponding to the test implemented in DNAML of PHYLIP. There are two versions of the test. The test is done in conjunction with tree description (DescribeTrees command). The best test ("LSet ZeroLenTest=Full" or the equivalent choice from the Likelihood Settings dialog box) optimizes all branch lengths under the constraint that one of the branches is zero, for each branch tested. It can be a little slow for large trees, so an alternative test is available ("LSet ZeroLenTest=Crude") in which the likelihood of the tree is determined after setting each branch, in turn, to zero length, with no readjustment to the other branches. This is the test actually implemented by Joe Felsenstein in DNAML (who also used the word "crude" to describe it in his documentation). - You can now enter a one-line title to be included on each page output by the "Print Trees" command of the Mac version. (Mark Siddall, Mark Hershkovitz, Dave Rowell, and several others) - You can now save trees to a file in "matrix representation." A NEXUS file is created that contains a dummy character for each clade on the tree; analysis of the resulting data set under parsimony will regenerate the original tree. Optionally, branch lengths can be stored as character weights; a weighted parsimony analysis using these weights will regenerate the original tree and branch lengths. - Heuristic search now provides options to limit the search to a user-specified length of time and/or number of tree rearrangements (branch swaps). The time limit is specified as "TimeLimit=s", where s is the number of seconds to search. The limit on the number of rearrangements is specified as "RearrLimit=n", where n is the maximum number of rearrangements to be performed. By default, these limits apply to the entire search in random-addition-sequence searches. If you request "LimitPerRep=Yes", then the limits are imposed separately for each addition-sequence replicate. For bootstrap, jackknife, and other replicated searches (e.g., partition-homogeneity test), the limits are always applied separately for each search. These options are also available in the "Branch-Swapping Options" panel of the Heuristic Search dialog box. - A leading tilde (~) in file specifications under Unix is now expanded into the current user's home directory ("~/...") or the specified user's home directory ("~user/..."), consistent with the behavior of many shells. (Sue Olson) - An option was added to write user-supplied branch lengths with trees saved to files. This mainly supports merging of treefiles containing branch lengths using multiple 'GetTrees' commands. Previously, no attempt was made to save user-supplied branch length information when trees from a file were merged with trees in memory. - Previously, when a search was cancelled, any rearrangements that had been recorded as potentially optimal, distinct, trees were checked (and saved if appropriate) before control was returned to the user. For large data sets or data sets with large numbers of equally good trees, the delay while this check progressed could be considerable. Now, the user is asked if s/he wants to perform the check, and if the response is "no" control is returned to the user immediately. If the response is "yes" and a second abort request is issued, then the checking stops immediately upon receipt of this second request. - The "MaxPass", "SMaxPass", "Delta", "SDelta", and "LogIter" options are no longer relevant for distance analysis and have been eliminated entirely from the menu interface. Attempts to set them from the command interface will not fail, but will elicit a warning. - The use of separate ML convergence and iteration-limit options for searching vs. other contexts was confusing to users and has been dropped. Now, there is one option for maximum number of passes (MaxPass) and one option for the convergence criterion (Delta). The old 'SMaxPass' and 'SDelta' options are now mapped to MaxPass and Delta, respectively, in the command interface. The menu/dialog interface no longer shows the special "searching" versions of these options. - Added options for outputting tree scores to a text file under parsimony and distance criteria (previously this was available only for likelihood). This makes it easy, for example, to use standard spreadsheet and graphing applications to prepare scatter plots showing correlations between tree scores obtained under different optimality criteria. - Added an option to delete trees from memory that are currently hidden by a tree filter ("Filter Purge;" from the command line, "Filter Trees:Purge Trees" from the Trees menu). - Added an option to ignore character weights in likelihood and DNA-specific distance analyses ("Wts=Ignore" vs. "Wts=RepeatCnt" on DSET/LSET commands, with corresponding items in the Distance Settings and Likelihood Settings dialog boxes. Previously, integer weights were always being treated as repeat counts. - Macintosh input file selection dialogs ("Open", "Get Trees", "Load Constraints", "Import") now have a pop-up menu for selecting which files to list, and include an option to list all files. This makes it possible to see files that are readable by PAUP* but have not been assigned the filetype 'TEXT' (e.g., files transferred in binary rather than text mode from Unix servers). - Exporting of files in NEXUS format is now possible. This makes it easy, for example, to convert files from interleaved to non- interleaved or vice versa, or to create files that physically delete rows and columns corresponding to deleted taxa and/or excluded characters. - A command-line interface to the "Export Data" command is now available. This makes exporting available to the non-Macintosh versions, and makes it possible to export data from a command script. - The default parameterization for the molecular-clock constraint in likelihood branch-length optimization has been changed to a method suggested by Andrew Rambaut. This version seems faster for most data sets and is often more reliable. However, it is clear that no parameterization strategy is 100% reliable, as all are prone to getting stuck in local optima in some situations. Other parameterizations are also available by using the "ParamClock" option of the "LSet" (or LScores) command. The parameterization used in previous versions can be requested as ParamClock=BrLens. Other available settings are 'SplitTimes', 'Thorne', and 'MDRambaut'. All of the parameterizations other than 'Rambaut' use multidimensional optimization of branch- length parameters, rather than iteratively optimizating one at a time ('MDRambaut' is simply a multimensional version of 'Rambaut'). These parameterizations will be described in the forthcoming Users Manual. - "Link" commands in any block are now silently skipped (as a courtesy to programs currently under development that allow different blocks to be "linked" using this command). (Wayne Maddison) - A "CD" command for changing the current working directory is now available in the Windows, Unix and DOS versions. The syntax is: CD ; Entering the command with no arguments ("CD;") simply reports the current directory. - Drag-and-drop opening of files is now supported in the Mac/PPC and Windows versions. If one or more document icons are dropped on PAUP's main window, the file(s) will be opened for either execution or editing. The rules for whether the file(s) will be edited or executed are the same as in other contexts (e.g., when launching the program by dropping document icons on the application icon). The following sequence of rules is used: * If more than one file is dropped, all files will be opened in the editor. * If the current context would not allow execution of a file (e.g., another file is currently being executed), the file will be opened in the editor. * On the Macintosh, if PAUP is not the foreground application, the file will be edited. * If the Shift key is down at the time of the drop, the file is executed. * If the Option key is down (Macintosh) or Shift + Control keys are down (Windows), the file is edited. * If either of the "always edit" or "always execute" options is in effect, then the file will be opened accordingly. These options may be set using "Set DropMode=Edit" or "Set DropMode=Execute" commands, respectively. These options may also be set using the Startup Preferences menu command on the Macintosh. * Otherwise ("DropMode=Conditional", the default setting), the file will be executed if no active data file has been set. If a data file is already active, the file will be edited. - Other improvements in Windows version: * Much improved speed--now faster than DOS version. * Printing is now supported (both printing of files from editor and display buffer). * "Edit display buffer" command is now available. * A search-and-replace capability is now available in the editor. * A menu command is now available in the File menu for opening (and closing) log files. * The Window menu now lists open (and recently closed) documents for easier access when they are behind other windows. * Search-status window is no longer required to remain on top of all other windows (it can be brought to the front by selecting it on the Window menu). OTHER FIXES/CHANGES since version 4.0b2a: Calculation errors: - Fixed problems with tree-length calculation in branch-and-bound and exhaustive searches that followed a partition-homogeneity analysis in which non-unit character weights were in effect. Branch-and-bound searches typically reported "0 trees of length 0 or less" and exhaustive searches often crashed because of memory corruption associated with the storage of the tree-length frequency distribution. (Olaf Bininda-Emonds) - Fixed problem with use of maximum-likelihood distances for approximation of initial branch lengths for maximum-likelihood analysis when rates were set to follow a gamma distribution. (Sam Rogers) - Fixed problem with stateset updating that could cause incorrect tree length calculation with asymmetric stepmatrix characters in unusual cases (probably only with NNI and SPR swapping). - Fixed a problem where roundoff error associated with noninteger stepmatrix costs could cause trees that were actually equal in length to be treated as having different length. One cascade effect of this problem caused the program to stall while finding a long succession of trees that were each trivially shorter than the previously best tree, when there were a large number of equally parsimonious trees. (Kevin de Queiroz) - No longer stores and outputs undefined restriction-site distances as "0". (Hendrik Schaefer) - Maximum-likelihood distances were not being calculated correctly when site-specific rates were in effect. - Fixed a problem that could cause one or more base frequencies to be estimated as zero under maximum likelihood. (Rod Page) - Branch-and-bound searches under distance criteria could find suboptimal trees if the option for handling negative branch lengths was "set to zero" (the factory default) or "set to absolute value". These options are not appropriate for branch- and-bound searches because they can cause a search path leading to the optimal tree to be cut off prematurely. Now, these options for negative-branch-length handling are disallowed in branch-and-bound searches. (Anne Yoder) - Fixed incorrect calculation of base frequencies when ambiguity codes or multistate taxa were present (including the "N" state, which is mapped to {ACGT} rather than "missing"). The problem was that these states were not included in the counts for the number of occurrences of each base, but *were* being added to the total number of sites with non-missing data. Thus, the sum of the base frequencies for affected taxa was less than one. The problem was serious only if N's or other ambiguities represented a nontrivial fraction of the total data matrix. Now, when a k-state ambiguity is found in the matrix, the count for that site is distributed to each of the indicated states in proportion to each states overall frequency in the taxon. (Jim McGuire) - Empirical base frequencies calculated for maximum-likelihood analysis were not taking character weights into account. - Fixed incorrect optimization of clock-constrained maximum- likelihood branch lengths in certain situations (possibly only with big trees?). (Laura Salter) - Fixed problem with update of user-input branch lengths after pruning taxa from a tree. In some cases (possibly occurring only in the presence of polytomies), length from the deleted branch was inappropriately being added to a branch that remained on the tree. (Jean-Marc Moncalvo, Jim Johnson) - Quartet-puzzling analyses now use the same method for penalizing branches that is used in Strimmer and von Haeseler's PUZZLE program. The method used in earlier versions was not unreasonable, but I have switched to the newer one in order to obtain results consistent with PUZZLE. Problems that caused crashes or obviously incorrect results: - Fixed crashing or other problems if the option to prohibit negative branch lengths was requested with an heuristic search under any distance criterion. (Daniel Dalevi, Andrew McArthur) - Eliminated possible crash (on some systems) due to divide-by- zero when using stepmatrices with zero off-diagonal costs. (Mikael Thollesson, Bernard Goffinet/Randy Downer, Andrew Mitchell) - Eliminated crashes or other problems when non-nucleotide characters were included for bootstrap and jackknife analyses using likelihood or DNA-specific distance measures. (David Geiser) - Fixed memory allocation problem that could cause a crash during calculation of agreement subtrees when option to find all agreement sets was requested. (David Haasl) - Eliminated crash when reading multiple treefiles containing branch lengths (with the option to store these branch lengths enabled). Previously, no attempt was made to save user-supplied branch length information when trees from a file were merged with trees in memory, but the crash occurred anyway with certain modes. (Andrew Mitchell) - Fixed crashing when a constrained search was performed, the constraint was redefined using the same name, and then a second constrained search was attempted. (Ziheng Yang) - Fixed incorrect DNA distance calculation when option to distribute ambiguous changes proportionally to unambiguous changes (the default) was in effect and one or more of the four bases was completely missing in a sequence (presumably, this would never have happened with real data). (David Posada) - Fixed crash or obviously incorrect output when "Describe Trees" was used to output maximum-likelihood ancestral state reconstructions (e.g, XOut=Internal or XOut=Both). - Fixed failure to find a tree, or crash, when doing exhaustive search under Goloboff's implied-weights criterion. (Jan Bosselaers, Mikael Thollesson) - Fixed a problem that could cause problems during bootstrapping, jackknifing, or other random-number-intensive operations. The problem only occurred with certain seed values, and either led to a crash or a message that memory had been overwritten. (Ron Debry) - Fixed incorrect behavior if tree-sorting was requested while a tree-filter was in effect. Now, this operation is simply disallowed, and the user is prompted to either remove the filter or purge the trees currently hidden by the filter. (David Maddison) - Fixed crashing of non-Mac versions when trees were described with one or more Dollo parsimony characters in effect. (John Barta) - Fixed problems with minimum and maximum branch length calculation under Dollo parsimony that could cause minimum length to exceed maximum length in the branch length table. - Fixed a problem that could cause a crash under the likelihood criterion with least-squares estimation of initial branch lengths (the crash did not occur until the second analysis in which this option was used). - Fixed crashing and/or incorrect calculation of tree lengths when *asymmetric* stepmatrices contained internal inconsistencies (especially involving infinite costs). Previously, these were allowed to remain, but now the stepmatrix costs are adjusted to eliminate the inconsistency. This may make some people unhappy, but there simply is no way around it. I will try to provide a more complete explanation in the manual. (Tobias Schneck) - Fixed crashing of Mac version if two commands (other than "Save" or "Save As") that request creation of a new file (e.g., "Save Assumptions" followed by "Export Data") were issued and the dialog box for the second command was closed by clicking Cancel. (Chuck Delwiche) - Fixed crashing if a data file was executed after a previous constrained search was performed and another constrained search was immediately requested. (Joel Mathez) Problems affecting input: - Fixed problem that caused an alphabetic "missing" symbol (e.g., 'n') not to be recognized if it did not match the case of the character symbol of the first taxon in the data set for the same character. (Sigrid Liede) - Fixed complaint that "no 'previous' value is available for the invariable sites proportion" after an analysis in which this value was estimated to be zero. (Mitch Sogin) Interface and platform-specific issues: - Fixed crash due to underflow when estimating gamma-shape parameters using gcc-compiled binary on Alpha systems. (Jack Dumbacher) - Attempts were made to prevent multiple processes from writing to the same file, to prevent other programs from modifying files that PAUP is currently reading, or to prevent PAUP from reading from files that have been opened for writing by another process. On Unix systems, the POSIX fcntl-based record-locking mechanism was used--this system relies on "advisory" rather than mandatory locking and works only with programs that set and/or pay attention to these locks. It also will not usually work across NFS-mounted file systems. On the Mac, the FSpSetFLock facility is used to lock files--unfortunately, this doesn't seem to prevent some programs from writing to files that PAUP has locked. On Windows 95/98/NT, the Windows LockFile system call is used. At a minimum, multiple PAUP runs on the same machine are now prevented from opening and writing to the same log files, etc., since PAUP always respects its own locks. (Una Smith) - Fixed incorrect showing of filename in display output when trees were saved to a treefile on a remote Appleshare volume (the name of the enclosing directory was shown rather than the file name itself). Also, the Finder information was not getting set correctly, causing the saved file (which was named correctly) to lose its association with PAUP. (Gary Olsen) - Clicking the "Stop" button of command-line area now stops long operations when it is enabled (e.g., when LSCORES calculation is in progress). Clicking the "Pause" button is also allowed; the calculation is suspended until "Resume" is clicked. (Ted Schultz) - Open-file dialog is now suppressed at startup if PAUP is not the frontmost process when this dialog would be put up. This eliminates hangs or crashes if, for example, PAUP is launched from a script. - Fixed sticking in "busy" mode if DScores output was requested when there were no trees currently in memory (among other problems, this left the "Quit" item on the file menu disabled, and there was no way to get out of the program other than to force-quit. - Eliminated possible crash when a command-string was deleted from the command history buffer (under specific, unusual circumstances). - Underscores are no longer translated to blanks on commands passed to Unix, DOS, and VMS shells (e.g., "!ls paup_file"). (Will Fischer) - Fixed possible problems opening files in extremely old MacOS versions (pre-System-7). - Loading of files with foreign line termination (Mac or Unix) into the Windows-version editor is now MUCH faster. - Execution of files from an open editor window in the Windows version is now vastly faster, and no longer crashes in some cases. (David Campbell) - Opening a file from the "Open Recent" menu in the Mac version now resets the default directory for Standard File dialogs to the directory containing the opened file. - Win32 console version (distributed currently only by special arrangement) is now available, and no longer quits abruptly when ctrl-C is hit. (Paul Lewis) - Eliminated (I think) cause of "Overflow error" messages during maximum-likelihood analyses on Windows NT/95 systems. (Rissa Ota) - The "Edit" command is now available from the Windows-version command line. - Enabled the "DataType" option on the TONEXUS command, which had been inadvertently hidden. (David Maddison) Superficial/cosmetic problems: - Explicitly disallowed estimation of ML model parameters (other than branch lengths) during maximum-likelihood quartet puzzling (eliminates bogus error message about ML distances not being allowed when parameters were estimated). (Irby Lovette) - Fixed mispositioning of branch-length and scale-bar text when a tree was printed across more than one page. (Frank Blattner, Vincent Savolainen, Kurt Wollenberg) - Eliminated possible duplication of "ApproxLim dynamically readjusted" message when an ML search was started from trees already in memory. (Ted Schultz) - Exhaustive search is now explicitly prohibited for more than 12 and 11 taxa on unrooted and rooted trees, respectively. This was a practical limit in any case, but attempting it for more than this number of taxa caused the number of possible trees to exceed the number that could be stored in a 32-bit integer, with various undesirable consequences. (Francois Genier) - Fixed incorrect length of scale bar on plotted phylogram if the tree was rooted along the longest branch of the tree (which could only happen under nondefault rooting options). (Michael Moeller) - Eliminated bogus complaint about an invalid block pointer when a "Quit" command was issued from an executing file (4d65 only). (Torsten Eriksson) - User is no longer allowed to request branch-swapping from trees currently stored in memory in conjunction with bootstrap or jackknife searches using command interface (was already disabled in menu interface). (Robert Bellsey) - Fixed failure to show parentheses or curly braces in "Show Data Matrix" output with multistate characters treated as "variable". (Una Smith) - Fixed cosmetic problem in Macintosh-version "Parsimony Settings" dialog box when running under System 7 and earlier. (Ted Schultz) - Treefiles saved in PHYLIP format now include the number of trees as the first line. (Andrew McArthur) - Eliminated bogus warnings about triangle-inequality violation when a stepmatrix contains non-integer values. (Chris Schneider, Daniel Miranda-Esquivel) - Fixed unnecessary repetition of "Search aborted. There may be a delay while cleanup is performed" message after a search was cancelled (DOS/Unix versions only). - An error message is now issued if a user attempts a search after excluding all characters. I was going to make this just a warning, but I couldn't imagine any scenario where a user would want to do this (tell me if you know of one). (Olaf Bininda- Emonds) - User-supplied branch lengths are now updated correctly if taxa are deleted with the option to prune them from trees currently in memory. (Gary Olsen) - No longer complains that character weights must be integers for DNA-specific analyses if user just wants to print a phylogram using user-specified branch lengths. - Fixed cosmetic problem with output of single-character consistency indices and related measures by Tree Scores: Parsimony (PScores) command. (Mikael Thollesson) - Fixed several related problems associated with Windows version: * Dragging a document icon to the PAUP application icon now starts PAUP, with the file associated with the dropped icon initially opened in PAUP's editor (or executed if the shift key is pressed at the time of the drop). (Vijay Aswani) * Double-clicking the application icon when PAUP is already running now invokes a new instance of the program. * Double-clicking a document icon with a file extension that has been associated with PAUP now opens that file in the editor if PAUP is already running. * If an error is encountered while executing a file, the file is now correctly opened in the editor and positioned to the point of the error. - The output message "Quartets evaluated using [approximate or exact] likelihood calculations" in quartet puzzling is now issued only when the current criterion is likelihood. - Clarified error messages associated with conflicts between settings for saving N best trees and other options. - The warning about duplicated taxon names is now less noisy when there are a large number of duplicated names. - MEGA file import now allows "#TITLE" as well as "TITLE" (some MEGA files seem to contain the pound sign, even though the original specification does not call for it). - Non-protein GCG files are now imported as "nucleotide" format rather than worrying about whether they are DNA or RNA (or both). - Eliminated possible appearance of Stop/Resume/Cancel buttons in output-display area under when the command-line was hidden. - No longer complains erroneously that data are not presence- absence when output of a restriction-site distance is requested from the command-line before any other actions have been taken. - Fixed failure to update maximum-likelihood score after adjusting the very last branch-length parameter on a tree. The only effect that this would have in the vast majority of cases is that convergence might require one more pass than it should have, slowing the program down a little. In very rare (probably only hypothetical) cases, it could have caused premature convergence (this would only happen if all branch-lengths other than the last one did not change in a pass over the tree). - Running status output ("RStatus") is now suppressed if it is the current setting for random-addition-sequence searches, but the searches currently being done are for a "fast" bootstrap or jackknife. (David Maddison) - Changed the message issued when an editor window was reactivated after a file was opened for editing and then moved or deleted from the Finder (previously, it said that the file had been changed, when in fact the problem was that the disk version of the file could not be located). The file is also now marked as a "new" file when this happens. (David Maddison) - Attempted to fix some anomalies in the search-status window display with random-addition-sequence heuristic searches. (David Maddison) - Fixed failure of input parser to consume rest of LScores command after outputting a message that there are no trees in memory for which to calculate likelihood scores. If the command issued was "LScores all;" this caused an exhaustive search to be initiated (the "all" was taken as an abbreviation of "AllTrees". (David Maddison) - Windows version now updates search-status window promptly after restoring from minimized position (no longer briefly shows "0" as number of trees remaining to swap, etc.). (David Campbell) - User attempts to enter integer values larger than the maximum allowable value (= 2,147,483,647) are now trapped. - Single-site likelihoods are no longer included in a score-file output by the Likelihood Scores (LScores) command when a Kishino-Hasegawa test is requested but site-likelihoods are not specifically requested otherwise. Other minor enhancements and changes: - A neighbor-joining or UPGMA tree is now calculated and used to set the initial upper-bound for branch-and-bound searches under likelihood and distance criteria (unless user supplies an upper bound). This change can greatly speed branch-and-bound search times for distance and likelihood relative to the previous default of starting with an infinite upper bound. - UPGMA output with the "branch lengths" option now outputs the clustering level for each cluster (internal node). - All branch lengths (including terminals) are now allowed to go to zero in maximum-likelihood optimization if they want to. Previously, terminal branch lengths were not allowed to be smaller than 10^(-8), which eliminated the possibility of zero likelihoods and resulting undefined log likelihoods when taxa with nonidentical sequences were connected by a path of zero length. However, this limit was preventing likelihoods from reaching their optimal values in certain unusual situations not likely to be encountered with real data. I have attempted to trap all possible negative consequences of this change, but it's possible that it will introduce new bugs. - Format for scores file from Likelihood Scores (LScores) was changed slightly to improve readability and facilitate use in spreadsheet and graphing applications. - Added notification (warning) that character weights are treated as repeat counts in maximum likelihood analysis, and summary of current weight status. - User is now prompted if a constrained search is attempted with an uninformative constraint tree. (This was needed because some users were unaware that that the constraint tree that they had specified was uninformative, particularly when a constraint tree was originally informative but became uninformative due to deletion of taxa.) - The model with six substitution types and equal base frequencies is now identified as the SYM model in likelihood-settings output. (Andrew McArthur) - Choosing an item from the "Open Recent" menu while holding down the option key now causes that item to be deleted from the menu. (Otherwise, the file is executed if the shift key is down, or edited if the shift key is not down.) - Sum of branch lengths is now shown in the "Describe Trees" branch-length table. For parsimony, this is the same as the tree length (except for length due to terminal polymorphisms), but this value is useful in likelihood and distance contexts as well. - Output of estimated "R" matrix (= symmetric component of rate matrix Q) for GTR model no longer shows values on diagonal, which are not meaningful. - Changed system for numbering internal nodes when taxa are deleted to avoid overlap between numbers in the range between the current number of taxa and the original number of taxa. - Importing of simple-text files no longer requires that taxon names start in the first position of each line (i.e., there can be whitespace before the name, such as when taxon names are right-justified). - Multiple files dragged to Windows 95/NT open application now cause all files to be opened in editor. If a single file is dragged while the Shift key is pressed, the file will be executed. - The items on the "Show Other" submenu of the Data menu now invoke a second hierarchical submenu for choosing which items to show, rather than bringing up a dialog box. Individual user-defined types may also now be chosen, rather than the previous mode of showing all user-defined types even if the user only cared about one of them. ---------------------------------------------------- Version 4.0b2a (be sure to read 4.0b2 below as well) ---------------------------------------------------- - Fixed problem that could cause tree lengths or Goloboff-fit scores to be calculated incorrectly in heuristic parsimony searches, possibly cascading into a situation where the search became hung finding trees of impossibly short length. (Ron Adkins, Jason Bond) - Corrected problem that caused 68K Mac versions to erroneously complain about insufficient memory when stepmatrix characters were present. (Jean Dubach) - Windows version now available; corrects problem that caused all system memory to be consumed if a file was executed from an open editor window. (Carlos Navarrete, Rod Page, Wesley Higgins) - Fixed incorrect 'DataType' field for imported NBRF/PIR format files. (David Maddison) - Fixed problem printing phylograms (with scale bar included and "use PostScript" option enabled) that resulted in blank pages, missing tree lines and/or missing taxon labels. (Gerald Benny, Tom Harrington, Sharon Messenger) ------------- Version 4.0b2 ------------- SERIOUS BUG FIXES: - Fixed potentially serious bug involving character weights in parsimony analysis. If character weights were changed (either set to user-defined values or reweighted based on tree fits), the first analysis using these new weights was valid. However, subsequent analyses using these new weights resulted in invalid tree scores, fit measures, etc. The incorrect results persisted until character weights were again redefined (or character types were changed). Certain analyses were not affected (e.g., bootstrap and jackknife analyses). It seems unlikely that you would have been affected by the bug without realizing that something was wrong (e.g., tree lengths would changed relative to previously output lengths for no apparent reason), but if you used version 4.0b1 for weighted parsimony analyses, you should recheck your output logs and rerun the analyses using 4.0b2 if necessary. (Alan Meerow, Evert Gutteling) - Constrained searches under maximum likelihood and distance criteria sometimes failed to respect the user's constraint criteria. The problem was particularly evident when using converse constraints, but could also occur with normal constraints. (Andrew McArthur, Matt Rain, Dan Distel) - Quartet-puzzling searches that used the "approximate likelihoods" option sometimes produced poor results due to the choice of methods for doing the approximation. Now, the least- squares method is always used (with maximum-likelihood distances for the current substitution model). This method appears to be better for small numbers of taxa (i.e., 4) although the Rogers- Swofford method generally obtains better initial branch lengths for larger numbers of taxa, and is retained as the default method for analyses other than quartet puzzling. (Steve Willson) NEW FEATURES and INTERFACE CHANGES: - BIG SPEED IMPROVEMENTS! Improvements in the algorithms used for stepwise addition and branch swapping have led to huge increases in speed, particularly when analyzing large numbers of taxa. Improvements in parsimony are due in part to incorporation of algorithmic ideas from a paper by Fredrik Ronquist (in Cladistics). Other speedups are due to a new branch-swapping strategy that tries more promising rearrangements before less promising ones (the basic idea was due to David Maddison). A sample of some benchmark comparisons relative to version 4b1: (1) 451-taxon parsimony stepwise- addition without branch-swapping, 27 times faster; (2) 12- taxon maximum-likelihood TBR search starting from a random tree, 7 times faster; (3) 100-taxon parsimony stepwise-addition plus TBR search, 12 times faster. - Added a "reconnection limit" option that limits the scope of SPR and TBR rearrangements. The value for this limit will be fully explained in the user's manual, but roughly it corresponds to the sum of the number of nodes between each reconnected branch and the nodes incident to the branch that was cut for pruning/bisection. A rearrangement limit of 1 corresponds to nearest-neighbor interchanges. Use of this option can dramatically reduce search times in huge datasets. Because many fewer trees may be evaluated, the effectiveness of the search may be compromised the smaller the limit is set, but preliminary testing indicates that limits of 8-12 are very effective. - Added optional scale legend to printed/previewed trees (both phylograms and unrooted phylograms). (Robb Brumfield, Yvonne Graser) - Sorting of trees according to the current optimality criterion is now possible using the "Sort Trees" menu command or SORTTREES command. Trees are also sorted for PSCORES, LSCORES, and DSCORES output if the SORT option is requested on these commands (or the appropriate box is checked in the dialogs for menu-command equivalents). - Added dialog-box item (in "Likelihood Settings") for the option to use maximum-likelihood, rather than Jukes-Cantor, distances to estimate starting branch lengths for ML iterations (ignored unless the "least-squares" method for getting these starting branch lengths is requested). - Quartet puzzling is now available for all optimality criteria rather than being restricted to likelihood. - The "puzzling" step of quartet puzzling is *vastly* faster for all but very small numbers of taxa, due to improvement of the method for determining which branches are incompatible with the connection of a new taxon for each quartet relationship. (An O(N^2) algorithm was replaced by an O(N) one.) - The option to sample characters in proportion to their weights (Wts=Proportional) is now always available in bootstrap and jackknife analysis when non-unit character weights are in effect. - The options to ignore character weights (Wts=Ignore) and to sample characters with equal probability but apply character weights (Wts=Simple) are now available for DNA analyses in addition to standard data. - Evaluation of trees under unweighted least-squares distance criteria with constraint of branch-length nonnegativity is now much faster, due to substitution of a new algorithm developed in collaboration with David Bryant for the Felsenstein (1997) algorithm used previously. - Evaluation of trees under (unconstrained) weighted least-squares distance criteria is now faster, and sometimes more accurate, due to use of algorithms developed by David Bryant and Peter Waddell. - "WTS=NO" has been changed to "WTS=IGNORE" on the BOOTSTRAP and JACCKNIFE commands. NOWTS is still allowed, and is equivalent to WTS=IGNORE. - Treefiles written during bootstrap/jackknife analyses now include the seed value for the start of each replicate. (Ted Schultz) - Data sets containing a large number of taxa now require much less memory for analyses conducted on a small subset of these taxa. - Character-state symbols (including A,C,G,T and protein symbols) are now output consistently in either lower or upper case when user mixes case in the input (and the "RespectCase" option is not in effect). The first alphabetic symbol encountered determines whether upper or lower case is used. - The ACCTRAN and DELTRAN optimization options now apply to Dollo and irreversible characters as well as to other character types. The options are irrelevant only for handling ambiguity due to uncertainty or polymorphism in terminal taxa. - Added an option to hide excluded characters in "full" character-status output. - Eliminated all restrictions on addition-sequence for branch-and bound searches under parsimony criterion. In some cases, use of the "furthest" addition sequence (now the default for all character types) results in significantly faster run times for Dollo, irreversible, and stepmatrix character types. - Due to the changes in the swapping algorithms, the "QuickSwap= Yes|No" option is now obsolete, and has been eliminated. - "Uninformative" converse constraints are now detected immediately when a search begins. E.g., if a backbone constraint tree is defined for three taxa, all possible unrooted trees are compatible with this backbone, so the search cannot possibly find trees that are *in*compatible with it. - Fixed a problem that caused a crash when attempting to show an uninformative convexity constraint (e.g., a taxon partition with two subsets containing a single taxon in one subset and the remainder of the taxa in the other subset). - Option added to show taxon status with one line per taxon, showing current deletion and/or outgroup status. - Added a "Clear" item to the "Open Recent" menu in the Macintosh version. - "Title" commands in any block are now silently ignored. OTHER FIXES/CHANGES since version 4.0b1: - In order to reduce memory requirements with very large matrices, some integer stepmatrix calculations are now done using 2-byte integers and 4-byte floating-point variables rather than 4-byte integers and double-precision floating-point variables as in the previous version. In most cases, this change will be transparent apart from consuming less memory. However, the largest value that can be stored in a 2-byte integer is 32767. Now, if the maximum possible length of a single stepmatrix character exceeds this value, an "overflow" condition will be reported. If this occurs, you will either need to reduce the magnitude of your integer stepmatrix costs, or use decimal points in the stepmatrix entries to force evaluation using (slower) floating-point arithmetic. - Parsimony analysis using Goloboff's implied-weights criterion now uses much less memory, and typically runs faster. (This is a further improvement to the changes made previously for version 4.0b1.) - Fixed several problems that caused assessment of parsimony- informativeness of characters to be erroneous in somewhat unusual situations: (1) Uninformative unordered characters were reported as informative if more than two states were present in the original matrix AND all taxa possessing some state(s) were deleted leaving exactly two states present in the reduced matrix, AND the undeleted taxa included some taxa polymorphic/uncertain for both states, AND the two states were not adjacent in the SYMBOLS order (e.g., if all C's were deleted from a column originally containing A, C, G, and R). (2) Informative ordered characters were sometimes reported as uninformative if more than two states were present in the original matrix AND one or more of the states occurred only as part of a multistate taxon AND all taxa possessing such a state were deleted. (3) Uninformative ordered characters were reported as informative if exactly one state was replicated (found in more than one taxon), but it was intermediate between two unreplicated states (e.g., the distribution {0,1,1,1,1,2}). (4) Informative stepmatrix characters could be reported as uninformative in certain cases involving multistate taxa. - The "uninf" character set was not being defined correctly for symmetric stepmatrix characters. - DNA ambiguity codes were sometimes being treated as polymorphisms rather than uncertainties even when the setting for MSTAXA was "uncertain". - Stepmatrix characters were not always handled correctly if the MSTAXA setting was changed from the original setting. - Minimum and maximum branch lengths were calculated incorrectly for Dollo parsimony characters when missing data or other ambiguities were present. - The option to collapse branches under parsimony criterion if MPR-sets are unequal ("amb=") was not paying attention to zero weights on characters, possibly causing branches to be retained if they were supported only by characters of zero weight. (All was OK if characters were excluded rather than assigned zero weight.) - Tree lengths were sometimes miscalculated for Dollo characters with missing data and/or terminal polymorphisms. - Fixed interface glitch in "Tree Scores:Parsimony" dialog box that caused the "Show calculation details..." checkbox to remain disabled until after doing an analysis in which the nonparametric tests were requested. - DOS and at least some Unix versions sometimes showed an obviously incorrect value for the "Score of worst tree found" output after an exhaustive search. The problem only occurred if an exhaustive search under the parsimony criterion followed a previous analysis using likelihood or distance criteria, and did not affect the Macintosh version. (Mark Siddall) - Fixed a problem that caused an erroneous complaint that "these data are too weird for maximum likelihood analysis" when the following sequence was executed: set criterion to likelihood; open "Likelihood Settings" dialog box (either making changes or just canceling); initiate heuristic or branch-and-bound search. The problem did not occur if the "Likelihood Settings" dialog was not entered. (Andy Anderson, David Maddison, Mike Sanderson, Irby Lovette) - Eliminated several causes of floating-point exceptions in maximum likelihood analysis. (Ziheng Yang, Andrew McArthur, Thomas Buckley) - Fixed a problem that could cause a crash with "irreversible" character types in parsimony analysis. - Fixed incorrect calculation of pairwise distances with asymmetric stepmatrix characters. - Fixed Mac-version crash if a memory allocation error or some other problem caused a failure very early in the launching process (i.e., before the main display window was created). - User is now prevented from switching PAUP to the background by clicking another application's window at the very beginning of the startup process. Previously, if this happened, the Standard File dialog would come up in the background. Because the Mac OS never expects these dialogs to be anywhere other than the foreground, a freeze occurred. (Eva Wallander) - Current directory now gets set properly when a file is loaded into the editor via the "Open Recent" menu. - Fixed small memory leak if GCG-format import via "TONEXUS" failed due to a problem writing the new NEXUS file (e.g., due to disk full condition). (Chuck Delwiche) - Fixed several new problems associated with Mac-version tree printing that were introduced when adding new features to 4b1: (1) Fixed failure to show the lines of the tree itself (only the text labels were being shown) when printing trees on non-PostScript printers. (Norris Williams, Wilson Freshwater, Junetso Ito, Glenn Jaecks, Paul Handford, Mia Molvray) (2) Eliminated duplication of text labels when tree images in the Print Preview window were saved as PICT files or copied to the clipboard and pasted into graphics programs like Canvas or ClarisDraw. (Norris Williams, Geeta Bharathan) (3) Fixed failure to print multiple trees per page correctly. (Geeta Bharathan, Aimee Gerbi, Wayne Maddison) (4) Fixed slight clipping of top of rotated text labels on some non-PostScript printers when the text being rotated consisted of a single character. (5) Eliminated inappropriate dimming/resetting of some options affecting text label rotation in the "More Options" subdialog of the "Print Trees" dialog. - Fixed a problem that could cause ML branch-length optimization to fail when one or more bases were completely missing from a sequence and starting branch lengths were obtained using the Rogers-Swofford method (obviously, this would never happen with real data). (Peter Foster) - Fixed a problem that caused taxon names in imported PHYLIP files to be improperly formatted using the TONEXUS command (but not when importing using the Import menu command) when the names contained blanks and were 10 characters long (the terminating quote was omitted). (James McInerney) - Restored backward compatibility for DATATYPE=DNA (now a synonym of DATATYPE=NUCLEOTIDE) on TONEXUS command. - Eliminated "ambiguous abbreviation" message when a command abbreviation matched another command that was "hidden" but still supported for backward compatibility with earlier versions of PAUP. - Fixed possible garbled statistics and labels in the frequency- distribution of tree scores output after an "Evaluate Random Trees" (RANDTREES) analysis was aborted. - Bogus consistency indices were output when polymorphic multistate taxa were present, Goloboff criterion was in effect, and some characters were assigned type "ordered" (Wagner). - Animated cursor now works during heuristic search in Windows version. (Rod Page) - Eliminated prohibition of Lundberg rooting with symmetric stepmatrix characters. - Automatic mounting of unmounted volumes is no longer attempted when resolving file aliases for the "Open Recent" menu item in Macintosh version. This caused problems in multiuser server based environments, and sometimes caused hangs due to MacOS bugs. - Character-status output is now better about showing only those character states that were actually observed for ordered and stepmatrix character types. - Fixed a problem that caused minimum branch lengths to be shown incorrectly in the branch length table from tree description if the same tree was previously described with the f-value, patristic distance, or homoplasy options enabled, and no other changes were made to character types, etc., in between. - User is no longer allowed to use PScores command on unrooted trees if changes to character-type settings now require rooted trees. - Mega files containing an empty title line ("TITLE: ") are now imported correctly. (Keith Crandall) - The "tab-delimited text" option for saved distance matrices now works correctly. (Michael Caterino) - No longer outputs obviously bogus values for site-specific rates estimated by ML with only two rate categories. (Ken Karol) - Taxon names reported as being joined to the base of user-input trees after being deleted from the data matrix were sometimes incorrect (cosmetic problem only). (Cymon Cox) - Imported GCG/MSF files now allow use of '-' as a gap character, in addition to '.' and '~'. - No longer adds help file to "Open Recent" menu. - Eliminated hang when computing maximum-likelihood distances if parameters were estimated from the data (e.g., ti/tv ratio) and there were no differences between a pair of taxa. (In this case, the likelihood surface was completely flat because the distance, and hence the likelihood, was the same for any value of the parameter. (James McInerney) - Fixed a problem that sometimes caused crashing when reading in tree descriptions that contained internal node labels. Pete Olson) - Fixed incorrect output of total tree length with Parsimony Scores (PScores) output when the Goloboff implied weights criterion was in effect (PSet Goloboff=Yes). (Knut Rognes) - Search string is now always selected when the Find command is issued in the Macintosh version. (Stefan Ekman) - Appropriate edit-text fields are now selected when corresponding radio buttons are clicked. (Bob Kuzoff) - Permutation output now shows tree scores correctly under Goloboff criterion. (Mikael Thollesson) - Eliminated crash when describing trees under stepmatrices that require impossible character transformations. - No longer remembers previously set "randomize=trees" option when doing "fast stepwise" bootstrap/jackknife search. (Ingrid Jakobsen, James Lyons-Weiler) - Stepmatrix characters are now checked for compatibility with the current data matrix before a change to GapMode=NewState is accepted. This fixes the following "gotcha": (1) Assign a stepmatrix type not containing costs for changes to gaps to one or more characters while the GapMode= Missing option is in effect. (2) Change the GapMode setting to NewState. (3) Start an analysis; warning that stepmatrix is incompatible with the character(s) due to absence of costs for gaps. (4) Try to change the character type via the menu interface; get above warning again without being allowed to change the character type (ad infinitum). (Michael Caterino) - Made several miscellaneous cosmetic changes. ------------------------------------- Version 4.0b1 (first official beta) ------------------------------------- NEW FEATURES and INTERFACE CHANGES: - Quartet puzzling is now available for heuristic searches with maximum likelihood. See Strimmer and von Haeseler (1996; MBE 13:964-969) and Strimmer, Goldman, and von Haeseler (1997; MBE 14:210-211) for a description of these analyses. - The "star-decomposition" algorithm is now available for tree searching under all optimality criteria. (The tree found by star-decomposition can be subjected to further branch-swapping by starting the swapping from trees in memory rather than using stepwise addition.) - The system used to initialize seed values used in random number generation has been changed. Previously, all seeds were initially set to 1. This caused problems when users unwittingly assumed that, for example, two bootstrap runs started on different computers would generate independent sets of bootstrap samples which could later be combined. Now, by default, the initial seed is set to a value obtained from the system clock at a resolution of at least 1/60 sec, making it essentially impossible for identical random-number sequences to be generated on different computers or on the same computer at different times. A clock-based starting seed is now used whenever a seed value is set to zero, and the default starting seed values are also set to zero. You can modify this behavior using the 'InitSeeds' option of the SET command (also available using the 'Seeds' menu command of the Options menu). The default setting of this option is INITSEEDS=0, but you can instead set INITSEEDS=1, in which case the original method of initializing all seeds to 1 is used. This option ONLY applies if a seed value has not been initialized during the current run of the program. Once a particular seed value is initialized, subsequent seed values are generated based on the random number sequence determined by the initial seed. You can reset the sequence using a clock-based seed value by specifying a seed value of 0 on any command that accepts seed settings. - An option was added to emulate the method used to calculate implied weights in Pablo Goloboff's PeeWee program. This method uses integer weights from 0 to 100, and obtains the fit measures by integer division with truncation, storing the final scores to one decimal place. There is no reason to use this option unless you just want to see PAUP* and PeeWee get the same values. The PeeWee method is highly prone to roundoff error which can cause an incorrect tree to be chosen. - Printing trees across more than one page is now allowed. Use the "Trees Per Page" in the tree-printing dialog boxes and choose the "Number of pages per tree" button rather than the "Number of trees per page" button. (Norris Williams, Scott Davis, Chuck Delwiche, Chuck Staben, Hugh Robertson, Andrew Mitchell, and others I have forgotten) - Calculation of maximum-likelihood _distances_ under gamma- distributed-rates models now uses a continuous gamma distribution rather than the discrete approximation used for character-based ML analyses. (It now obtains the same values as PHYLIP's DNADIST for ML distances under the Jin and Nei [K2P+gamma] model, if you set the "coefficient of variation" parameter in DNADIST to the reciprocal of the square root of the gamma shape parameter used in PAUP*.) - DNA-specific analyses (maximum likelihood analyses and distance analyses using DNA-distances) now treat character weights as repeat counts in all contexts. That is, assigning a weight of W to a character (site) is equivalent to replicating that site W times. These weights must be integers. - Options were added for zero branch-length collapsing under distance and likelihood criteria as well as for parsimony. As will be explained in the manual, the consequences for collapsing are different under different optimality criteria, therefore separate options are used for each of the three major criteria. Do DSET DCOLLAPSE=YES|NO for collapsing of branches with zero or negative length in distance searches. Likewise, do LSET LCOLLAPSE=YES|NO for likelihood searches. Corresponding items have been added to the Likelihood Settings and Distance Settings dialog boxes. The defaults are LCOLLAPSE=YES and DCOLLAPSE=NO. - Minor command option changes: (1) CONTREE command: 'Cutoff' is now 'Percent' (required majority for majority-rule consensus, default still 50%) (2) BOOTSTRAP command: 'NoShow' is now 'CutoffPct' (minimum group frequency, expressed as a percentage, of groups shown in the group-frequency table). - An option to allow inclusion of punctuation characters in taxon and character names in input data matrices has been added in the interest of backward compatibility. If you issue the command "SET ALLOWPUNCT=YES;" prior to processing a DATA, TAXA, or CHARACTERS block, then punctuation characters like parentheses, asterisks, hyphens, etc. can be included in names without enclosing the name in single quotes. An obvious place to do this would be a PAUP block in the input file prior to the DATA/TAXA/CHARACTERS blocks, e.g.: #NEXUS begin paup; set allowpunct=y; end; begin data; ... end; Note that other NEXUS programs will not process the PAUP block and may not accept files with names containing unquoted special characters (which is a violation of the NEXUS standard). It would be better to eliminate the problem by adding the quotes (using global substitutions). - Added an option to show calculation details for Templeton (Wilcoxon signed-ranks) test for comparison of two trees. This feature is obtained by requesting the 'TestDetails' option on the PSCORES command, or checking the appropriate box in the Tree Scores:Parsimony dialog box. (Allan Larson) - "Show Character Status" now has an option to show full status output (one line per character) or just a brief summary. A dialog box is presented in the Mac version; the command-line interface is "CSTATUS [FULL={YES|NO}]". - Importing of MEGA files is now available. - Simple-text and tab-delimited text files can now be imported when they contain data in "interleaved" format. - Rotated text is now shown in Print Preview window and in other QuickDraw contexts, rather than just outlining the limits of the taxon and branch-length labels as was done previously. (Because the text is converted to a bitmap, it will look fuzzy and uneven, however). - An option was added to enable/disable "synchronized scrolling" across multiple editor panes when the window was split. Previously, synchronized scrolling was forced, and it was not possible to scroll the panes independently in one of the two directions. The option can be selected in the Options:Editor dialog box. - Added "sequence editor cursor mode" option. In this mode, if an down-arrow (or up-arrow) is hit, the cursor does not necessarily move to the same column in the next (or previous) line. Rather, it goes to the column from which the most recent sequence of identical key presses (which may be a single key) was begun. For example, if you insert two hyphen characters and hit a down-arrow, the cursor will go to the next line but left by two characters, making it easier to insert a series of two-site gaps at the same column location. The feature can be selected in the Options:Editor dialog box. - A dialog-box interface is now available for the SAVEDIST command: "Save Distances to File" in the File menu. You can save distances as a full matrix or as a "one-column" format useful in preparing saturation plots etc. You can also use this command to export distance matrices for PHYLIP. - Added an "Open Recent" (files) capability to the File menu. (Peter Waddell) - Added an option to suppress showing the initial "Open File" dialog box on program startup. - Fixed crashing on Mac version if a very long file specification including a relative or absolute path was used to identify a data file. - Added an option to suppress truncation of taxon labels in trees drawn to display buffer ("Tree Drawing" in Options menu, SET TAXLABELS=FULL|TRUNCATE). (Tony Cox) - FREQPARS import now assigns type 'unord' to characters corresponding to loci for which no within-taxon polymorphism was observed. Unordered characters can be processed much faster than can stepmatrix characters. In order to be consistent with this change, the distance used for stepmatrix characters is now multiplied by 1/2 (i.e., the maximum distance is now 1.0 rather than 2.0). This means that tree lengths will be exactly 1/2 of the values reported by earlier versions, and that tree lengths must be multiplied by 2 to be comparable to the values output by the FREQPARS program. If this bothers you, assign a weight of 2.0 to all characters. OTHER FIXES/CHANGES since version 4.0d64: - Eliminated crash or excessively slow parameter optimization when estimating transition-transversion ratio via maximum likelihood under K2P model. (Keith Crandall, Ziheng Yang) - Fixed cosmetic glitch, and possible crash, if "apomorphy lists" were requested as a tree description option while criterion was maximum likelihood. (Jenny Xiang) - Fixed a problem specific to the DOS version that could cause a crash on startup if the user's PATH specification contained any entries ending with a backslash (e.g., 'U:\'). (Vijay Aswani) - Parsimony analysis under Goloboff implied-weights criterion is now faster and uses much less memory. (John Gatesy) - Fixed problem failure to print subrange of pages correctly on Macintosh. (Andrew Simons) - Fixed cosmetic problem in "Print Consensus Trees" dialog box (no default border around Print button). (Andrew Simons) - Hennig-86 format treefiles created by Save Trees command now include a "procedure /;" as the last line. (Daniel Rafael Miranda-Esquivel) - Fixed problem that sometimes caused an obviously bogus distance matrix to be saved by SAVEDIST command when current distance was a standard (non-DNA) distance. (Chuck Delwiche, Kevin Omland) - The Templeton (Wilcoxon signed-ranks) test for significant differences between tree topologies now uses a correction for tied values when calculating the z score used for the normal approximation. In most cases, the difference is not great, but since there can be many tied score-differences under the parsimony criterion, it can make a substantial difference in some cases. (Allan Larson) - Fixed crashing when convex constraints were being enforced. (Todd Jackman) - Taxa not assigned to any subset in a taxon partition used to define a convexity constraint are no longer required to be convex in order to satisfy the constraint. (Todd Jackman) - Taxon names are no longer shortened inappropriately in output from Lake's invariants analysis. (Todd Jackman) - Now issues a warning if the longest line in a file just loaded into editor exceeds the maximum-length that can safely be edited (i.e., 32767 divided by number of pixels needed for each character). (Chuck Delwiche, Todd Jackman) - Eliminated bogus "Date/time of diskfile 'Name' has changed. Do you want to reload it from the disk?" query if a window was resized before its contents were executed. (Meredith Mahoney; the fix for this probably also eliminates a similar problem reported by James Lyons-Weiler associated with the "Edit Display Buffer" command.) - Improved interface for Mac "Log Output to Disk" dialog box. User is now warned if *all* output has been suppressed (i.e., output to main display is suppressed with no log file open); added a "Continue saving" button so that output to main display could be suppressed or re-enabled without having to hit "Cancel" or "Stop saving". (Morgan Raley) - Fixed crash when user assigned a stepmatrix type to a character (nucleotide) data, and then changed the gapmode setting from MISSING to NEWSTATE. If the original stepmatrix definition did not have a row and column corresponding to the "gap" state, then the cost of a change from gap to nongap or vice versa was undefined. Now, an error message is issued; just include gaps in your stepmatrix definitions to avoid getting this message. (Jim McGuire, Rob Fleischer) - Files imported from FREQPARS format now set the character-state for a locus to '?' in taxa that have frequencies of zero (possibly entered as blanks) for all taxa. (Kevin de Queiroz) - Reinstated output of the "island summary" after random- addition-sequence searches when only one tree per island was saved. (Mark Chase, Tony Cox) - Improved method used to diagonalize matrices in likelihood and distance analyses following a suggestion by Peter Waddell, eliminating all remaining possibility of "complex eigenvalue" messages. (John Huelsenbeck) - Program now bails out of GETTREES command if it hits the MaxTrees limit and user has suppressed the option to allow increasing it. Previously, it issued a string of warning messages, one for each tree. (Rick Noyes) - A temporary flag was inadvertently left set when the 4d64 builds were done that caused the negative-branch-length handling options for the minimum-evolution criterion to be ignored (and set to "IGNORE") if, and only if, the DELTRAN parsimony option was in effect (DELTRAN is not the default). It is unlikely that this combination of options would have been used, but if you did for some reason have OPT=DELTRAN in effect when a minimum evolution analysis was performed, the analysis should be repeated, unless you are happy with the "IGNORE" option for negative-branch-length handling. - PICT files created in Print Preview now have 'ttxt' (TeachText, SimpleText) creator. - Fixed nonworking "help" button in "Print " dialog box. - Fixed possible problems if ML distances were estimated while the ML "clock" constraint was in effect. - More information about the nature of a bootstrap search is now included in tree files generated by the option to save trees found in each replicate to a file. - Current option setting for negative-branch-length handling for least-squares criteria is now output in all relevant contexts. - Fixed crash if Adams consensus was requested for a tree of three terminal taxa. - Fixed bogus P value in winning-sites test if number of positive differences exactly equalled number of negative differences, but the total lengths of the two trees being compared were different. - Fixed bogus complaint about file contents being modified by another program after a "Save As" on a clean file. - Mac version no longer outputs "Untitled" as the name of a new window being executed if its contents are saved to a file in response to the prompt issued just before execution begins. - Fixed problems showing and saving distance matrices when the distances were huge (e.g., when calculated using an extremely small gamma shape parameter). - Fixed a problem that could cause obviously bogus results or a crash if the distance was changed between a DNA-specific and a non-DNA distance from the "Distance Options" dialog box after starting a bootstrap/jackknife search. - The option setting for showing parsimony approximations of ML parameters ("Tree Scores:Likelihood" dialog box or MLAPPROX on LSCORES command) is now nonpersistent. - Fix problems that occurred if a document was modified in an open editor window and was then executed by choosing "Execute " while the frontmost window was the main display window (rather than the editor window itself). - "Import" interface was revamped on Mac. Now, settings for all formats are made in a single dialog box, and the hierarchical menu was eliminated. - Fixed garbage output, and possible crash, when "change lists" were requested as a tree description output, on some platforms.