ape (version 2.1-1)

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

Description

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

Usage

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

Arguments

x
a list of sequences each made of a single vector of mode character where each element is a character state (e.g. A, C, ...).
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. Two choices are possible: dna, or protein, or any unambiguous abbreviation of these. Default is dna.
datablock
a logical, if TRUE the data are written in a single DATA block. If FALSE data is 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, data is written in sequential format. Default is
charsperline
a numeric 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 ?.

Value

  • None (invisible NULL).

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 (i.e., aligned).

Default symbols for missing data and gaps can be changed by using the missing and gap commands.

Please see files data.nex and taxacharacters.nex for examples of output formats.

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
\dontshow{library(ape)}
## Write interleaved DNA data with 100 characters per line in a DATA block
data("woodmouse")
write.nexus.data(woodmouse, file= "woodmouse.example.nex", interleaved = TRUE, charsperline = 100)
## Write sequential DNA data in TAXA and CHARACTERS blocks
data("cynipids")
write.nexus.data(cynipids, file= "cynipids.example.nex", format = "protein", datablock = FALSE, interleaved = FALSE)
\dontshow{unlink(c("woodmouse.example.nex", "cynipids.example.nex"))}

Run the code above in your browser using DataCamp Workspace