The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
This vignette demonstrates how to use beastier
.
First, load the library:
Also, we’ll load the testthat
library, to verify the
statements in this vignette:
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 in every step:
If beastier
has run BEAST2, the BEAST2 output can be
shown:
if (is_beast2_installed()) {
print(output)
}
#> [1] ""
#> [2] " BEAST v2.6.7, 2002-2022"
#> [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/beastier/beast2_8296497d3b66.xml.state"
#> [36] "Random number seed: 1717509111883"
#> [37] ""
#> [38] "t1: 20 4"
#> [39] "t2: 20 4"
#> [40] "t3: 20 4"
#> [41] "t4: 20 4"
#> [42] "t5: 20 4"
#> [43] "Alignment(test_output_0)"
#> [44] " 5 taxa"
#> [45] " 20 sites"
#> [46] " 16 patterns"
#> [47] ""
#> [48] "TreeLikelihood(treeLikelihood.test_output_00) uses BeerLikelihoodCore4"
#> [49] " Alignment(test_output_0): [taxa, patterns, sites] = [5, 16, 20]"
#> [50] "==============================================================================="
#> [51] "Citations for this model:"
#> [52] ""
#> [53] "Bouckaert, Remco, Timothy G. Vaughan, Joëlle Barido-Sottani, Sebastián Duchêne, Mathieu Fourment, "
#> [54] "Alexandra Gavryushkina, Joseph Heled, Graham Jones, Denise Kühnert, Nicola De Maio, Michael Matschiner, "
#> [55] "Fábio K. Mendes, Nicola F. Müller, Huw A. Ogilvie, Louis du Plessis, Alex Popinga, Andrew Rambaut, "
#> [56] "David Rasmussen, Igor Siveroni, Marc A. Suchard, Chieh-Hsi Wu, Dong Xie, Chi Zhang, Tanja Stadler, "
#> [57] "Alexei J. Drummond "
#> [58] " BEAST 2.5: An advanced software platform for Bayesian evolutionary analysis. "
#> [59] " PLoS computational biology 15, no. 4 (2019): e1006650."
#> [60] ""
#> [61] "==============================================================================="
#> [62] "Start likelihood: -101.39363887640036 "
#> [63] " Sample posterior ESS(posterior) likelihood prior"
#> [64] " 0 -99.6530 N -94.2642 -5.3888 --"
#> [65] " 1000 -91.5525 2.0 -86.8330 -4.7194 --"
#> [66] ""
#> [67] "Operator Tuning #accept #reject Pr(m) Pr(acc|m)"
#> [68] "ScaleOperator(YuleBirthRateScaler.t:test_output_0) 0.75000 43 3 0.04000 0.93478 Try setting scaleFactor to about 0.562"
#> [69] "ScaleOperator(YuleModelTreeScaler.t:test_output_0) 0.50000 18 21 0.04000 0.46154 Try setting scaleFactor to about 0.255"
#> [70] "ScaleOperator(YuleModelTreeRootScaler.t:test_output_0) 0.50000 31 20 0.04000 0.60784 Try setting scaleFactor to about 0.25"
#> [71] "Uniform(YuleModelUniformOperator.t:test_output_0) - 189 209 0.40000 0.47487 "
#> [72] "SubtreeSlide(YuleModelSubtreeSlide.t:test_output_0) 1.00000 37 155 0.20000 0.19271 "
#> [73] "Exchange(YuleModelNarrow.t:test_output_0) - 51 135 0.20000 0.27419 "
#> [74] "Exchange(YuleModelWide.t:test_output_0) - 4 40 0.04000 0.09091 "
#> [75] "WilsonBalding(YuleModelWilsonBalding.t:test_output_0) - 3 42 0.04000 0.06667 "
#> [76] ""
#> [77] " Tuning: The value of the operator's tuning parameter, or '-' if the operator can't be optimized."
#> [78] " #accept: The total number of times a proposal by this operator has been accepted."
#> [79] " #reject: The total number of times a proposal by this operator has been rejected."
#> [80] " Pr(m): The probability this operator is chosen in a step of the MCMC (i.e. the normalized weight)."
#> [81] " Pr(acc|m): The acceptance probability (#accept as a fraction of the total proposals for this operator)."
#> [82] ""
#> [83] ""
#> [84] "Total calculation time: 0.32 seconds"
#> [85] "File: 2_4.xml seed: 1717509111883 threads: 1"
#> [86] "Loading package MODEL_SELECTION v1.5.3"
#> [87] "Loading package Babel v0.3.2"
#> [88] "Loading package BADTRIP v1.0.0"
#> [89] "Loading package BEASTLabs v1.9.7"
#> [90] "Loading package BEAST v2.6.7"
#> [91] "Loading package bacter v2.2.5"
#> [92] "Loading package BEAST v2.6.7"
#> [93] "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]"
#> [94] "Writing file test_output_0.log"
#> [95] "Writing file test_output_0.trees"
#> [96] "End likelihood: -91.5525670694645"
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))
file.remove(beast2_options$output_state_filename)
}
#> [1] TRUE
beastier::remove_beaustier_folders()
This final state can be used to continue the run.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.