Learn R Programming

ape (version 5.8)

write.nexus.data: Write Character Data in NEXUS Format

Description

This function writes in a file a list of data in the NEXUS format. The names of the vectors of the list are used as taxon names.

For the moment, only sequence data (DNA or protein) are supported.

Usage

write.nexus.data(x, file, format = "dna", datablock = TRUE,
                 interleaved = TRUE, charsperline = NULL,
                 gap = NULL, missing = NULL)

Value

None (invisible ‘NULL’).

Arguments

x

a matrix or a list of data each made of a single vector of mode character where each element is a character state (e.g., “A”, “C”, ...) Objects of class of “DNAbin” are accepted.

file

a file name specified by either a variable of mode character, or a double-quoted string.

format

a character string specifying the format of the sequences. Four choices are possible: "dna" (the default) "protein", "standard" or "continuous" or any unambiguous abbreviation of these (case insensitive).

datablock

a logical, if TRUE the data are written in a single DATA block. If FALSE, the data are written in TAXA and CHARACTER blocks. Default is TRUE.

interleaved

a logical, if TRUE the data is written in interleaved format with number of characters per line as specified with charsperline = numerical_value. If FALSE, the data are written in sequential format. Default is TRUE.

charsperline

a numeric value specifying the number of characters per line when used with interleaved = TRUE. Default is 80.

gap

a character specifying the symbol for gap. Default is “-”.

missing

a character specifying the symbol for missing data. Default is “?”.

Author

Johan Nylander nylander@scs.fsu.edu and Thomas Guillerme

Details

If the sequences have no names, then they are given “1”, “2”, ..., as names in the file.

Sequences must be all of the same length.

References

Maddison, D. R., Swofford, D. L. and Maddison, W. P. (1997) NEXUS: an extensible file format for systematic information. Systematic Biology, 46, 590--621.

See Also

read.nexus,write.nexus, read.nexus.data

Examples

Run this code
if (FALSE) {
## Write interleaved DNA data with 100 characters per line in a DATA block
data(woodmouse)
write.nexus.data(woodmouse, file= "wood.ex.nex", interleaved = TRUE, charsperline = 100)
## Write sequential DNA data in TAXA and CHARACTERS blocks
data(cynipids)
write.nexus.data(cynipids, file = "cyn.ex.nex", format = "protein",
                 datablock = FALSE, interleaved = FALSE)
unlink(c("wood.ex.nex", "cyn.ex.nex"))
}

Run the code above in your browser using DataLab