BEAST v2.6.6 released

1,599 views
Skip to first unread message

Remco Bouckaert

unread,
Aug 15, 2021, 4:27:48 PM8/15/21
to beast...@googlegroups.com
Dear BEAST user,

We are pleased to announce the release of BEAST v2.6.6. The main improvements are

Fix so that when not using ambiguities, the nucleotide 'U' base pair is correctly interpreted
Fix tree annotator for lower bound on common ancestor heights
Make the -prefix option work when not using a directory
Allow '=' signs in options passsed with -D
Add filter input to SwapOperator
Fix so DocMaker works again
Update for R script to create EBSP plots
Limit size of Trie to prevent memory leaks for some models
More robust Nexus parser
Improved error messages
More details are available here: https://www.beast2.org/2021/08/16/what-is-new-in-v2.6.6.html
You can download this version via the BEAST 2 site (http://www.beast2.org/) or if you already have BEAST v2.6.x installed, just start BEAUti and you will be prompted to upgrade to v2.6.6. See the above link to the post for alternative ways to install.

Note that BEAST 2 requires Java 8 or better, which can be downloaded for example from https://adoptopenjdk.net/ or use the version with Java included available for Windows and Linux (not for Mac just yet).

BEAST core development team

Remco Bouckaert

unread,
Apr 6, 2022, 10:41:36 PM4/6/22
to beast...@googlegroups.com
Dear BEAST user,

We are pleased to announce the release of BEAST v2.6.7. The main improvements are

Fix auto-set clock rate in BEAUti when independent trees are involved
Loading two dimensional data into trait dialog robustified
Make NexusParser more robust and allow Fasta imports to select from all data types
Fix TreeAnnotator -heights processing issue
Make Prior.sample() obey parameter bounds
Fix TipDateRandomWalker to ensure heights are always >= 0
Remove superfluous new lines in XML produced by BEAUti
SimulatedAlignment correctly links indices of tree to alignment
Option 'ascii' added to Logger to allow it to convert output to ascii or not
Add upper limit to delta exchange optimization
Made tree input to RatesStatistic required to ensure appropriate behaviour
More details are available here: http://www.beast2.org/2022/04/06/what-is-new-in-v2.6.7.html
You can download this version via the BEAST 2 site (http://www.beast2.org/) or if you already have BEAST v2.6.x installed, just start BEAUti and you will be prompted to upgrade to v2.6.7. See the above link to the post for alternative ways to install.

Note that BEAST 2 requires Java 8 or better, which can be downloaded for example from https://adoptium.net/ or use the version with Java included.

BEAST core development team

Remco Bouckaert

unread,
Sep 5, 2022, 8:37:36 PM9/5/22
to beast...@googlegroups.com
Dear BEAST user,

We are pleased to announce the release of BEAST v2.7.0 The main improvements are:
    BEAUti has had a facelift, allows dark mode
    BEAUti templates reorganised for better performance
    "Help me choose" buttons added to BEAUti for direct targeted help
    Faster MCMC convergence due to smarter operators
    DensiTree v3.0.0 included, which allows pairwise comparison of tree sets
    Uses latest version of libraries: java 17, javafx, commons math, etc.
    Code reorganised, BEAST split into two packages: BEAST.base and BEAST.app
    Module like treatment of BEAST packages to prevent package library clashes

You can download this version of BEAST from here (upgrading via package manager is not possible for this major release):

http://www.beast2.org/

and choose the version for your operating system.


Note that not all packages are available for v2.7.0 yet (work is in progress on that), but for those package that do not work you can still run v2.6.x separately next to v2.7.0.


BEAST core development team

Pfeiffer, Wayne

unread,
Sep 10, 2022, 5:20:13 PM9/10/22
to beast...@googlegroups.com, Pfeiffer, Wayne
Hi Remco,

This is encouraging news.

However, when I try to run 2.7.0 using xml input files that work for 2.6.6, I receive the following error message:

Error 1017 parsing the xml input file

Class could not be found. Did you mean beast.base.inference.MCMC?
Perhaps a package required for this class is not installed?

Error detected about here:
  <beast>
      <run id='mcmc' spec='MCMC’>

* Please advise.

Thanks,  Wayne

--
You received this message because you are subscribed to the Google Groups "beast-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beast-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beast-users/D3ACB445-D9E1-4C77-8C3A-BCC5A52363D4%40gmail.com.

Remco Bouckaert

unread,
Sep 11, 2022, 11:13:37 PM9/11/22
to beast...@googlegroups.com
Hi Wayne,

Version 2.7.0 is a major release and is not backward compatible with earlier versions, so if you want to run XML files created for v2.6.6, you need to use v2.6.x. 

If it is a ‘standard' analysis (that is, created with the ‘Standard’ template in BEAUti), most likely setting it up in BEAUti 2.7.0 will result in an analysis that runs faster due to the use of new operators in v2.7.0 that are not available in the standard analysis of earlier versions. So, even though it is a bit of a nuisance, it may be worth re-generating the XML for v2.7.0.

Hope this clarifies things,

Remco

Pfeiffer, Wayne

unread,
Sep 11, 2022, 11:26:22 PM9/11/22
to beast...@googlegroups.com, Pfeiffer, Wayne
Hi Remco,

When new versions of BEAST2 become available, I run tens of benchmarks on the nodes that we use for the CIPRES gateway to determine how many cores or GPUs to use for cost-effective parallel execution.

* Is there a tool that I can use to convert the tens of 2.5.x and 2.6.x xml files that I have to 2.7.0 ones?

The existing xml files are from runs made by our many users over the years, so it is not practical for me to regenerate the files from scratch using BEAUti.

Best regards,  Wayne

higg...@gmail.com

unread,
Sep 11, 2022, 11:40:52 PM9/11/22
to beast-users
Hi Wayne,

There is a perl script that you can download from here: https://raw.githubusercontent.com/CompEvol/beast2/master/scripts/migrate.pl
that helps converting v2.6 to v2.7 files. Place all your XML files into a folder, say “beastxml” then run

perl migrate.pl beastxml

and it attempts to converts all XML (and java) files, overwriting the original files. There may be a little manual tweaking required to make them actually run under v2.7.0. Let me know if run into trouble. Any feedback on improving the script is welcome.

Note that the script only converts the original analysis to the new analysis, and does not use the improved set of operators. The XML generated by BEAUti v2.7.0 can be quite different, and probably has slightly different computational profiles. If there is a way to characterise the set of analyses you have, perhaps comparing one or two may be sufficient to find out whether the differences are substantial or not. Let me know if there is something I can do to help out.

Cheers,

Remco

Pfeiffer, Wayne

unread,
Sep 11, 2022, 11:51:10 PM9/11/22
to beast...@googlegroups.com, Pfeiffer, Wayne
Hi Remco,

Thanks for the quick follow-up. I will give the Perl script a try and let you know whether it does the trick.

Best regards,  Wayne

Pfeiffer, Wayne

unread,
Sep 12, 2022, 1:24:58 PM9/12/22
to beast...@googlegroups.com, Pfeiffer, Wayne
Hi Remco,

The Perl script fails to successfully convert the logger block that generates the trees file from the old format to the new one.

* Here is an example of that block produced by the Perl script:

    <logger fileName="$(tree).trees" id="treelog.t:benchmark2_new_1part" logEvery="1000" mode="tree">
        <log id="TreeWithMetaDataLogger.t:benchmark2_new_1part" spec="beast.base.evolution.tree.TreeWithMetaDataLogger" tree="@Tree.t:benchmark2_new_1part"/>
    </logger>

* And here is the error message from beast:

Error 1017 parsing the xml input file

Class could not be found. Did you mean beast.base.evolution.TreeWithMetaDataLogger?
Perhaps a package required for this class is not installed?

Error detected about here:
  <beast>
      <run id='mcmc' spec='MCMC'>
          <logger id='treelog.t:benchmark2_new_1part'>
              <log id='TreeWithMetaDataLogger.t:benchmark2_new_1part' spec='beast.base.evolution.tree.TreeWithMetaDataLogger’>

* Please advise how the script should be modified to successfully convert the logger block.

beast runs OK without that block, but then the trees file is not output.

Best regards,  Wayne

Andre silva roza

unread,
Sep 12, 2022, 3:37:12 PM9/12/22
to beast...@googlegroups.com
Hi Remco,
I was unable to open Beast 2.6.x on windows 10, but beast 2.7 opens just fine (with few window size issues, though).
However, I haven't found SA package (sampled ancestors) on the list. Is it available for Beast 2.7? Is there any prevision when it will be?
I am trying to run an FBD analysis, so it is imperative for me.

Best regards,
André



--
André Silva Roza

Laboratório de Entomologia, sala A1-107, 
Departamento de Zoologia, Instituto de Biologia
Centro de Ciências da Saúde (CCS), Av. Carlos Chagas Filho, 373
Cidade Universitária, Ilha do Fundão, Universidade Federal do Rio de Janeiro
Rio de Janeiro, RJ, Brasil CEP: 21941-971
Tel: +55 21 3938-6371
Caixa Postal 68044

higg...@gmail.com

unread,
Sep 12, 2022, 3:41:49 PM9/12/22
to beast-users
Hi André

The SA package has not been migrated yet to v2.7.0, so to use that package you need to run v2.6.x.

You mentioned that v2.6 is not running: did you try the version with java included? If not, do you have a jdk (version 8) installed, available from for example https://adoptopenjdk.net/ (make sure to select OpenJDK 8).

Cheers,

Remco

Pfeiffer, Wayne

unread,
Sep 13, 2022, 12:40:36 PM9/13/22
to beast...@googlegroups.com, Pfeiffer, Wayne
Hi Remco,

I was able to do “a little manual tweaking” of the xml files from your Perl script to get them to work :)

By looking at the examples that come with 2.7.0, I figured out that “tree.” should be deleted from the following string in my example:

  spec=“beast.base.evolution.tree.TreeWithMetaDataLogger"

I then made benchmark runs with 2.7.0 for nine data sets that I previously analyzed with 2.6.6. Here is what I found.

- One benchmark ran 10% faster with 2.7.0 than 2.6.6 on both 4 cores and 1 GPU :)
- Six benchmarks ran at the same speed with the two versions.
- One benchmark would not run with 2.7.0 because SA is not yet available.
- One benchmark failed using 2.7.0 with the following error message:

