This is a generic function with methods for character vectors, trees
"phylo", lists of trees of class
and DNA sequences of class
"DNAbin". All options for the class
character may be used in the other methods.
makeLabel(x, ...) ## S3 method for class 'character': makeLabel(x, len = 99, space = "_", make.unique = TRUE, illegal = "():;,", quote = FALSE, ...) ## S3 method for class 'phylo': makeLabel(x, tips = TRUE, nodes = TRUE, ...) ## S3 method for class 'multiPhylo': makeLabel(x, tips = TRUE, nodes = TRUE, ...) ## S3 method for class 'DNAbin': makeLabel(x, ...)
make.unique does not work exactly in the same way
then the function of the same name: numbers are suffixed to all labels
that are identical (without separator). See the examples.
If there are 10--99 identical labels, the labels returned are "xxx01", "xxx02", etc, or "xxx001", "xxx002", etc, if they are 100--999, and so on. The number of digits added preserves the option `len'.
The default for `len' makes labels short enough to be read by PhyML. Clustal accepts labels up to 30 character long.
An object of the appropriate class.
The current version does not perform well when trying to make very short unique labels (e.g., less than 5 character long).
x <- rep("a", 3) makeLabel(x) make.unique(x) # <- from R's base x <- rep("aaaaa", 2) makeLabel(x, len = 3) # made unique and of length 3 makeLabel(x, len = 3, make.unique = FALSE)