An open API service indexing awesome lists of open source software.

https://github.com/dombennett/om..partitionfinder

outsider-module: partitionfinder
https://github.com/dombennett/om..partitionfinder

Last synced: 8 months ago
JSON representation

outsider-module: partitionfinder

Awesome Lists containing this project

README

          

---
output: github_document
---

```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```

# Run [`partitionfinder`](http://www.robertlanfear.com/partitionfinder/) with `outsider` in R

[![Build Status](https://travis-ci.org/dombennett/om..partitionfinder.svg?branch=master)](https://travis-ci.org/dombennett/om..partitionfinder)

> Select best-fit partitioning schemes and models of molecular evolution for
phylogenetic analyses.

## Install and look up help

```{r install-snippet, eval=TRUE, include=TRUE}
library(outsider)
module_install(repo = "dombennett/om..partitionfinder")
# module_help(repo = "dombennett/om..partitionfinder")
```

## Examples

The module comes with three functions for each program comprising the
"PartitionFinder2" software.

* `PartitionFinder` - For nucleotide data
* `PartitionFinderMorphology` - For morphological data
* `PartitionFinderProtein` - For protein data

The module ships with example datasets. These data can be accessed by using the
`example_fetch` function.

At a minimum all that is required is to provide a input folder containing the
configuration file and the data. In the arguments, there is no need to
call python, this is done by the module. For example, on the command-line if you
wrote `python PartitionFinder.py example` where "example" is the name of the
input folder, in R this would be `partitionfinder("example")`.

If required, additional arguments can be provided as a character vector. E.g.

```
python PartitionFinder.py --raxml example/
```

In R becomes ...

```r
partitionfinder(c('--raxml', 'example/'))
```

Each argument must be a separate charcter in the argument list vector.

### DNA

```{r n-example, eval=TRUE, include=TRUE}
library(outsider)
PartitionFinder <- module_import('PartitionFinder',
repo = 'dombennett/om..partitionfinder')
# show help
PartitionFinder('-h')

# data
example_fetch <- module_import('example_fetch',
repo = 'dombennett/om..partitionfinder')
example_fetch(type = 'nucleotide')

# run on the "nucleotide" example folder
PartitionFinder(arglist = 'nucleotide')
```

### Morphology

```{r m-example, eval=TRUE, include=TRUE}
library(outsider)
PartitionFinderMorphology <- module_import('PartitionFinderMorphology',
repo = 'dombennett/om..partitionfinder')
example_fetch <- module_import('example_fetch',
repo = 'dombennett/om..partitionfinder')
# bring PartitionFinder examples to working directory
example_fetch(type = 'morphology')
# run on the "morphology" example folder
PartitionFinderMorphology(arglist = c('--raxml', 'morphology'))
```

### Protein

```{r p-example, eval=TRUE, include=TRUE}
library(outsider)
PartitionFinderProtein <- module_import('PartitionFinderProtein',
repo = 'dombennett/om..partitionfinder')
example_fetch <- module_import('example_fetch',
repo = 'dombennett/om..partitionfinder')
# bring PartitionFinder examples to working directory
example_fetch(type = 'aminoacid')
# run on the "aminoacid" example folder
PartitionFinderProtein(arglist = 'aminoacid')
```

```{r uninstall-snippet, eval=TRUE, include=FALSE}
for (fldr in c('nucleotide', 'morphology', 'aminoacid')) {
if (fldr %in% ls() && dir.exists(wd)) {
unlink(x = fldr, recursive = TRUE, force = TRUE)
}
}
module_uninstall(repo = "dombennett/om..partitionfinder")
```

## Links

Find out more by visiting the
[PartitionFinder's homepage](www.robertlanfear.com/partitionfinder/).

## Please cite

* Lanfear, R., Frandsen, P. B., Wright, A. M., Senfeld, T., Calcott, B. 2016
PartitionFinder 2: new methods for selecting partitioned models of evolution
for molecular and morphological phylogenetic analyses. Molecular biology and
evolution. DOI: dx.doi.org/10.1093/molbev/msw260
* Bennett et al. (2020). outsider: Install and run programs, outside of R,
inside of R. *Journal of Open Source Software*, In review

---

**An `outsider` module**

Learn more at [outsider website](https://docs.ropensci.org/outsider/).
Want to build your own module? Check out [`outsider.devtools` website](https://docs.ropensci.org/outsider.devtools/).