DNAmixtures

Statistical analysis of DNA mixtures with artefacts

by Therese Graversen

Installing DNAmixtures

1) Hugin API
To install DNAmixtures you need the Hugin API available on your system. If you do not have a license for Hugin, you can opt for the demo version of DNAmixtures, DNAmixturesLite.
2) R
Install the statistical software R. A popular integrated development environment (IDE) for R is RStudio.
3) Rtools (Required on Windows only)
Download and install Rtools. Accept all the defaults, in particular that Cygwin dlls are installed and that the PATH variable is changed.
4) R packages
Now install R packages from within R (or RStudio) as follows:
# Dependencies from Bioconductor
if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager")
BiocManager::install(c("graph", "Rgraphviz"))

# Dependencies from GitHub 
if (!require("devtools", quietly = TRUE)) install.packages("devtools")
devtools::install_github("huginexpert/rhugin")

# Dependencies from CRAN
install.packages(c("Rsolnp","Matrix", "numDeriv"))

# DNAmixtures is on R-forge
install.packages("DNAmixtures",
                 repos = "https://dnamixtures.r-forge.r-project.org/",
                 type = "source", INSTALL_opts = "--no-multiarch")

Getting started

The package help page contains the most essential information about the model as well as an example analysis.

library(DNAmixtures) ## load the package
help(DNAmixtures)    ## main help page 

More example analyses can be found under Tutorials.

Hugin: Efficient computations in Bayesian networks

When a hypothesis includes any unknown contributors, there is a need for summation over a large number of possible allocations of genotypes. Our implementation relies on the Hugin software for performing such computations.

Hugin is solely used for performing computations on the Bayesian networks created by DNAmixtures and, in principle, any other such engine for Bayesian networks could be used in place of Hugin. In DNAmixturesLite, we make use of this design feature and replace Hugin by the open-source engine gRaven.

The RHugin package: an API for working with Hugin in R

DNAmixtures calls Hugin through the API provided in the RHugin package, meaning that the user can easily manipulate the Bayesian networks directly from R.

Which Hugin license do I need?

DNAmixtures has been developed using a Hugin Researcher license and relies on the Hugin C API. The package should also be compatible with e.g. Hugin Developer, which provides the full Hugin C API with no limitations in network size, though this has not been tested.

DNAmixtures may, in principle, be installed with the free version of Hugin, HuginLite, though due to a limitation in the size of networks allowed by the free version, in practice this will restrict the functionality in DNAmixtures to mixtures with no unknown contributors. We recommend users witout a full Hugin license to install instead DNAmixturesLite.