Error 1017 parsing the xml input file

Class could not be found. Did you mean beastlabs.inference.ML?
Perhaps a package required for this class is not installed?

Error detected about here:
  <beast>
      <run id='mcmc' spec='MCMC'>
          <distribution id='posterior' spec='beast.base.inference.CompoundDistribution'>
              <distribution id='likelihood' spec='beast.base.inference.CompoundDistribution'>
                  <distribution id='treeLikelihood.Bivalvia_AA' spec='ThreadedTreeLikelihood'>
                      <siteModel id='SiteModel.s:Bivalvia_AA' spec='SiteModel'>
                          <substModel id='LG.s:Bivalvia_AA' spec='LG’> 

* If you would like to see this xml file, I would be happy to send it to you.

In any case, I will make some more benchmark runs before we make 2.7.0 available via CIPRES.

Best regards,  Wayne

Andre silva roza

unread,
Sep 13, 2022, 3:03:35 PM9/13/22
to beast...@googlegroups.com
Hi Remco,
Yes, I tried everything with Beast 2.6.x.
With Java, without java, by command prompt. Nothing works.

2.7 works fine, though, with the exception of log combiner, which simply does not open.

I will wait for SA on 2.7 then.

Best regards,
André

higg...@gmail.com

unread,
Sep 13, 2022, 5:35:03 PM9/13/22
to beast-users
Hi Wayne,

