Skip to content

Commit

Permalink
BEAST release v2.7.7
Browse files Browse the repository at this point in the history
  • Loading branch information
rbouckaert committed Jun 24, 2024
1 parent 6f2f8b0 commit 80e412d
Show file tree
Hide file tree
Showing 8 changed files with 122 additions and 29 deletions.
34 changes: 15 additions & 19 deletions _pages/beast-v2-0-readme-file.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ <h2>BEAST v2 ReadMe File</h2>


{% highlight xml %}
BEAST v2.7.6 2023
Beast 2 development team 2011-2023
BEAST v2.7.7 2024
Beast 2 development team 2011-2024

Last updated: November 2023
Last updated: June 2024

Contents:
1) INTRODUCTION
Expand Down Expand Up @@ -58,16 +58,11 @@ <h2>BEAST v2 ReadMe File</h2>
___________________________________________________________________________
2) INSTALLING BEAST

BEAST requires a Java Virtual Machine to run. Many systems will already
have this installed. It requires at least version 1.8 of Java to run. The
latest versions of Java can be downloaded from:

&lt;http://java.com/&gt;

If in doubt type "java -version" to see what version of java is installed
(or if it is installed at all).

Mac OS X will already have a suitable version of Java installed.
BEAST requires a Java Virtual Machine version 17 and JavaFX to run. The
BEAST installation packages come with a suitable Java + JavaFX and it is
recommended to use these versions of Java + JavaFX. It is possible to use
different versions, but it will require considerable time configuring them,
so that is not recommended.

Within the BEAST package will be the following directories:
Directory Contents
Expand All @@ -76,7 +71,7 @@ <h2>BEAST v2 ReadMe File</h2>
lib/ Java & native libraries used by BEAST
bin/ Scripts of the corresponding OS
fxtemplates/ Templates to initiate BEAUti

jre/ Suitable java runtime
___________________________________________________________________________
3) CONVERTING SEQUENCES

Expand All @@ -88,19 +83,19 @@ <h2>BEAST v2 ReadMe File</h2>
folder. If this doesn't work then you may not have Java installed correctly.
Try opening an MS-DOS window and typing:

\path\to\BEAST\bat\beauti.bat
\path\to\BEAST\bat\beauti.bat

Where "\path\to" the path to where BEAST is installed.
__________________________________________________________________________
4) RUNNING BEAST

To run BEAST simply double-click the "BEAST.exe" file in the BEAST
folder. You will be asked to select a BEAST XML input file.

Alternatively open a Command window and type:
\path\to\BEAST\bat\beast.bat input.xml
\path\to\BEAST\bat\beast.bat input.xml

Where "\path\to" the path to where BEAST is installed and "input.xml" is the
name of a BEAST XML format file. This file can either be created from scratch
Expand Down Expand Up @@ -147,7 +142,7 @@ <h2>BEAST v2 ReadMe File</h2>
-sampleFromPrior samples from prior for MCMC analysis (by adding sampleFromPrior="true" in the first run element)
-version_file Provide a version file containing a list of services to explicitly allow. (Useful for package development.)
-packagedir Set user package directory instead of using the default

For example:

\path\to\BEAST\bin\beast.bat -seed 123456 -overwrite input.xml
Expand Down Expand Up @@ -232,6 +227,7 @@ <h2>BEAST v2 ReadMe File</h2>
Thanks for supplying code or assisting with the creation
or testing of Beast 2 development team.


{% endhighlight %}

<p></p>
Expand Down
4 changes: 2 additions & 2 deletions _pages/download-linux-aarch64.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<h2>Downloading BEAST for Linux</h2>
<p>The BEAST Download should be under way.
<p>Once the file is downloaded, uncompress the file (<code>tar fxz BEAST.v2.7.6.Linux.aarch64.tgz</code>) which creates a <code>beast</code> directory.
<p>Once the file is downloaded, uncompress the file (<code>tar fxz BEAST.v2.7.7.Linux.aarch64.tgz</code>) which creates a <code>beast</code> directory.
<p>Start BEAST, BEAUti or the other programs from a terminal using any of the scripts in <code>beast/bin</code>.

<h2>Trouble shooting</h2>
Expand All @@ -20,6 +20,6 @@ <h3>Download issues</h3>

