=== REPRODUCTION MATERIAL README ===

Requires a UNIX-compatible environment running bash, and git software.

Copy blangSDK-2.13.1.tar.gz into this folder.

Run script run.sh to to setup blangSDK and run models. Results are
then available in example/results/all and others/results/all.

file: run.sh
====================================================
This script should be run from the directory where it is located.
It begins by extracting and installing the blangSDK and CLI tools, and proceeds to run all models in example.
Note that this must be run with `source run.sh` to properly configure the blang CLI path.


directory: example
====================================================
This subdirectory holds the following models and corresponding datasets, which are used in the manuscript to display results:

- Doomsday.bl
- MixtureModel.bl *
- MixtureModelPlated.bl
- CompositeModel.bl
- Rockets.bl
- PhylogeneticTree.bl **
- SpikeSlabClassification.bl *
- and various other code snippets within the paper:
  - ContinuousUniformExample.bl
  - ExponentialExample.bl
  - IntMixtureExample.bl
  - IsingExample.bl
  - LogPotentialExample.bl
  - MarkovChainExample.bl
  - PlatedMatrixExample.bl
  - PoissonPoissonMixtureExample.bl

Models with * require the programming language R with packages dplyr and ggplot2.
Models with ** require internet connection.


directory: PermutationExample
====================================================
The PermutationExample directory contains source files for both the model and tests.
To run the tests, a gradle project must be setup:
```
  mv PermutationExample tmp
  create-blang-gradle-project --name PermutationExample
  rm -r PermutationExample/src
  mv tmp/src PermutationExample
  cd PermutationExample
  ./gradlew clean
  ./gradlew test
```