Nice to see  v2.7.0 is already at least as fast as v2.6. I expect that in terms of ESS per hour, analyses set up with BEAUti v2.7.0 to be generally faster than v2.6.

Thanks for the feedback on the migration script -- I updated it so that it deals with this 'TreeWithMetaDataLogger' issue.

The issue you mentioned with the last file is because the LG model is in the BEAST-CLASSIC package. Replacing spec='LG’ with spec='beastclassic.evolution.substitutionmodel.LG’ and having the BEAST-CLASSIC package installed should fix the problem.

Cheers,

Remco

higg...@gmail.com

unread,
Sep 13, 2022, 5:39:22 PM9/13/22
to beast-users
Hi André,

It is interesting to see that LogCombiner v2.7 does not run: it is the only app that still has a swing based GUI, while the others are mostly javafx based GUIs, so maybe there is something in the swing library that causes this problem.

Does DensiTree (which is also swing based) work -- either v2.6 or v2.7?

When you start v2.6 apps from the command prompt, are there any messages printed that could give a clue to what is happening?

Cheers,

Remco

Pfeiffer, Wayne

unread,
Sep 14, 2022, 5:01:13 PM9/14/22
to beast...@googlegroups.com, Pfeiffer, Wayne
Hi Remco,

Thanks for the suggestion regarding the LG model. I did as you suggested, and that fixed the problem :)

