beast-dev / beast-mcmc

Bayesian Evolutionary Analysis Sampling Trees
http://beast.community
GNU Lesser General Public License v2.1
192 stars 73 forks source link

XML file in thorney beast tutorial doesn't work #1133

Closed joelnitta closed 2 years ago

joelnitta commented 2 years ago

The XML file in thorney beast tutorial doesn't work with the current version of thorney beast (v0.1.2).

Example:

root@c36ba3f9934e:/wd# beast 1K_SARS-CoV-2_SG-thorney.xml

         BEAST v1.10.5 Prerelease #a6fb, 2002-2019
       Bayesian Evolutionary Analysis Sampling Trees
                 Designed and developed by
   Alexei J. Drummond, Andrew Rambaut and Marc A. Suchard

               Department of Computer Science
                   University of Auckland
                  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://beast.community

Source code distributed under the GNU Lesser General Public License:
                http://github.com/beast-dev/beast-mcmc

                     BEAST developers:
        Alex Alekseyenko, Guy Baele, Trevor Bedford, Filip Bielejec, Erik Bloomquist, Matthew Hall,
        Joseph Heled, Sebastian Hoehna, Denise Kuehnert, Philippe Lemey, Wai Lok Sibon Li,
        Gerton Lunter, Sidney Markowitz, Vladimir Minin, Michael Defoin Platel,
                Oliver Pybus, Chieh-Hsi Wu, Walter Xie

                         Thanks to:
        Roald Forsberg, Beth Shapiro and Korbinian Strimmer

Using BEAGLE library v4.0.0 (PRE-RELEASE) for accelerated, parallel likelihood evaluation
2009-, BEAGLE Working Group - https://beagle-dev.github.io/
Citation: Ayres et al (2019) Systematic Biology 68: 1052-1061 | doi:10.1093/sysbio/syz020

Random number seed: 1656393030233

Failed to load parser: New parser (gmrfSkygridBlockUpdateOperator) in {interface dr.inference.operators.MCMCOperator} cannot replace existing parser (gmrfSkygridBlockUpdateOperator) in {interface dr.inference.operators.MCMCOperator}
line = dr.evomodelxml.coalescent.operators.GMRFSkygridBlockUpdateOperatorParser

Failed to load parser: dr.evomodelxml.coalescent.GMRFTestLikelihoodParser
line = dr.evomodelxml.coalescent.GMRFTestLikelihoodParser

Failed to load parser: dr.inference.trace.DnDsPerSiteAnalysis
line = dr.inference.trace.DnDsPerSiteAnalysis

Failed to load parser: dr.inference.trace.CnCsPerSiteAnalysis
line = dr.inference.trace.CnCsPerSiteAnalysis

Failed to load parser: dr.inference.trace.CnCsToDnDsPerSiteAnalysis
line = dr.inference.trace.CnCsToDnDsPerSiteAnalysis

Loading additional development parsers from development_parsers.properties, which is additional set of parsers only available for development version ...

Failed to load parser: dr.evomodel.continuous.hmc.TaskPool
line = dr.evomodel.continuous.hmc.TaskPool

Failed to load parser: dr.inferencexml.operators.RepeatOperatorParser
line = dr.inferencexml.operators.RepeatOperatorParser

Parsing XML file: 1K_SARS-CoV-2_SG-thorney.xml
  File encoding: ASCII
Looking for plugins in /wd/plugins
Using node heights.

Creating the constrained tree model based on big fast tree model, 'treeModel'
  taxon count = 1000
  tree height = 0.4982022369466898
The gmrfSkyrideLikelihood has time aware smoothing
Creating a GMRF smoothed skyride model for multiple loci (SkyGrid)
        Population sizes: 39
Jun 28, 2022 5:10:30 AM dr.app.beast.BeastMain <init>
SEVERE: Parsing error - poorly formed BEAST file, 1K_SARS-CoV-2_SG-thorney.xml:
The '<thorneyTreeLikelihood>' element, with id, 'treeLikelihood', is incorrectly constructed.
The following was expected:
Exactly one ELEMENT of type ThorneyBranchLengthLikelihoodDelegate REQUIRED

Error thrown at: dr.xml.AbstractXMLObjectParser.parseXMLObject(Unknown Source)

Also note the Failed to load parser warnings (see #996)

Running BEAST in docker container joelnitta/thorney_beast:0.1.2 (github, docker hub)

GuyBaele commented 2 years ago

Runs fine in the hmc-clock branch of beast-mcmc.

jtmccr1 commented 2 years ago

Sorry for the confusion. The tutorial only works with the version in the tutorial. There has been some development to make the model more flexible to incorporate different branchrate models. This has led to some changes in the xml that I think make it more clear, but unfortunately are not backward compatible. I will update the tutorial with the final version when it is released. I imagine the hmc-clock branch shares code with v.0.1.1 and that is why it works on that branch.

joelnitta commented 2 years ago

Thanks for the answer @GuyBaele and clarification @jtmccr1.

There are many branches of BEAST, so it is difficult to know a-priori which branch works for a given XML file if it is not documented somewhere.

@jtmccr1 you may want to add to the tutorial that it currently only works with BEASTv.1.10.5pre_thorney_v0.1.1, not v0.1.2.