A generic function to calculate some F-statistics and nucleotide/haplotype diversities.
# S4 method for GENOME
F_ST.stats(
object,
new.populations=FALSE,
subsites=FALSE,
detail=TRUE,
mode="ALL",
only.haplotype.counts=FALSE,
FAST=FALSE
)# S4 method for GENOME
get.diversity(object,between=FALSE)
# S4 method for GENOME
get.F_ST(object,mode=FALSE,pairwise=FALSE)
An object of class "GENOME"
list of populations. default:FALSE
"transitions"
: SNPs that are transitions.
"transversions"
: SNPs that are transversions.
"syn"
: synonymous sites.
"nonsyn"
: nonsynonymous sites.
"exon"
: SNPs in exon regions.
"intron"
: SNPs in intron regions.
"coding"
: SNPs in coding regions (CDS).
"utr"
: SNPs in UTR regions.
"gene"
: SNPs in genes.
"intergenic"
: SNPs in intergenic regions.
detail statistics. Note: slower!
TRUE
: show between-diversities. FALSE
: show within-diversities
mode="haplotype"
or mode="nucleotide"
only calculate the haplotype counts
if TRUE
only calculate a subset of statistics. see details!
show paiwise comparisons. default:FALSE
Slot | Reference | Description | |
1. | haplotype.F_ST |
[1] | Fixation Index based on haplotype frequencies |
2. | nucleotide.F_ST |
[1] | Fixation Index based on minor.allele frequencies |
3. | Nei.G_ST |
[2] | Nei's Fixation Index |
4. | Hudson.G_ST |
[3] | see reference ... |
5. | Hudson.H_ST |
[3] | see reference ... |
6. | Hudson.K_ST |
[3] | see reference ... |
7. | nuc.diversity.within |
[1,5] | Nucleotide diversity (within the population) |
8. | hap.diversity.within |
[1] | Haplotype diversity (within the population) |
9. | Pi |
[4] | Nei's diversity (within the population) |
10. | hap.F_ST.vs.all |
[1] | Fixation Index for each population against all other individuals (haplotype) |
11. | nuc.F_ST.vs.all |
[1] | Fixation Index for each population against tall other individuals (nucleotide) |
12. | hap.diversity.between |
[1] | Haplotype diversities between populations |
13. | nuc.diversity.between |
[1,5] | Nucleotide diversities between populations |
14. | nuc.F_ST.pairwise |
[1] | Fixation Index for every pair of populations (nucleotide) |
15. | hap.F_ST.pairwise |
[1] | Fixation Index for every pair of populations (haplotype) |
16. | Nei.G_ST.pairwise |
[2] | Fixation Index for every pair of populations (Nei) |
17. | region.stats |
an object of class "region.stats" for detailed statistics |
If FAST
is switched on, this module only calculates nuc.diversity.within
, hap.diversity.within
, haplotype.F_ST
, nucleotide.F_ST
and pi
.
Note:
1) The nucleotide diversities have to be devided by the size of region considered (e.g. GENOME@n.sites
) to give diversities per site.
2) When missing or unknown nucleotides are included (include.unknown=TRUE) those sites are completely deleted in case of haplotype based statistics.
3) The function detail.stats(...,site.FST=TRUE)
will compute SNP specific FST values which are then
stored in the slot GENOME.class@region.stats@site.FST
.
4) We recommend to use mode="nucleotide"
in case you have many unknowns included in your dataset.
[1] Hudson, R. R., M. Slatkin, and W.P. Maddison (1992). Estimating levels of gene flow from DNA sequence data. Gentics 13(2),583-589 [2] Nei, M. (1973). Analysis of gene diversity in subdivided populations. Proc.Natl. Acad. Sci. USA 70: 3321-3323 [3] Hudson, R. R., Boos, D.D. and N. L. Kaplan (1992). A statistical test for detecting population subdivison. Mol. Biol. Evol. 9: 138-151. [4] Nei, M. (1987). Molecular Evolutionary Genetics. Columbia Univ. Press, New York. [5] Wakeley, J. (1996).The Variance of Pairwise Nucleotide Differences in Two Populations with Migration. THEORETICAL POPULATION BIOLOGY. 49, 39-57.
# methods?F_ST.stats.2 #F_ST.stats.2
# NOT RUN {
# GENOME.class <- readData("\home\Alignments")
# GENOME.class
# GENOME.class <- F_ST.stats(GENOME.class)
# GENOME.class <- F_ST.stats(GENOME.class,list(1:4,5:10),subsites="syn")
# GENOME.class <- F_ST.stats(GENOME.class,list(c("seq1","seq5","seq3"),c("seq2","seq8")))
# show the result:
# get.F_ST(GENOME.class)
# get.F_ST(GENOME.class, pairwise=TRUE)
# get.diversity(GENOME.class, between=TRUE)
# GENOME.class@Pi --> population specific view
# GENOME.class@region.stats
# }
Run the code above in your browser using DataLab