Error messages generated by BEAST and its associated utilities.
BEAST Error Messages
This error is most likely because the input file was not actually an XML file.
The input file was recognized as an XML document but the document broke some fundemental rules for XML (it was not "well-formed").
The input file was recognized as an XML file but the content was not as expected by BEAST. The exact element in the file will be listed along with details of the problem. For example:
Parsing error - poorly formed BEAST file: The '<alignment>' element with id, 'alignment1', is incorrectly constructed. The following was expected: One of ATTRIBUTE String dataType REQUIRED ELEMENT of type dataType REQUIREDIn this case, although the input file was a valid XML document, there was an error in the syntax that BEAST requires. For example, above, an element of type <alignment> does not conform to the requirement that it either has an attribute called 'dataType' or contains an element called '<dataType>'.
Look at the answer to this FAQ question for possible reasons for this error and solutions.
For slightly older versions of BEAST (which do not yet enforce the use of the BEAGLE library), a possible solution is exactly to use the BEAGLE library.
Not using BEAGLE results in BEAST using the java implementation of the likelihood calculator which means all your data will be loaded into the Java heap, which then leads to this error.
Additionally, the use of BEAGLE will also increase the performance of BEAST, i.e. make it run faster.
There will be an error message displayed in the BEAST GUI window, but that window closes to quickly to observe what the error message was.
Your BEAST download folder will typically contain a lib folder, with a beast.jar file in it.
We suggest to run your BEAST XML using this .jar file as follows from a terminal:
java -jar beast.jar dataset.xmlThe error message shown in the terminal will further help determine the actual problem in running your BEAST XML file.
BEAGLE Error Messages
This (linux-based) error occurs because BEAST is unable to locate the BEAGLE library.
When following the installation instructions and specifically the part on how to set the environment variables, BEAST should be able to locate BEAGLE without any additional instructions.
Should setting the environment variables no take care of this issue, you can manually provide the location of BEAGLE when running BEAST as follows:
java -Djava.library.path=/usr/local/lib -jar beast.jar test.xmlin the case that you installed BEAGLE in /usr/local/lib. When following the installation instructions, BEAGLE will be installed in the /lib folder within your HOME directory. If you're unsure where you've installed BEAGLE, you can locate the BEAGLE library as follows:
locate libhmsbeagle-jni.soOn Windows, it may be necessary to restart your computer after installing BEAGLE, in order for the system's environment variables to be set up correctly. If that doesn't work, you can try copying the BEAGLE DLL files from C:\Program Files\Common Files:
hmsbeagle64.dll hmsbeagle-cpu64.dll hmsbeagle-opencl64.dllto the same directory that holds you BEAST executable, e.g. BEASTv10.5.0-beta5.exe.
If you're not determined to use OpenCL and this error hence only prevents you from running BEAST with BEAGLE, you can uninstall the OpenCL package ocl-icd-opencl-dev:
sudo apt-get remove ocl-icd-libopencl1Reinstalling the BEAGLE library according to the installation instructions will complete fixing the problem. Note that uninstalling the OpenCL package will prevent other software that relies on OpenCL from running properly.
After installing the BEAGLE library according to the installation instructions, the suggested 'make check' command may indicate that the installation was not successfull:
One possible solution is to uninstall the OpenCL package on your (linux-based) system:
FAIL: genomictest.sh ============================================================================ Testsuite summary for libhmsbeagle 2.1.2 ============================================================================ # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 ============================================================================ See examples/genomictest/test-suite.log Please report to beagle-dev@googlegroups.com ============================================================================
One possible solution is to uninstall the OpenCL package on your (linux-based) system:
sudo apt-get remove ocl-icd-libopencl1Reinstalling the BEAGLE library according to the installation instructions can complete fixing the problem. Note that uninstalling the OpenCL package will prevent other software that relies on OpenCL from running properly.
This can be fixed by being more explicit when specifying the command-line options for BEAGLE.
For example, if your graphics card is detected by BEAGLE and assigned resource number 1, you can specify the following:
-beagle_gpu -beagle_double -beagle_order 1If your data has multiple partitions and you want to distribute the likelihood evaluations for those partitions across multiple graphics cards (with assigned resource numbers 1 and 2):
-beagle_gpu -beagle_double -beagle_order 1,2We have a separate webpage on how to increase computational performance.
This error has to do with your Java installation, specifically whether or not you have a potential mismatch between a 32-bit operating system and a 64-bit Java installation.
This can easily be checked by trying the following in a terminal:
java -versionWhen a full 64-bit Java has been installed, you should see on screen something similar to this:
java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)To check whether you're running a 32-bit or a 64-bit operating system, in linux or in OSX:
uname -aThe output might look like this:
Linux 2.6.32-642.6.2.el6.x86_64 #1 SMP Mon Oct 24 10:22:33 EDT 2016 x86_64 x86_64 x86_64 GNU/LinuxSpecifically, the x86_64 indicates a 64-bit environment. In Windows, you can right-click on My Computer and it should show whether you're running a 32-bit or a 64-bit Windows version. When both your operating system and Java environment are 64-bit, this problem should not appear. Ideally, you should have 64-bit versions installed of both operating system and Java environment.
This error message indicates a problem with the CUDA installation on your system.
When running the ./configure script as part of the BEAGLE installation instructions, pay attention to possible error messages at the end.
For example, you may get the following message:
configure: WARNING: NVIDIA CUDA nvcc compiler not found or CUDA support disabled. CUDA implementation will not be built. If CUDA support is desired, check the path to CUDA and specify --with-cuda=/path/to/cudaIf so, you may need to give it the path to the CUDA SDK installation (or perhaps you haven’t installed the CUDA SDK - i.e., not just the drivers).
When the BEAST output indicates that BEAGLE has been found (the BEAGLE version is printed after the BEAST development acknowledgements) but your analysis still throws a BEAGLE-related error, it may be the case that no hardware resources have been found by BEAGLE.
This can easily be checked by running BEAST and selecting the option "Show list of available BEAGLE resources and Quit".
If BEAGLE then only prints the following without any additional output, no suitable resources have been found and hence the analysis cannot be run:
BEAGLE resources:This can be solved by properly setting the following environment variables:
LD_LIBRARY_PATH PKG_CONFIG_PATHHow to set these variables depends on the operating system; more information can be found in the BEAGLE installation instructions.