Learn R Programming

introgress (version 1.2.3)

est.h: Estimate Hybrid Index

Description

This function finds maximum likelihood estimates of hybrid index as described by Buerkle (2005).

Usage

est.h(introgress.data=NULL, loci.data=NULL, ind.touse=NULL, fixed=FALSE, p1.allele=NULL, p2.allele=NULL)

Arguments

introgress.data
a list produced by prepare.data or a matrix with allele counts.
loci.data
a matrix or array providing marker information.
ind.touse
vector of individual identifications, numeric indexes, or logicals that specify a subset of individuals for analysis, if NULL all individuals are included.
fixed
a logical specifying whether different alleles are fixed for each parental population for all markers.
p1.allele
if fixed=TRUE provides the character used to specify parental population 1 alleles.
p2.allele
if fixed=TRUE provides the character used to specify parental population 2 alleles.

Value

A data frame with point estimates of hybrid index and upper and lower limits of 95% confidence intervals (interval of hybrid index that falls within two support units of the ML estimate):
lower
Lower limit of 95% confidence interval.
h
Maximum-likelihood estimate of hybrid index.
upper
Upper limit of 95% confidence interval.

Details

introgress.data may either be the list that is returned by the function prepare.data, or, if fixed=TRUE, introgress.data may simply be a matrix or array providing counts of the number of alleles derived from parental population 1 for each admixed individual. If introgress.data is a matrix or array, rows and columns correspond to loci and individuals, respectively.

loci.data is a matrix or array where each row provides information on one locus. The first column gives a unique locus name (e.g. "locus3"), and the second column specifies whether the locus is co-dominant ("C" or "c"), haploid ("H" or "h"), or dominant ("D" or "d"). These first two columns in loci.data are required. The third column, which is optional, is a numeric value specifying the linkage groups for the marker. The fourth column, which is also optional, is a numeric value specifying both the linkage group and location on the linkage group (e.g. 3.70, for a marker at 70 cM on linkage group 3). These optional columns can be used for ordering markers for the mk.image, genomic.clines, and clines.plot functions.

If the parental populations exhibit fixed allelic differences for all markers scored (i.e. fixed=TRUE) then p1.allele and p2.allele should give the character used to specify alleles derived from parental populations one and two, respectively (e.g. p1.allele="p1" and p2.allele="p2").

est.h uses a maximum likelihood method to estimate the hybrid index for each admixed individual. This estimate is simply the proportion of alleles derived from population 2 if fixed=TRUE. In contrast, if populations share alleles (i.e. fixed=FALSE), the estimate accounts for uncertainty in the ancestry of alleles, but the estimate of hybrid index is still an estimate of the proportion of the genome that is inherited from population 2. For each individual, est.h returns a point estimate and 95% confidence interval of hybrid index.

See Buerkle (2005) for additional details.

References

Buerkle C. A. (2005) Maximum-likelihood estimation of a hybrid index based on molecular markers. Molecular Ecology Notes, 5, 684-687.

Gompert Z. and Buerkle C. A. (2009) A powerful regression-based method for admixture mapping of isolation across the genome of hybrids. Molecular Ecology, 18, 1207-1224.

Gompert Z. and Buerkle C. A. (2009) introgress: a software package for mapping components of isolation in hybrids. Molecular Ecology Resources, in preparation.

See Also

prepare.data

Examples

Run this code
## Not run: 
# ## load simulated data
# ## markers have fixed differences, with
# ## alleles coded as 'P1' and 'P2'
# data(AdmixDataSim1)
# data(LociDataSim1)
# 
# ## use prepare.data to produce introgress.data
# introgress.data<-prepare.data(admix.gen=AdmixDataSim1,
#                               loci.data=LociDataSim1,
#                               parental1="P1", parental2="P2",
#                               pop.id=FALSE, ind.id=FALSE,
#                               fixed=TRUE)
# 
# ## estimate hybrid index
# hi.index<-est.h(introgress.data=introgress.data,
#                 loci.data=LociDataSim1, ind.touse=NULL, fixed=TRUE,
#                 p1.allele="P1", p2.allele="P2")
# 
# write.table(hi.index, file="hindex.txt", quote=FALSE, sep=",")
# ## End(Not run)

Run the code above in your browser using DataLab