---
title: "outbreaker2: package overview"
author: "Thibaut Jombart"
date: "`r Sys.Date()`"
output:
rmarkdown::html_vignette:
toc: true
toc_depth: 2
vignette: >
%\VignetteIndexEntry{outbreaker2: package overview}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
*oubtreaker2* provides a platform for reconstructing densely sampled outbreaks
using epidemiological and genetic data. See [introduction vignette](introduction.html) for a worked example.
# Installing the package
To install the current stable, CRAN version of the package, type:
```{r install, eval=FALSE}
install.packages("outbreaker2")
```
To benefit from the latest features and bug fixes, install the development, *github* version of the package using:
```{r install2, eval=FALSE}
devtools::install_github("reconhub/outbreaker2")
```
Note that this requires the package *devtools* installed.
# Main visible functions of the package
The main functions of the package include:
- **`outbreaker`**: the returned object is an instance of the (S3) class *outbreaker_chains*.
- **`plot`**: this method (see `?plot.outbreaker_chains` for details) plots *outbreaker_chains* objects.
- **`summary`**: this method (see `?summary.outbreaker_chains` for details) provides summaries for the various outputs of *outbreaker2*, stored in an *outbreaker_chains* object.
- **`outbreaker_data`**: function processing input data.
- **`create_config`**: function creating default settings, also used for specifying customised settings for *outbreaker2*.
- **`custom_priors`**: function used for specifying customised functions to be used as priors in *outbreaker2*.
- **`custom_likelihoods`**: function used for specifying customised functions to be used for likelihood computation in *outbreaker2*.
- **`custom_moves`**: function used for specifying customised functions to be used for moving parameters and augmented data in *outbreaker2*.
# Main internal functions
*outbreaker2* uses many functions internally which are not visible to the user when loading the package. However, some of these functions will be useful when designing custom likelihoods or movement functions, or when contributing code. The most useful ones are C++ functions bound to R using Rcpp. The list of these functions is:
```{r, list_functions}
env <- asNamespace("outbreaker2")
ls(envir = env, pattern = "^cpp")
```
See the vignette on [Rcpp API](Rcpp_API.html) for a detail of these functions.