<script>
window.onload = function () {
window.location="https://github.com/CompEvol/beast2/releases/download/v2.7.6/BEAST.v2.7.6.Linux.aarch64.tgz"
window.location="https://github.com/CompEvol/beast2/releases/download/v2.7.7/BEAST.v2.7.7.Linux.aarch64.tgz"
}
</script>
4 changes: 2 additions & 2 deletions _pages/download-linux-x86.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<h2>Downloading BEAST for Linux</h2>
<p>The BEAST Download should be under way.
<p>Once the file is downloaded, uncompress the file (<code>tar fxz BEAST.v2.7.6.Linux.x86.tgz</code>) which creates a <code>beast</code> directory.
<p>Once the file is downloaded, uncompress the file (<code>tar fxz BEAST.v2.7.7.Linux.x86.tgz</code>) which creates a <code>beast</code> directory.
<p>Start BEAST, BEAUti or the other programs from a terminal using any of the scripts in <code>beast/bin</code>.

<h2>Trouble shooting</h2>
Expand All @@ -20,6 +20,6 @@ <h3>Download issues</h3>

<script>
window.onload = function () {
window.location="https://github.com/CompEvol/beast2/releases/download/v2.7.6/BEAST.v2.7.6.Linux.x86.tgz"
window.location="https://github.com/CompEvol/beast2/releases/download/v2.7.7/BEAST.v2.7.7.Linux.x86.tgz"
}
</script>
8 changes: 4 additions & 4 deletions _pages/download-mac.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ <h2>Downloading BEAST for Mac</h2>
<p>Once the file is downloaded, open the dmg file by double clicking it, and drag the BEAST folder into the Application folder in the window that pops up.

<p>Start BEAST, BEAUti or the other programs by double clicking the icon in the <code>BEAST </code> directory in the Application folder.
<p>You can also start them from a terminal using any of the scripts in <code>/Applications/BEAST v2.7.6/bin</code>.
<p>You can also start them from a terminal using any of the scripts in <code>/Applications/BEAST v2.7.7/bin</code>.

<h2>Trouble shooting</h2>

