---
title: "Installation"
output: html_document
vignette: >
  %\VignetteIndexEntry{Installation}
  %\VignetteEngine{knitr::knitr}
  %\VignetteEncoding{UTF-8}
---

## Installing via the plasmogenepi R-universe

The fastest and simplest way to install PlasmoSim is via the plasmogenepi R-universe as follows:

```{r, eval=FALSE}
install.packages('PlasmoSim', repos = c('https://plasmogenepi.r-universe.dev', 'https://cloud.r-project.org'))
```

However, this may not work for some chips, in which case backup instructions are presented below.

## Installing Rcpp

`PlasmoSim` relies on the [Rcpp](https://cran.r-project.org/web/packages/Rcpp/index.html) package, which requires the following OS-specific steps:

* Windows
    - Download and install the appropriate version of [Rtools](https://cran.rstudio.com/bin/windows/Rtools/) for your version of R. On installation, ensure you check the box to arrange your system PATH as recommended by Rtools
* Mac OS X
    - Download and install [XCode](http://itunes.apple.com/us/app/xcode/id497799835?mt=12)
    - Within XCode go to Preferences : Downloads and install the Command Line Tools
* Linux (Debian/Ubuntu)
    - Install the core software development utilities required for R package development as well as LaTeX by executing
    
        ```{}
        sudo apt-get install r-base-dev texlive-full
        ```

## Installing and loading `PlasmoSim`

Next, in R, ensure that you have the [devtools](https://www.rstudio.com/products/rpackages/devtools/) package installed by running

```{r, eval = FALSE}
install.packages("devtools", repos = 'http://cran.us.r-project.org')
```

Then install the `PlasmoSim` package directly from GitHub by running

```{r, eval = FALSE}
devtools::install_github("mrc-ide/PlasmoSim")
```

If you have any problems installing then please [raise an issue](https://github.com/mrc-ide/PlasmoSim/issues) on github.

Assuming everything installed correctly, we need to load the package:

```{r}
library(PlasmoSim)
```

You can test that the package is loaded and working by running the following command, which should produce this output:

```{r}
check_PlasmoSim_loaded()
```

