ropensci / babette

babette is an R package to work with BEAST2
https://docs.ropensci.org/babette
GNU General Public License v3.0
44 stars 6 forks source link

babette cannot read BEAST file: correct #101

Closed richelbilderbeek closed 2 years ago

richelbilderbeek commented 2 years ago

Describe the bug

[...]

I have a brief question about which babette function to use to run the model contained in the attached .xml file? When I use run_beast2, I get the following error:

bug

[...] Rachael Aber

To Reproduce

Unknown.

Attached is the XML as a zip: airCommunitiesMM_1.zip

Expected behavior

That it works

Screenshots

NA

Environment:

Unknown

Additional context

Unknown

richelbilderbeek commented 2 years ago

Recreated bug here:

# Issue #101
testthat::expect_true(beastier::is_beast2_installed())

zip_filename_url <- "https://github.com/ropensci/babette/files/7802540/airCommunitiesMM_1.zip"
zip_filename <- tempfile(fileext = ".zip")
download.file(url = zip_filename_url, destfile = zip_filename)
beast2_input_file <- unzip(zipfile = zip_filename, exdir = tempfile())
beast2_input_file

beastier::run_beast2_from_options(
  beast2_options = beastier::create_beast2_options(
    input_filename = beast2_input_file,
    verbose = TRUE
  )
)
richelbilderbeek commented 2 years ago

Output:

|parameter             |value                                                      |
|:---------------------|:----------------------------------------------------------|
|input_filename        |/tmp/RtmpvlURLe/file76aa1281b23e/airCommunitiesMM_1.xml    |
|output_state_filename |/home/richel/.cache/beastier/beast2_76aa5b60be55.xml.state |
|rng_seed              |NA                                                         |
|n_threads             |NA                                                         |
|use_beagle            |FALSE                                                      |
|overwrite             |TRUE                                                       |
|beast2_path           |/home/richel/.local/share/beast/lib/launcher.jar           |
|verbose               |TRUE                                                       |

Running command: '/usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp /home/richel/.local/share/beast/lib/launcher.jar beast.app.beastapp.BeastLauncher -validate /tmp/RtmpvlURLe/file76aa1281b23e/airCommunitiesMM_1.xml' BEAST v2.6.0, 2002-2019 Bayesian Evolutionary Analysis Sampling Trees Designed and developed by Remco Bouckaert, Alexei J. Drummond, Andrew Rambaut & Marc A. Suchard Centre for Computational Evolution University of Auckland r.bouckaert@auckland.ac.nz alexei@cs.auckland.ac.nz Institute of Evolutionary Biology University of Edinburgh a.rambaut@ed.ac.uk David Geffen School of Medicine University of California, Los Angeles msuchard@ucla.edu Downloads, Help & Resources: http://beast2.org/ Source code distributed under the GNU Lesser General Public License: http://github.com/CompEvol/beast2 BEAST developers: Alex Alekseyenko, Trevor Bedford, Erik Bloomquist, Joseph Heled, Sebastian Hoehna, Denise Kuehnert, Philippe Lemey, Wai Lok Sibon Li, Gerton Lunter, Sidney Markowitz, Vladimir Minin, Michael Defoin Platel, Oliver Pybus, Tim Vaughan, Chieh-Hsi Wu, Walter Xie Thanks to: Roald Forsberg, Beth Shapiro and Korbinian StrimmerRandom number seed: 1641222138299File: airCommunitiesMM_1.xml seed: 1641222138299 threads: 1Loading package BEAST v2.6.0Loading package BEAST v2.6.0Error 101 parsing the xml input fileWrong version: only versions > 2.0 are supportedError detected about here: Running command: '/usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp /home/richel/.local/share/beast/lib/launcher.jar beast.app.beastapp.BeastLauncher -validate /tmp/RtmpvlURLe/file76aa1281b23e/airCommunitiesMM_1.xml' BEAST v2.6.0, 2002-2019 Bayesian Evolutionary Analysis Sampling Trees Designed and developed by Remco Bouckaert, Alexei J. Drummond, Andrew Rambaut & Marc A. Suchard Centre for Computational Evolution University of Auckland r.bouckaert@auckland.ac.nz alexei@cs.auckland.ac.nz Institute of Evolutionary Biology University of Edinburgh a.rambaut@ed.ac.uk David Geffen School of Medicine University of California, Los Angeles msuchard@ucla.edu Downloads, Help & Resources: http://beast2.org/ Source code distributed under the GNU Lesser General Public License: http://github.com/CompEvol/beast2 BEAST developers: Alex Alekseyenko, Trevor Bedford, Erik Bloomquist, Joseph Heled, Sebastian Hoehna, Denise Kuehnert, Philippe Lemey, Wai Lok Sibon Li, Gerton Lunter, Sidney Markowitz, Vladimir Minin, Michael Defoin Platel, Oliver Pybus, Tim Vaughan, Chieh-Hsi Wu, Walter Xie Thanks to: Roald Forsberg, Beth Shapiro and Korbinian StrimmerRandom number seed: 1641222139095File: airCommunitiesMM_1.xml seed: 1641222139095 threads: 1Loading package BEAST v2.6.0Loading package BEAST v2.6.0Error 101 parsing the xml input fileWrong version: only versions > 2.0 are supportedError detected about here: Error in beastier::check_input_filename_validity(beast2_options) : 'input_filename' must be a valid BEAST2 XML file. File '/tmp/RtmpvlURLe/file76aa1281b23e/airCommunitiesMM_1.xml' is not a valid BEAST2 file. FALSE

richelbilderbeek commented 2 years ago

Conclusion: when setting verbose to TRUE the BEAST2 error message is clear:

Error 101 parsing the xml input file Wrong version: only versions > 2.0 are supported

The BEAST2 input file is too old. babette does not support such an old version by default, but can it?

richelbilderbeek commented 2 years ago

Taking a look at the beast2 releases, there is no BEAST2 version that has a version below v2.0, maybe because that is BEAST (i.e. 'BEAST1').

Maybe that is the problem: the input file is a BEAST (i.e. 'BEAST1', not BEAST2) input file.

richelbilderbeek commented 2 years ago

Conclusion: the input file is a BEAST (i.e. 'BEAST1', not BEAST2) input file. babette allows to run BEAST2 from R, not BEAST, hence this is not a babette bug.

richelbilderbeek commented 2 years ago

Notified Rachael the author of the email.

Closing the Issue now, but hey, if Rachael wants to reopen, she's welcome too :-)