*BEAST broken in BEAUti v2.1.2

314 views
Skip to first unread message

Remco Bouckaert

unread,
May 5, 2014, 1:07:43 AM5/5/14
to beast...@googlegroups.com
Dear *BEAST users,

Do not use *BEAST analysis produced by BEAUti v2.1.2, as the StarBeast template for BEAUti v2.1.2 produces XML that is not a valid *BEAST analysis.

A fix is available in pre-release2.1.3, which you can obtain from https://github.com/CompEvol/beast2/releases. We are testing at the moment, and a proper release should be available soon.

Alternatively,  to set up a *BEAST analysis with v2.1.2, use the template from
https://raw.githubusercontent.com/CompEvol/beast2/master/templates/StarBeast.xml
Just overwrite the one in the BEAST/templates directory.

Sorry for the inconvenience,

Remco

Details of the problems: the main issue is that the NodeReheight operator should have all gene-trees as inputs, but the template fails to do so. As a result, the topology of the species tree does not change in the analysis. The XML produced, looks something like this:

    <operator id="Reheight.t:Species" spec="NodeReheight" taxonset="@taxonsuperset" tree="@Tree.t:Species" weight="25"/>

but the operator should have a genetree element, one for each gene tree. By editing the XML to insert one entry per genetree, the opertaor should look something like this:

    <operator id="Reheight.t:Species" spec="NodeReheight" taxonset="@taxonsuperset" tree="@Tree.t:Species" weight="25">
        <genetree idref="Tree.t:26"/>
        <genetree idref="Tree.t:46"/>
        <genetree idref="Tree.t:59"/>
    </operator>

Here, there are three genes named '26', '46' and '59'.

Another issue is that the new StarBeastStartState -- which is supposed to produce a good starting state and can reduce burn-in quite a lot -- does not produce starting trees that conform to any monophyletic constraints that are specified. If there are monophyletic constraints, the calibrated Yule prior is more appropriate than the Yule prior for the species tree. The template now produces XML that uses StarBeastStartState only if the calibrated Yule prior is not used. If the calibrated Yule prior is used, a random gene tree (obeying any constraints) is generated and initial genetrees are produced that only have coalescent events higher than the root of the species tree.

Eugene Madzokere

unread,
May 5, 2014, 9:44:23 AM5/5/14
to beast...@googlegroups.com


Hie Remco,

 I'm trying out BEAST v2.1.2 for the first time. I work on a Mac.My BEAST 2 Package Manager isn't displaying a "List of  of available  packages for BEASTv2.1*". I'm doing the Ancestral Reconstruction/Discrete Phylogeography with BEAST 2.0 tutorial (ARv2.0.1.pdf). I take it this means one of two things, either there aren't any packages pre-installed including the one's of interest (BEAST_CLASSIC and BEASTii) for this tutorial or there's something I'm not doing correctly. I just found out that the same thing is occurring with the BEAST v2.1.3 pre-release. Perhaps its my settings? This never happened with version 1.8, which is where 'm coming from. The tutorial specifies that "if you have not already in- stalled BEASTii, an error message may be shown warning that BEASTii should be installed as well", NB: This isn't happening at all!
 
I did download the add-on packages from (http://beast2.org/wiki/index.php/Add-ons), found the H5N1 nexus file in the "examples" directory. However, the issue remains, how to install them and proceed with the analysis?

Thanks for the help in advance
Eugene

Remco Bouckaert

unread,
May 5, 2014, 8:49:49 PM5/5/14
to beast...@googlegroups.com
Hi Eugene,

For BEAST 2, you need to do install the extra packages, unlike BEAST 1. The easiest way to do this is through the package manager in BEAUti, using the "File/Manage packages" menu. BEAUti version 2.1.* tries to download the list of packages from
https://raw.githubusercontent.com/CompEvol/CBAN/master/packages2.1.xml
If the list of packages in the package manager is empty, this indicates that BEAUti cannot access this file for some reason -- perhaps some firewall settings? Can you access that file through your browser?

Installing packages by hand is not recommended, because it is easy to install the wrong version. The list on http://beast2.org/wiki/index.php/Add-ons is now out of date. The packages2.1.xml file lists the location of the latest packages. If you still need to install by hand, you can download the zip file, and uncompress them in your BEAST user dir -- for Windows, this is YourHomeDir\BEAST\2.1\, for Mac it is ~/Library/Application Support/BEAST/ and for Linux ~/.beast/2.1 (for the current version). You may need to create that directory if it does not already exists. To install say BEASTii, create a directory inside the 2.1 directory called BEASTii, and unzip the file listed in packages2.1.xml. After installation, you should have a directory beast/2.1/BEASTii/lib/, beast/2.1/BEASTii/examples/, and file beast/2.1/BEASTii/version.xml among others. BEAST and BEAUti then pick up the packages from these directories.

Hope this helps,

Remco

Message has been deleted
Message has been deleted

Eugene

unread,
May 13, 2014, 8:30:02 AM5/13/14
to beast...@googlegroups.com

Hie Remco,

This is what I can confirm for now:

On Windows, The BEAUti Package Manager for version 2.1.2 and version 2.1.3 does list available packages and BEAST_CLASSI and BEASTii are available for installation on this list.

On Mac however, creating directories and unzipping the individual package material for both BEAST_CLASSIC and BEASTii did not allow me to add the "discrete trait". Running 'addonmanager' from command line, gave these errors:

First is error to list available packages, then Second and third respectively, are errors to install the individual packages (BEAST_CLASSIC and BEASTii).Note, firewall settings are off, however still, in all cases the error is related in that the PKIX path building failed. Perhaps you can make sense of this.

Gordons-MacBook-Pro:bin eugenemadzokera$ ./addonmanager -list
Packages user path : /Users/eugenemadzokera/Library/Application Support/BEAST/2.1
Getting list of packages ...javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1209)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:135)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:943)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1215)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:476)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
at java.net.URL.openStream(URL.java:1010)
at beast.util.AddOnManager.getPackages(Unknown Source)
at beast.util.AddOnManager.main(Unknown Source)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:323)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:217)
at sun.security.validator.Validator.validate(Validator.java:218)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1188)
... 14 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
... 20 more

Gordons-MacBook-Pro:bin eugenemadzokera$ ./addonmanager -add BEAST_CLASSIC
Packages user path : /Users/eugenemadzokera/Library/Application Support/BEAST/2.1
Getting list of packages ...javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1209)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:135)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:943)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1215)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:476)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
at java.net.URL.openStream(URL.java:1010)
at beast.util.AddOnManager.getPackages(Unknown Source)
at beast.util.AddOnManager.main(Unknown Source)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:323)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:217)
at sun.security.validator.Validator.validate(Validator.java:218)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1188)
... 14 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
... 20 more
Gordons-MacBook-Pro:bin eugenemadzokera$ ./addonmanager -add BEASTii
Packages user path : /Users/eugenemadzokera/Library/Application Support/BEAST/2.1
Getting list of packages ...javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1209)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:135)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:943)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1215)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:476)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
at java.net.URL.openStream(URL.java:1010)
at beast.util.AddOnManager.getPackages(Unknown Source)
at beast.util.AddOnManager.main(Unknown Source)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:323)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:217)
at sun.security.validator.Validator.validate(Validator.java:218)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1188)
... 14 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
... 20 more

Cheers
Eugene
Reply all
Reply to author
Forward
0 new messages