I also ran benchmarks using 2.7.0 for some other BEAST2 capabilities, and here is what I found.

1. My starbeast3 benchmark failed even though that package is installed, as shown here:

Loading package ORC v1.1.0 bModelTest v1.3.0 BEAST_CLASSIC v1.6.0 OBAMA v1.1.0 BEAST.app v2.7.0 speedemon v1.1.0 SNAPP v1.6.0 BEASTLabs v2.0.0 starbeast3 v1.1.1 BICEPS v1.1.0 BEAST.base v2.7.0

Here is the error message:

Error 1017 parsing the xml input file

Class could not be found. Did you mean starbeast3.tree.SpeciesTree?
Perhaps a package required for this class is not installed?

Error detected about here:
  <beast>
      <run id='mcmc' spec='beast.base.inference.MCMC'>
          <state id='state' spec='State'>
              <stateNode id='tree' spec='starbeast3.SpeciesTree’>

2. My Path Sampling benchmark failed with the following error message:

Error 1017 parsing the xml input file

Class could not be found. Did you mean snap.operators.RateMixer?
Perhaps a package required for this class is not installed?

Error detected about here:
  <beast>
      <run spec='beast.inference.PathSampler’>

3. My SNAPP benchmarks run relatively fast but output many messages regarding numerical problems that are not seen with 2.6.6. Here is an output excerpt:

         110000     -1640.2442         6.8        -1633.3089        -6.9352 4.102013971E-4       245.3596 16m14s/Msamples
P(posterior) = -Infinity (was -1640.2442328115858)  **
        P(prior) = -Infinity (was -6.935288218281217)  **
                P(Clade0001) = -Infinity (was -7.258412150595307)  **
                P(null) = -5.5027252821873684 (was -5.5027252821873684)
                P(null) = -7.325427693457025 (was -7.325427693457025)
                P(null) = 13.151276907958481 (was 13.151276907958481)
        P(likelihood) = -1633.3089445933047 (was -1633.3089445933047)
                P(null) = -1633.3089445933047 (was -1633.3089445933047)
         120000     -1638.6391         7.6        -1631.4983        -7.1408 2.271020047E-4       604.1860 16m15s/Msamples
         130000     -1638.5675         7.9        -1631.1084        -7.4591 5.580981752E-4       339.3774 16m20s/Msamples
         140000     -1641.5810        10.9        -1633.8259        -7.7550         0.0032        56.7589 16m19s/Msamples
P(posterior) = -Infinity (was -1641.581019246524)  **
        P(prior) = -Infinity (was -7.755085572060955)  **
                P(Clade0001) = -Infinity (was -7.258412150595307)  **
                P(null) = -4.0388126201145 (was -4.0388126201145)
                P(null) = -3.9199659758533825 (was -3.9199659758533825)
                P(null) = 7.462105174502235 (was 7.462105174502235)
        P(likelihood) = -1633.825933674463 (was -1633.825933674463)
                P(null) = -1633.825933674463 (was -1633.825933674463)

