--- title: "Concatenation" author: "Gustavo A. Ballen and Sandra Reinales" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Concatenation} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- Tools are available for concatenating matrices, although few deal with concatenating different data types. The function `concatNexus` was designed for including both DNA and morphological matrices. If the morphological matrix is in some form of table (probably a spreadsheet), we can use the function `table2nexus` to read a table file from the disk and write back the nexus-formatted. In this example, we use these functions to concatenate the DNA alignments and morphological data for the South American Sabre-Tooth Characins of the family Cynodontidae. Data are in the `examples` directory of the package repository. Let's set up the environment for concatenating data: ```{r eval=FALSE} # load the package library(tbea) # navigate to the examples/concatenation directory in the package repository setwd("examples/concatenation") ``` ```{r eval=FALSE} table2nexus(path="data/morpho.csv", datatype="standard", header=FALSE, sep=",", con="data/morpho.trimmed.nex") ``` The morphological matrix is now in nexus format, so we can concatenate DNA (also in nexus format) and morphology partitions as follows: ```{r eval=FALSE} nexmatrices <- list.files(path="data", pattern=".nex", full.names=TRUE) concatNexus(matrices=nexmatrices, filename="concatenatedMolmorph.nexus", morpho=TRUE, morphoFilename="data/morpho.trimmed.nex", sumFilename="partitions.txt") # also, we can provide a pattern and a path path <- "data" pattern <- "trimmed.nex$" concatNexus(pattern=pattern, filename="concatenatedMolmorph.nexus", path=path, morpho=TRUE, morphoFilename=paste(path, grep(pattern="morpho.", x=dir(path, pattern), value=TRUE), sep="/"), sumFilename="partitions.txt") ``` This will generate two files, one with the concatenated nexus alignment (`concatenatedMolMorph.nexus`) and one with information on the start and end position for each partition (`partitions.txt`).