Releases: abacus-gene/paml
4.10.10
List of updates included in PAML v4.10.10:
- Files
src/README.txt,src/Makefile,src/Makefile.VChave been updated to include more details about how to compile allPAMLprograms. - Input tree files and control files in
examples/dating-cross-bracinghave been updated so that variables match the format followed fromPAMLv4.10.9. AREADME.txtfile has been included with instructions to run the example data. - Updates that affect
PAMLprogramMCMCtree:- Issue #90: we address the issue reported by @dongzhang0725 and @yetong-z regarding the usage of the multiplicative or conditional constructions when variable
TipDateis enabled. We note that this issue had been fixed in themasterbranch four months ago but had not been made available in a new release yet. - Users can now combine the content of various MCMC files (i.e., these files contain the samples collected during MCMC runs) in a unique file for subsequent MCMC diagnostics. Users must create a directory where all these text files are saved and run
MCMCtreeasmcmctree --combine <directory_name>. A new file calledmcmc_combined.txtwill be created. Example data to combine various MCMC files resulting from independentMCMCtreeruns into a unique text file has been included inexamples/combine-mcmc. AREADME.txtfile has been included with instructions to run the example data.
- Issue #90: we address the issue reported by @dongzhang0725 and @yetong-z regarding the usage of the multiplicative or conditional constructions when variable
- Updates affecting
PAMLprogramMCMCtreehave also been logged indoc/pamlHistory.txt.
PAML versions prior to v4.10
📝 Support and Maintenance
This release contains all PAML versions prior to v4.10. Please note that these versions are no longer actively maintained and may include issues that have been addressed in later releases. They are provided here as legacy software for reference and backward compatibility.
For the most up-to-date and supported version, please use the latest release. Bug reports and feature requests should also be directed to the latest supported release.
🔧 Installation details
All compressed files for PAML versions earlier than v3.0a include Windows executable files and the relevant C source code in the main directory. Releases from PAML v3.0b onward include a src directory containing the source code to be compiled, as well as Windows executable files (either in the main directory or in the bin directory).
To compile the source code, please download and extract the archive for the PAML version you wish to use, open a terminal in the main directory, and run the following commands (either from the main directory or from the src directory, depending on where the source code is located):
# Move to the directory where you find the source code
# and run:
make -f Makefile
# List all the compiled programs that are part of PAML and
# remove unnecessary files.
ls -lF
rm *.o
# Create a `bin` directory (or similar), which you can then export to your PATH.
mkdir ../bin
# Move the compiled programs to `bin`.
mv baseml basemlg chi2 codeml evolver infinitesites mcmctree pamp yn00 ../bin
# Test that you can run some PAML programs such as BASEML, CODEML, or evolver.
bin/baseml
bin/codeml
bin/evolverIf you wish to install paml-x (which is no longer maintained and is provided as-is), you can download the file pamlX1.3.1-src.tgz and follow the installation instructions in the PAML Wiki. Please download pamlX-windows.tar.gz to access the Windows executable.
⚠️ About the source code archive
The Source code (zip) and Source code (tar.gz) files are automatically generated by GitHub and contain the current main branch code (v4.10.9), NOT the legacy versions. The rest of the attached archives are legacy versions (i.e., PAML versions prior to v4.10).
4.10.9
List of updates in PAML v4.10.9:
-
Updates that affect
PAMLprogramMCMCtree:- Issue #75: following @mariodosreis's suggestion 1, users must now choose either the conditional (add option
corCin variableBDparas) or the multiplicative (add optionmorMin variableBDparas) construction. Please note that the old control files will not work anymore and shall trigger the following error message:error: Flag for birth-death process prior expected: C for conditional, M for multiplicative. - Issue #76: following @mariodosreis's suggestion, the test has been relaxed. Instead of using
1e-3, now0.1is used and a warning statingmay be wrong(instead of erroris wrong) will be printed, which may be ignored. In theory, the log-likelihood difference is more meaningful than the relative log-likelihood difference.
- Issue #75: following @mariodosreis's suggestion 1, users must now choose either the conditional (add option
-
Update that affects
PAMLprogramds:- Program
dscan be used to carry out summaries such as 1-D and 2-D density estimates as described in thePAMLWiki. For instance, at the end of anMCMCtreerun, you could run this program by typingds <mcmc.out>, where<mcmc.out>needs to be replaced with the path to the output file generated byMCMCtreewith all the samples collected (i.e., path specified with variablemcmcfilein the control file). The code has been updated by @xflouris so thatzopenis used instead ofgfopen, which fixes the issue that avoided this program to be compiled as files could not be opened. If you do not use the pre-compiled binaries and generate the binaries available as part of this release and you are compiling the source code, please note that you will not generate the binaries for thedsprogram with theMakefilefile (e.g.,make -f Makefile). In addition to running the aforementioned command, please use commandcc -o ds -O3 ds.c tools.c -lmif you want to compile the programdstoo.
- Program
4.10.8
The PAML Wiki is now available! Please make sure that you navigate through all the different sections to understand what PAML programs can and cannot do, how to install these programs, how to format your input data so that it is compatible with PAML programs, and how to run the various PAML programs:
List of updates in PAML v4.10.8:
-
Updates that affect
PAMLprogramMCMCtree:- Option
print = -1was printing out the wrong tree (i.e., different tree from the one specified by users in the input tree file), when summarising the MCMC sample. The error was introduced inPAMLv4.10.7 (June 2023), butPAMLv4.10.3 (Dev 2021) was correct. This issue is now fixed inPAMLv4.10.8. - The output
FigTree.treNEXUS file generated byMCMCtreenow includes 95% HPD CIs instead of 95% equal-tail CIs that previousPAMLversions were printing. You shall see the difference as the new label is&95%HPDinstead of&95%. - When enabling variable
duplicationin the control file, and if the MCMC runs is not interrupted (i.e., all samples specified in variablensampleare collected), the outputFigTree.trefile included labels next to the nodes that were identified as "driver nodes" (e.g.,#7.000000,8.000000; the number would change depending on the node label). This issue has now been fixed and the outputFigTree.trefile can be properly read without issues in GUIs such as FigTree, TreeViewer, etc. - The multiplicative construction has now been made the default for the birth-death prior (current versions used the conditional construction). All details regarding these changes have been documented in the
MCMCtreesection in the PAML Wiki. If the conditional construction is to be enabled, you will need to use a fourth (or fifth, if you are using BDSS and setting parameterpsi) argument in variableBDparas:BDparas = lambda mu rho psi c. Without the last argument beingc, the multiplicative construction will be triggered. You can also writeBDparas = lambda mu rho psi mfor the multiplicative construction, but this has been made the default. - Option
checkpointhas been updated so that now users can specify how often they want to save the current state of the Markov chain in theckptoutput file (i.e., third argument). All the details regarding checkpointing inMCMCtreecan be found under the bullet pointcheckpointin theMCMCtreesection in the PAML Wiki.
- Option
-
Updates that affect
PAMLprogramsBASEMLandCODEML:- The Tipdate-clock (
clock = 1,tipdate = 1 100) option inBASEML/CODEMLwas broken when multiple trees were given in the tree file (i.e., the program analysed the first tree multiple times). The error shows up when one changes the first line in the input tree fileexamples/TipDate.HIV2/HIV2ge.trefrom33 1to33 3. The bug is now fixed, but note that some of the trees in the tree file are bootstrap consensus trees, which are multifurcating trees. Thanks to jtmccr1 for reporting the bug under issue #43, which is now resolved.
- The Tipdate-clock (
-
Updates that resolve issues that Mac users with ARM-based processors were facing with
PAMLv4.10.7: Mac users with the latest chips were experiencing issues when running somePAMLprograms (e.g., "trace trap", "segfault", "illegal hardware instruction [...]" errors). This issue was due to invalid memory access problems (conditional jumps depending on uninitialized values). It is possible those values are automatically initialised by other binaries to 0, and so Linux, Windows, WSL, and Mac intel users did not experience such problems. Nevertheless, arm64 initialises them differently (or in a stricter way) because it is a RISC processor, and so Mac users with ARM-based architectures were affected by this problem. This issue was fixed when reported but was available only in thedevbranch.PAMLv4.10.8 incorporates these changes, and thus addresses the (now closed) following issues: issue #45 and issue #47.
NOTE: fixed issues have also been recorded in file pamlHistory.txt.
4.10.7
Updated doc, about equality and inequality constraints on node ages in mcmctree
fixed det calculation in matinv.
paml-4.10.5
changed ndata option in baseml/codeml.
paml-4.10.6
Changed
Changed ndata option in baseml/codeml, and added back the old option of one tree block for all datasets/alignments.
Edited the document.
v4.10.3
Changes
Changed ndata option in baseml and codeml.
Fixed a bug in the TipDate option in mcmctree which caused the program to fail to read the sampling dates.
Fixed bugs in pamp for ancestral sequence reconstruction.
Changed the default MCMC proposal to Bactrian-Laplace with m = 0.90.
The source code is inside the tgz files.
paml v4.10.0
Changes
- Edited code to remove compiler warnings
- Changed the calculation of initial values for mcmctree so that the ages are not too old.
- Fixed a bug which causes the tip-dating analysis in baseml and codeml to fail to print out a block of output including substitution rate per time unit and absolute age estimates.