* Let me know if you need more information to troubleshoot these problems.

Best regards,  Wayne

Andre silva roza

unread,
Sep 15, 2022, 1:52:43 AM9/15/22
to beast...@googlegroups.com
Hi Remco,
DensiTree works on both of them.

When I try to open the 2.6 by command prompt, I get this:

"C:\Users\André Roza>REM Check whether the JRE is included

C:\Users\André Roza>IF EXIST C:\BEAST\bat\\..\jre (
REM for BEAST version that includes JRE
 C:\BEAST\bat\\..\jre\bin\java -cp C:\BEAST\bat\\..\lib\launcher.jar beast.app.beastapp.BeastLauncher
)  ELSE (
REM for version that does not include JRE
 java -cp C:\BEAST\bat\\..\lib\launcher.jar beast.app.beastapp.BeastLauncher
)
java.lang.ClassNotFoundException: beast.app.beastapp.BeastMain
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at beast.util.BEASTClassLoader.forName(Unknown Source)
        at beast.app.beastapp.BeastLauncher.run(Unknown Source)
        at beast.app.beastapp.BeastLauncher.main(Unknown Source)"

I don't know if I am doing something wrong

width=Não contém vírus.www.avast.com



--
André Silva Roza

Laboratório de Entomologia, sala A1-107, 
Departamento de Zoologia, Instituto de Biologia
Centro de Ciências da Saúde (CCS), Av. Carlos Chagas Filho, 373
Cidade Universitária, Ilha do Fundão, Universidade Federal do Rio de Janeiro
Rio de Janeiro, RJ, Brasil CEP: 21941-971
Tel: +55 21 3938-6371
Caixa Postal 68044

width=Não contém vírus.www.avast.com

higg...@gmail.com

unread,
Sep 15, 2022, 1:55:50 AM9/15/22
to beast-users
Hi André,

Thanks for persisting in this -- possibly, the space in the directory name is an issue: would you mind trying to move the BEAST directory containing all programs to a directory without space (for example c:\temp\) and see whether you can start any of the v2.6 programs?

Cheers,

Remco

higg...@gmail.com

unread,
Sep 15, 2022, 2:00:34 AM9/15/22
to beast-users
Hi Wayne,

Are the weirdly behaving files converted with the migration script from v2.6 to v2.7?
Can you send them to me so I can investigate further?

Cheers,

Remco

Pfeiffer, Wayne

unread,
Sep 15, 2022, 6:23:40 AM9/15/22
to beast...@googlegroups.com
Hi Remco,

Yes, all the input xml files have been converted with your migrate.pl Perl script.

I will send you the files separately.

Best regards,  Wayne

Andre silva roza

unread,
Sep 19, 2022, 3:36:02 PM9/19/22
to beast...@googlegroups.com
Hi Remco,
I am away from the lab this week because I'm teaching a course at graduation.
But I will try it next week and I will let you know if it worked.

Best regards,
André

Andre silva roza

unread,
Sep 28, 2022, 2:15:45 AM9/28/22
to beast...@googlegroups.com
Hi Remco,
No deal, nothing worked on another user with no spaces.
Any ideas?

Best regards,
André

Dylan Ohearn

unread,
Sep 28, 2022, 8:58:21 AM9/28/22
to beast-users
Hi Remco,

When I run BEAST 2.7 on Windows 11, the output files are being written to the BEAST directory instead of the directory containing the XML file for the run.  Is there a way to control that?  BEAUTI has the "set working directory" option but it doesn't seem to give a choice of directories on your computer (mousing over it shows me beast.app, beastlabs, bmodeltest, orc, and starbeast3).

Thanks,
Dylan

higg...@gmail.com

unread,
Sep 28, 2022, 3:13:24 PM9/28/22
to beast-users
Hi André,

