| haplotype {pegas} | R Documentation |
haplotype extracts the haplotypes from a set of DNA
sequences. The result can be plotted with the appropriate function.
haplotype(x, ...)
## S3 method for class 'DNAbin'
haplotype(x, labels = NULL, strict = FALSE,
trailingGapsAsN = TRUE, ...)
## S3 method for class 'character'
haplotype(x, labels = NULL, ...)
## S3 method for class 'numeric'
haplotype(x, labels = NULL, ...)
## S3 method for class 'haplotype'
plot(x, xlab = "Haplotype", ylab = "Number", ...)
## S3 method for class 'haplotype'
print(x, ...)
## S3 method for class 'haplotype'
summary(object, ...)
## S3 method for class 'haplotype'
sort(x,
decreasing = ifelse(what == "frequencies", TRUE, FALSE),
what = "frequencies", ...)
## S3 method for class 'haplotype'
x[...]
x |
a set of DNA sequences (as an object of class
|
object |
an object of class |
labels |
a vector of character strings used as names for the rows of the returned object. By default, Roman numerals are given. |
strict |
a logical value; if |
trailingGapsAsN |
a logical value; if |
xlab, ylab |
labels for the x- and x-axes. |
... |
further arguments passed to
|
decreasing |
a logical value specifying in which order to sort
the haplotypes; by default this depends on the value of
|
what |
a character specifying on what feature the haplotypes
should be sorted: this must be |
The way ambiguities in the sequences are taken into account is explained in a post to r-sig-phylo (see the examples below):
https://www.mail-archive.com/r-sig-phylo@r-project.org/msg05541.html
The sort method sorts the haplotypes in decreasing frequencies
(the default) or in alphabetical order of their labels (if what =
"labels"). Note that if these labels are Roman numerals (as assigned by
haplotype), their alphabetical order may not be their numerical
one (e.g., IX is alphabetically before VIII).
From pegas 0.7, haplotype extracts haplotypes taking into
account base ambiguities.
haplotype returns an object of class c("haplotype",
"DNAbin") which is an object of class "DNAbin" with two
additional attributes: "index" identifying the index of each
observation that share the same haplotype, and "from" giving
the name of the original data.
sort returns an object of the same class respecting its
attributes.
Emmanuel Paradis
haploNet, haploFreq,
subset.haplotype,
DNAbin for manipulation of DNA sequences in R.
The haplotype method for objects of class "loci" is
documented separately: haplotype.loci.
## generate some artificial data from 'woodmouse':
data(woodmouse)
x <- woodmouse[sample(15, size = 110, replace = TRUE), ]
(h <- haplotype(x))
## the indices of the individuals belonging to the 1st haplotype:
attr(h, "index")[[1]]
plot(sort(h))
## get the frequencies in a named vector:
setNames(lengths(attr(h, "index")), labels(h))
## data posted by Hirra Farooq on r-sig-phylo (see link above):
cat(">[A]\nCCCGATTTTATATCAACATTTATTT------",
">[D]\nCCCGATTTT----------------------",
">[B]\nCCCGATTTTATATCAACATTTATTT------",
">[C]\nCCCGATTTTATATCACCATTTATTTTGATTT",
file = "x.fas", sep = "\n")
x <- read.dna("x.fas", "f")
unlink("x.fas")
## show the sequences and the distances:
alview(x)
dist.dna(x, "N", p = TRUE)
## by default there are 3 haplotypes with a warning about ambiguity:
haplotype(x)
## the same 3 haplotypes without warning:
haplotype(x, strict = TRUE)
## if we remove the last sequence there is, by default, a single haplotype with a warning:
haplotype(x[-4, ])
## to get two haplotypes separately as with the complete data:
haplotype(x[-4, ], strict = TRUE)
## a simpler example:
y <- as.DNAbin(matrix(c("A", "A", "A", "A", "R", "-"), 3))
haplotype(y) # 1 haplotype
haplotype(y, strict = TRUE) # 3 haplotypes
haplotype(y, trailingGapsAsN = FALSE) # 2 haplotypes