In this package, we offer a tool for QTL mapping using the EM (Expectation-maximization) algorithm. It is capable of handling various populations from different breeding schemes, including backcross (BC), F2, recombinant inbred (RI) populations, advanced intercrossed (AI) populations. For each population, both complete genotyping data and selective genotyping data are considered. The functions support the use of linear regression, interval mapping (Lander and Botstein 1989), and multiple interval mapping (Kao and Zeng 1997; Kao, Zeng, and Teasdale 1999; Zeng, Kao, and Basten 1999) methods for the detection of QTL.
Additionally, we offer a tool for QTL hotspot detection in this package. We (Yang et al. 2019; Wu et al. 2021) have developed a statistical framework that can facilitate the QTL hotspot detection process using LOD scores. The permutation algorithm is deployed to randomly shift the tightly linked and/or pleiotropic QTL together along the genome, separately by trait group, in order to detect spurious hotspots in the analysis.
QTLEMM can be installed form GitHub by the following command:
# library(devtools)
install_github("py-chung/QTLEMM", dependencies = TRUE, force = TRUE)
And QTLEMM can be installed form CRAN by the following command:
install.packages("QTLEMM")
progeny()
Generate the simulated phenotype and genotype data.D.make()
Generate the genetic design matrix.Q.make()
Generate the conditional probability matrix.LRTthre()
LRT threshold for QTL interval mapping.IM.search()
QTL interval mapping to search the possible position of QTL in all chromosome.IM.search2()
QTL interval mapping to search the possible position of QTL in all chromosome with selective genotyping.EM.MIM()
EM algorithm for QTL multiple interval mapping.EM.MIM2()
EM algorithm for QTL multiple interval mapping with selective genotyping data.EM.MIMv()
EM algorithm for QTL multiple interval mapping and obtain the asymptotic variance-covariance matrix.MIM.search()
EM algorithm for QTL multiple interval mapping to find one more QTL by known QTLs.MIM.search2()
EM algorithm for QTL multiple interval mapping to find one more QTL by known QTLs with selective genotyping.MIM.points()
EM algorithm for QTL multiple interval mapping to find the best QTL position near the designated QTL position.MIM.points2()
EM algorithm for QTL multiple interval mapping to find the best QTL position near the designated QTL position with selective genotyping.LOD.QTLdetect()
Detect QTL by likelihood of odds (LOD) matrix.EQF.permu()
The EQF matrix cluster permutation process for QTL hotspot detection.EQF.plot()
Generate an EQF plot based on the result of the permutation process used to detect the QTL hotspot.
More information can be seen in the following file:
Package ‘QTLEMM’
An example dataset is provided for performing hotspot detection through a cluster permutation process. The LOD matrix of the yeast data (Brem and Kruglyak 2005) is divided into four parts. User can download the data from GitHub and combine it into a complete matrix for use with the following command:
load(url("https://github.com/py-chung/QTLEMM/raw/main/inst/extdata/yeast.LOD.1.RDATA"))
load(url("https://github.com/py-chung/QTLEMM/raw/main/inst/extdata/yeast.LOD.2.RDATA"))
load(url("https://github.com/py-chung/QTLEMM/raw/main/inst/extdata/yeast.LOD.3.RDATA"))
load(url("https://github.com/py-chung/QTLEMM/raw/main/inst/extdata/yeast.LOD.4.RDATA"))
yeast.LOD <- rbind(yeast.LOD.1,yeast.LOD.2,yeast.LOD.3,yeast.LOD.4)
And the imformation of bins of the LOD matrix can be downloaded from GitHub by the following command:
load(url("https://github.com/py-chung/QTLEMM/raw/main/inst/extdata/yeast.LOD.bin.RDATA"))
If you use QTLEMM in your research, we would appreciate your citation by the following doi.