Thanks for trying this out. The error message you posted earlier for v2.6 indicates that a class that is in the beast.jar file was not loaded. So, for some reason, the beast.jar file is not found, or not loaded. The list of jar files to be loaded is stored in \Users\<yourname>\BEAST\2.6\beauti.properties, where <yourname> is your user name. Perhaps something went wrong installing packages, and deleting the whole package directory \Users\<yourname>\BEAST\2.6 will fix this.

If not, can you try in a command prompt, change to the BEAST\lib directory and run

java -cp beast.jar;launcher.jar beast.app.beauti.BeautiLauncher

This guarantees the class is loaded before it tries to access it.
Cheers,
Remco

higg...@gmail.com

unread,
Sep 28, 2022, 3:22:20 PM9/28/22
to beast-users
Hi Dylan,

This looks like a bug of the GUI version of BEAST, so I created a new issue for it (#19). A workaround is to use the command line version of BEAST (which is usually a bit faster), which outputs to where you started BEAST from. So, if you open a command prompt, then change directory to where the XML file is, then run

\path\to\BEAST\bat\BEAST.bat beast.xml

where \path\to\BEAST the path to where you have BEAST installed and beast.xml the XML file you want to run. This will make BEAST output in the same directory as where the beast.xml file is. You can even create subdirectories, say run1, change to run1, and run

\path\to\BEAST\bat\BEAST.bat ..\beast.xml

to get output in the run1 directory.
Hope this helps,

Remco



Dylan O'Hearn

unread,
Sep 29, 2022, 10:06:47 PM9/29/22
to beast...@googlegroups.com
Thanks Remco, I will do that instead.

One more question- in BEAST 2.6, the thread pool size is automatic, but in BEAST 2.7, the run options section contains two dropdowns, one for threads and one for instances.  Is the number of threads still chosen automatically if we do nothing, and if not, are there guidelines for selecting a good number of threads/instances for the data?

Dylan

You received this message because you are subscribed to a topic in the Google Groups "beast-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beast-users/6buFvQIYDTo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beast-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beast-users/c21fc6c7-015e-49cc-b6ca-e7e9ccae841fn%40googlegroups.com.

higg...@gmail.com

unread,
Sep 29, 2022, 10:20:06 PM9/29/22
to beast-users
Hi Dylan,

Different data sets require different settings for optimal performance. There is some guidance here:
for selecting these settings.

Cheers,

Remco

Shook Ling Low

unread,
Sep 29, 2024, 2:30:07 PM9/29/24
to beast-users
Dear Remco,

I will need to use BEAST 2.6.6 or 2.6.4 for SNAPP run, however I found that the downloaded beast version from the versions 2.6.0 to 2.6.6 are directly come with BEAST 2.6.7. I wonder how can I get this fix? 

Many thanks!

SL

higg...@gmail.com

unread,
Sep 29, 2024, 2:50:11 PM9/29/24
to beast-users
If you have v2.6.0 installed, but updated the BEAST package to v2.6.7, it will run everything with v2.6.7.

The crude but easy option to run a different version of BEAST, say v2.6.6, is to remove the BEAST package directory, and start BEAST from the v2.6.6 release (for Windows in Users\<YourName>\BEAST\2.6\BEAST, for Mac in /Users/<YourName>\/Library/Application Support/BEAST/2.6/BEAST, for Linux /home/<YourName>/.beast/2.6/BEAST).

Be aware that when you run a newer version of BEAST, the BEAST package is automatically updated to the newer version: so, if you run v2.6.0 the first time, that is the version of the BEAST package that will be installed, unless there is already a newer version installed. Running v2.6.0, then v2.6.6, then v2.6.0 results in v2.6.6 being used for the last run. The reason for this is that updating to newer versions only require the package to be updated, not the whole BEAST installation (which, since it includes a java runtime, takes up much more space).

A more elegant solution is to install the v2.6.6 package inside the `archive` directory inside the BEAST package directory, specify BEAST v2.6.6 in the XML in the 'required' attribute of the `beast` element, and start BEAST with the `strictversions` option. This should allow you to run different versions of the package.

Older releases are available from https://github.com/CompEvol/beast2/releases.

Hope this helps,

Remco
Reply all
Reply to author
Forward
0 new messages