Expand All @@ -25,13 +25,13 @@ <h3>ARM version</h3>
<p>To create an ARM version, replace the jre directory with an ARM version of the JRE (e.g. from
[Zulu azul](https://www.azul.com/downloads/?version=java-17-lts&os=macos&architecture=arm-64-bit&package=jre-fx) or
[Bellsoft](https://bell-sw.com/pages/downloads/#/java-17-lts) -- make sure to select "Arm" and "Full JRE" before downloading the tar.gz version).
Uncompress the tar.gz file, and move the folder to <code>/Applications/BEAST v2.7.6/jre</code>.
Check the file <code>/Applications/BEAST v2.7.6/jre/bin/java</code> exists.
Uncompress the tar.gz file, and move the folder to <code>/Applications/BEAST v2.7.7/jre</code>.
Check the file <code>/Applications/BEAST v2.7.7/jre/bin/java</code> exists.



<script>
window.onload = function () {
window.location="https://github.com/CompEvol/beast2/releases/download/v2.7.6/BEAST.v2.7.6.Mac.dmg"
window.location="https://github.com/CompEvol/beast2/releases/download/v2.7.7/BEAST.v2.7.7.Mac.dmg"
}
</script>
2 changes: 1 addition & 1 deletion _pages/download-windows.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ <h3>ARM version</h3>

<script>
window.onload = function () {
window.location="https://github.com/CompEvol/beast2/releases/download/v2.7.6/BEAST.v2.7.6.Windows.zip"
window.location="https://github.com/CompEvol/beast2/releases/download/v2.7.7/BEAST.v2.7.7.Windows.zip"
}
</script>
97 changes: 97 additions & 0 deletions _posts/2024-06-24-what-is-new-in-v2.7.7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
layout: post
title: What is new in v2.7.7
tags: []
---

# TreeAnnotator

## Add CCD to the list of recommended packages for TreeAnnotator

The maximum clade credibility (MCC) tree is the default methods used in TreeAnnotator for summarising tree posteriors.
However, it was shown (Berling et al, 2024) that the conditional clade distribution (CCD) method almost always performs better in terms of accuracy (closer Robinson-Foulds distance to the true tree) and specificity (summary trees of two independent runs are closer).
In fact, running the MCC tree on any moderately high entropy posterior almost always results in different MCC trees, unlike the CCD method.

This shows a collection of 20 summary trees on the example RSV2 data set that comes with BEAST2.
Left, the MCC trees showing considerable differences between the various runs, while CCD0 is much more stable.

![RSV2 MCC vs CCD0 point estimates](/images/RSV2MCCvsCCD0pointestimates.png)

Therefore, the MCC method will be discouraged from now on, and it is recommended to **use the CCD0** method instead.


## TreeAnnotator GUI to pick up correct topology setting method

A bug caused TreeAnnotator to ignore the choice in the drop down box for the topology setting (though the command line versiono was fine). This is fixed now.

# LogAnalyser

## Add threading option to loganalyser when running with the oneline option

When performing well calibrated simulation studies (Mendes et al, 2024), it is necessary to summarise results from many BEAST runs, which can easily be done with `loganalyser` but can take up considerably time when there are many items in the trace log or trace logs are long.
LogAnalyser now has a `-threads <threadcount>` option that allow running this proces in parallel.
Useful in combination with the `-oneline` mode.


## Check added to prevent out of bound exception CompeVol/BeastFX/#81

Running loganalyser on trace files that are being written to by a BEAST process can results in an out-of-bound exception when the file is being written to between the time loganalyser determines how much memory to reserve by checking the file size, and actually parsing of the trace log.

A check to prevent such situations is added to prevent LogAnalyser crashing.

# BEAUti

## Robustify for drag/dropping alignments

Using the BinaryCovarion template from the Babel package, drag/dropping did not work even if the alignment could be imported via the `File => Import alignment` menu.
This should work now.

## Enable importing of alignments in files with `.txt` extension

Downloading nexus files from the internet on some Windows and OS X computers sometimes got a `.txt` extension appended, which is not visible in file browsers.
This makes it hard to diagnose, and was holding up quite a few people doing tutorials.
The alignment importer now deals with this by removing the file extension if it does not succeed in finding a suitable importer.

## Remove HTML error messages

Some error messages were still lingering containing HTML tags, which does not format properly in JavaFX Alerts.
These should all be fixed now.

# BEAST

## Allow launch through `java -jar launcher.jar`

Command line launch of BEAST directly this way was possible in version v2.6 for BEAST but reinstated now for v2.7.
It is recommended to start BEAST through the script in `\path\to\BEAST\bat\beast.bat` on Windows or `/path/to/beast/bin/beast` on OS X and Linux though, since it is guaranteed to use the correct java version.

## Make alignment a StateNode

This enables alignments to be sampled, which can be useful when there is uncertainty about the alignment.

## Make Randomizer thread aware for better replicability of threaded runs

BEAST is usually deterministic, so starting with the same seed twice results in exactly the same output.

Multi-threaded algorithms that use the Randomizer class in different threads does not show this behaviour, since it depends on how much time the operating system assigns to each thread on when threads access Randomizer. This hinders debugging of for example automatic stopping MCMC algorithms, which use multiple MCMC chains in parallel, all accessing the same Randomizer object.

A solution that has minimal impact on other code would be for the Randomizer to check the thread name using `Thread.currentThread().getName()`. If the name is not set, the default `Randomizer.random` object can be used to generate random numbers. If the thread name is set, a new `MersenneTwisterFast` can be associate with the name, so that the order in which threads obtain random numbers does not matter.

This is somewhat fragile in that the programmer has to set the thread name (using `Thread.setName()`).

## Make the `AdaptableOperatorSampler` ignore zero weight operators CompEvol/beast2#1136

Currently, the weight attributes of operators that are inputs for an `AdaptableOperatorSampler` are ignored.

For fixed tree analyses, the standard recipe is to set weights of operators that change the topology to zero (like Wilson Balding, Exchange operators), but since ORC operators also cause topology changes the story becomes more involved since operators like the `ORCInternalnodesOperator` that are input to an `AdaptableOperatorSampler` need to be removed by editing or commented out in the XML. This is not possible in BEAUti. To keep things simple along the lines of 'set weight to zero' it would be good if the `AdaptableOperatorSampler` could just ignore these operators.



## References

L Berling, J Klawitter, R Bouckaert, D Xie, A Gavryushkin, A Drummond
A tractable tree distribution parameterized by clade probabilities and its application to Bayesian phylogenetic point estimation
bioRxiv, 2024.02. 20.581316

FK Mendes, R Bouckaert, LM Carvalho, AJ Drummond
How to validate a Bayesian evolutionary model
bioRxiv, 2024.02. 11.579856
Binary file added images/RSV2MCCvsCCD0pointestimates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<p>BEAST 2 is a cross-platform program for Bayesian phylogenetic analysis of molecular sequences. It estimates rooted, time-measured phylogenies using strict or relaxed molecular clock models. It can be used as a method of reconstructing phylogenies but is also a framework for testing evolutionary hypotheses without conditioning on a single tree topology. BEAST 2 uses Markov chain Monte Carlo (MCMC) to average over tree space, so that each tree is weighted proportional to its posterior probability. BEAST 2 includes a graphical user-interface for setting up standard analyses and a suit of programs for analysing the results.</p>
<h2>Download</h2>
<p>The latest version of BEAST 2 is version 2.7.6. To install this version,
<p>The latest version of BEAST 2 is version 2.7.7. To install this version,
select one of the following to download the version for your operating system:
<ul>
<li>Download
Expand Down

0 comments on commit 80e412d

Please sign in to comment.