beastier demo

Richèl J.C. Bilderbeek

2019-12-02

Introduction

This vignette demonstrates how to use beastier.

First, load the library:

library(beastier)

Also, we’ll load the testthat library, to verify the statements in this vignette:

library(testthat)

To run BEAST2, we need to create a BEAST2 options structure`. We will use a supplied BEAST2 XML file. For the rest, we’ll use the default options:

beast2_options <- create_beast2_options(
  input_filename = get_beastier_path("2_4.xml")
)
names(beast2_options)
#> [1] "input_filename"        "output_state_filename" "rng_seed"             
#> [4] "n_threads"             "use_beagle"            "overwrite"            
#> [7] "beast2_path"           "verbose"

Before running BEAST2, the BEAST2 input file must exist, and we expect no output file to be created just yet:

expect_true(file.exists(beast2_options$input_filename))
expect_false(file.exists(beast2_options$output_state_filename))

We can run beastier now, if BEAST2 is installed. Because BEAST2 needs to be installed by the user, this vignette checks if it is installed:

if (is_beast2_installed()) {
  output <- run_beast2_from_options(beast2_options)
}

If beastier has run BEAST2, the MCMC’s final state will be saved to a file:

if (is_beast2_installed()) {
  expect_true(file.exists(beast2_options$output_state_filename))
}

If beastier has run BEAST2, the BEAST2 output can be shown:

if (is_beast2_installed()) {
  print(output)
}
#>  [1] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#>  [2] "                        BEAST v2.6.0, 2002-2019"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
#>  [3] "             Bayesian Evolutionary Analysis Sampling Trees"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
#>  [4] "                       Designed and developed by"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#>  [5] " Remco Bouckaert, Alexei J. Drummond, Andrew Rambaut & Marc A. Suchard"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
#>  [6] "                                    "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#>  [7] "                   Centre for Computational Evolution"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
#>  [8] "                         University of Auckland"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
#>  [9] "                       r.bouckaert@auckland.ac.nz"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
#> [10] "                        alexei@cs.auckland.ac.nz"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [11] "                                    "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [12] "                   Institute of Evolutionary Biology"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [13] "                        University of Edinburgh"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
#> [14] "                           a.rambaut@ed.ac.uk"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
#> [15] "                                    "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [16] "                    David Geffen School of Medicine"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
#> [17] "                 University of California, Los Angeles"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
#> [18] "                           msuchard@ucla.edu"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
#> [19] "                                    "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [20] "                      Downloads, Help & Resources:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
#> [21] "                           http://beast2.org/"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
#> [22] "                                    "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [23] "  Source code distributed under the GNU Lesser General Public License:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
#> [24] "                   http://github.com/CompEvol/beast2"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [25] "                                    "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [26] "                           BEAST developers:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
#> [27] "   Alex Alekseyenko, Trevor Bedford, Erik Bloomquist, Joseph Heled, "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [28] " Sebastian Hoehna, Denise Kuehnert, Philippe Lemey, Wai Lok Sibon Li, "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
#> [29] "Gerton Lunter, Sidney Markowitz, Vladimir Minin, Michael Defoin Platel, "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [30] "          Oliver Pybus, Tim Vaughan, Chieh-Hsi Wu, Walter Xie"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
#> [31] "                                    "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [32] "                               Thanks to:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
#> [33] "          Roald Forsberg, Beth Shapiro and Korbinian Strimmer"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
#> [34] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [35] "Writing state to file /home/richel/.cache/beast2_6384b3f7fc2.xml.state"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
#> [36] "Random number seed: 1575288731629"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
#> [37] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [38] "File: 2_4.xml seed: 1575288731629 threads: 1"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
#> [39] "Loading package MM v1.1.1"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
#> [40] "Loading package SA v2.0.2"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
#> [41] "Loading package BEAST v2.6.0"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
#> [42] "Loading package NS v1.1.0"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
#> [43] "Loading package BEASTLabs v1.9.0"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [44] "Loading package MODEL_SELECTION v1.5.2"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
#> [45] "Loading package starbeast2 v0.15.5"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
#> [46] "Loading package BEAST v2.6.0"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
#> [47] "t1: 20 4"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [48] "t2: 20 4"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [49] "t3: 20 4"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [50] "t4: 20 4"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [51] "t5: 20 4"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [52] "Alignment(test_output_0)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [53] "  5 taxa"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [54] "  20 sites"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
#> [55] "  16 patterns"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
#> [56] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [57] "Failed to load BEAGLE library: no hmsbeagle-jni in java.library.path: [/usr/lib/jvm/java-11-openjdk-amd64/lib/server, /usr/lib/jvm/java-11-openjdk-amd64/lib, /usr/lib/jvm/java-11-openjdk-amd64/../lib, /usr/lib/R/lib, /usr/lib/x86_64-linux-gnu, /usr/lib/jvm/default-java/lib/server, /usr/lib/R/lib, /usr/lib/x86_64-linux-gnu, /usr/lib/jvm/default-java/lib/server, /usr/lib/R/lib, /usr/lib/x86_64-linux-gnu, /usr/lib/jvm/default-java/lib/server, /usr/java/packages/lib, /usr/lib/x86_64-linux-gnu/jni, /lib/x86_64-linux-gnu, /usr/lib/x86_64-linux-gnu, /usr/lib/jni, /lib, /usr/lib]"
#> [58] "TreeLikelihood(treeLikelihood.test_output_00) uses BeerLikelihoodCore4"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
#> [59] "  Alignment(test_output_0): [taxa, patterns, sites] = [5, 16, 20]"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
#> [60] "==============================================================================="                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
#> [61] "Citations for this model:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
#> [62] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [63] "Bouckaert, Remco, Timothy G. Vaughan, Joëlle Barido-Sottani, Sebastián Duchêne, "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [64] "  Mathieu Fourment, Alexandra Gavryushkina, Joseph Heled et al. "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [65] "  BEAST 2.5: An advanced software platform for Bayesian evolutionary analysis. "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
#> [66] "  PLoS computational biology 15, no. 4 (2019): e1006650."                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [67] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [68] "==============================================================================="                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
#> [69] "Start likelihood: -109.14244344018199 "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
#> [70] "Warning: Overwriting file test_output_0.log"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
#> [71] "Warning: Overwriting file test_output_0.trees"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
#> [72] "         Sample      posterior ESS(posterior)     likelihood          prior"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
#> [73] "              0      -109.2166              N      -105.6603        -3.5563 --"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
#> [74] "           1000       -86.9150         2.0          -84.6437        -2.2712 --"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
#> [75] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [76] "Operator                                                   Tuning    #accept    #reject      Pr(m)  Pr(acc|m)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
#> [77] "ScaleOperator(YuleBirthRateScaler.t:test_output_0)        0.75000         33          8    0.04000    0.80488 Try setting scaleFactor to about 0.562"                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [78] "ScaleOperator(YuleModelTreeScaler.t:test_output_0)        0.50000         22         14    0.04000    0.61111 Try setting scaleFactor to about 0.25"                                                                                                                                                                                                                                                                                                                                                                                                                                               
#> [79] "ScaleOperator(YuleModelTreeRootScaler.t:test_output_0)    0.50000         21         22    0.04000    0.48837 Try setting scaleFactor to about 0.25"                                                                                                                                                                                                                                                                                                                                                                                                                                               
#> [80] "Uniform(YuleModelUniformOperator.t:test_output_0)               -        157        246    0.40000    0.38958 "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
#> [81] "SubtreeSlide(YuleModelSubtreeSlide.t:test_output_0)       1.00000         20        177    0.20000    0.10152 "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
#> [82] "Exchange(YuleModelNarrow.t:test_output_0)                       -         32        157    0.20000    0.16931 "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
#> [83] "Exchange(YuleModelWide.t:test_output_0)                         -          1         43    0.04000    0.02273 "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
#> [84] "WilsonBalding(YuleModelWilsonBalding.t:test_output_0)           -          1         47    0.04000    0.02083 "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
#> [85] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [86] "     Tuning: The value of the operator's tuning parameter, or '-' if the operator can't be optimized."                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
#> [87] "    #accept: The total number of times a proposal by this operator has been accepted."                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
#> [88] "    #reject: The total number of times a proposal by this operator has been rejected."                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
#> [89] "      Pr(m): The probability this operator is chosen in a step of the MCMC (i.e. the normalized weight)."                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
#> [90] "  Pr(acc|m): The acceptance probability (#accept as a fraction of the total proposals for this operator)."                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
#> [91] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [92] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#> [93] "Total calculation time: 0.72 seconds"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
#> [94] "End likelihood: -86.91504471030596"