-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the EpiFusion wiki! This is a living document which will grow as we add improvements to the program, but for now it contains instructions on how to get started. Below is a very brief description of the key information you need to know, and you can find out more in other sections of the wiki.
EpiFusion uses input files called 'XML' files as its input. If you are familiar with programs like BEAST, you will be familiar with this language (but EpiFusion inputs are less advanced). This file contains everything the program needs to run, including the data, parameters and priors for the analysis. There are example XML files in the 'examples' folder of this repo, but you can also find out more about each component of EpiFusion XML and learn how to assemble your own parameters in the 'EpiFusion XML Explained' section.
You can compile EpiFusion from source by cloning this repository and building the program within a java IDE, however this is unnecessarily complex, as we have executable files available on the releases page and these are much more stable. Better to download the latest release and place it into wherever folder you wish to call it from. We'll include more specific instructions on this in the 'Installation' section.
When you have your EpiFusion XML assembled, you can run the program (provided you have Java 8 installed) with the following command.
java -jar EpiFusion.jar parameterfilename.xml
Alternatively, if you have the R package EpiFusionUtilities installed, it's possible to run EpiFusion from inside your R session with the function run_epifusion(). It still uses java, so you'll still need to have it installed, but it might be slightly more intuitive for some users.
EpiFusion will create a directory within your working directory that corresponds to the 'fileBase' parameter in your EpiFusion xml file. For every MCMC chain, there will be 6 output files: likelihoods, acceptance, betas, params, rt, and trajectories. We have a number of useful R functions for parsing EpiFusion output available in the EpiFusionUtilities R package, which can be installed via devtools using the R command install::devtools('EpiFusionUtilities').
To get to grips with how EpiFusion works, it might be useful to follow some tutorials:
- Tutorial 1 - Running an Existing XML will guide you through the process of running the EpiFusion program with an existing EpiFusion XML parameter file (provided for you). We then go through how to use the EpiFusionUtilities R package to parse through the results, and plot them.
- Tutorial 2 - Setting up an XML with more advanced priors will show you how to take a tree and case incidence data, and create an EpiFusion XML parameter file from 'scratch' (we'll fill out a template). We'll also go through how to set out a slightly more complex parameterisation, where the data has a step-change in sampling rate.
- Tutorial 3 - Running EpiFusion on Real Data : lays out the code for using EpiFusion to model Rt of Ebola Virus in Sierra Leone, as shown in our latest preprint.
EpiFusion is a program for implementing a joint inference infrastructure for modelling epidemic trajectories using particle filtering.