Nothing
## ----setup, include = FALSE---------------------------------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.dim = c(7, 4)
)
library(statgenQTLxT)
op <- options(width = 110,
digits = 2)
## ----addPheno-----------------------------------------------------------------------------------------------
data(dropsPheno, package = "statgenGWAS")
## Convert phenotypic data to a list.
colnames(dropsPheno)[1] <- "genotype"
dropsPheno <- dropsPheno[c("Experiment", "genotype", "grain.yield", "grain.number",
"anthesis", "silking", "plant.height", "ear.height")]
## Split data by experiment.
dropsPhenoList <- split(x = dropsPheno, f = dropsPheno[["Experiment"]])
## Remove Experiment column.
## phenotypic data should consist only of genotype and traits.
dropsPhenoList <- lapply(X = dropsPhenoList, FUN = `[`, -1)
## ----createGdata--------------------------------------------------------------------------------------------
## Load marker data.
data("dropsMarkers", package = "statgenGWAS")
## Add genotypes as row names of dropsMarkers and drop Ind column.
rownames(dropsMarkers) <- dropsMarkers[["Ind"]]
dropsMarkers <- dropsMarkers[, -1]
## Load genetic map.
data("dropsMap", package = "statgenGWAS")
## Add genotypes as row names of dropsMap.
rownames(dropsMap) <- dropsMap[["SNP.names"]]
## Rename Chromosome and Position columns.
colnames(dropsMap)[2:3] <- c("chr", "pos")
## Create a gData object containing map, marker and phenotypic information.
gDataDrops <- statgenGWAS::createGData(geno = dropsMarkers,
map = dropsMap,
pheno = dropsPhenoList)
## ----sumGData-----------------------------------------------------------------------------------------------
## Summarize gDataDrops.
summary(gDataDrops, trials = "Mur13W")
## ----removeDupMarkers---------------------------------------------------------------------------------------
## Set seed.
set.seed(1234)
## Remove duplicate SNPs from gDataDrops.
gDataDropsDedup <- statgenGWAS::codeMarkers(gDataDrops,
impute = FALSE,
verbose = TRUE)
## ----mtg----------------------------------------------------------------------------------------------------
## Run multi-trait GWAS for 5 traits in trial Mur13W.
GWASDrops <- runMultiTraitGwas(gData = gDataDropsDedup,
traits = c("grain.yield","grain.number",
"anthesis", "silking" ,"plant.height"),
trials = "Mur13W",
covModel = "fa")
## ----gwaRes-------------------------------------------------------------------------------------------------
head(GWASDrops$GWAResult$Mur13W)
head(GWASDrops$GWAResult$Mur13W[GWASDrops$GWAResult$Mur13W$trait == "grain.yield", ])
## ----signSnp------------------------------------------------------------------------------------------------
GWASDrops$signSnp$Mur13W
## ----sumMtg-------------------------------------------------------------------------------------------------
## Create summary of GWASDrops for the trait grain number.
summary(GWASDrops, traits = "grain.number")
## ----qqMtg--------------------------------------------------------------------------------------------------
## Plot a qq plot of GWAS Drops.
plot(GWASDrops, plotType = "qq")
## ----manhattanMtg-------------------------------------------------------------------------------------------
## Plot a manhattan plot of GWAS Drops.
plot(GWASDrops, plotType = "manhattan")
## ----qtlMtgNorm---------------------------------------------------------------------------------------------
## Plot a qtl plot of GWAS Drops for Mur13W.
## Set significance threshold to 5 and normalize effect estimates.
plot(GWASDrops, plotType = "qtl", yThr = 5, normalize = TRUE)
## ----mtgChrSpec---------------------------------------------------------------------------------------------
## Run multi-trait GWAS for trial 'Mur13W'.
## Use chromosome specific kinship matrices computed using method of van Raden.
GWASDropsChrSpec <- runMultiTraitGwas(gData = gDataDropsDedup,
trials = "Mur13W",
GLSMethod = "multi",
kinshipMethod = "vanRaden",
covModel = "fa")
## ----addPhenoxE---------------------------------------------------------------------------------------------
## Reshape phenotypic data to data.frame in wide format containing only grain.yield.
phenoDat <- reshape(dropsPheno[, c("Experiment", "genotype", "grain.yield")],
timevar = "Experiment",
idvar = "genotype",
direction = "wide",
v.names = "grain.yield")
## Rename columns to trial name only.
colnames(phenoDat)[2:ncol(phenoDat)] <-
gsub(pattern = "grain.yield.", replacement = "",
x = colnames(phenoDat)[2:ncol(phenoDat)])
## ----createGdataxE------------------------------------------------------------------------------------------
## Create a gData object containing map, marker and phenotypic information.
gDataDropsxE <- statgenGWAS::createGData(geno = dropsMarkers,
map = dropsMap,
pheno = phenoDat)
summary(gDataDropsxE)
## ----removeDupMarkersxE-------------------------------------------------------------------------------------
## Remove duplicate SNPs from gDataDrops.
gDataDropsDedupxE <- statgenGWAS::codeMarkers(gDataDropsxE,
impute = FALSE,
verbose = TRUE)
## ----mtgxE--------------------------------------------------------------------------------------------------
## Run multi-trial GWAS for one trait in all trials.
GWASDropsxE <- runMultiTraitGwas(gData = gDataDropsDedupxE,
covModel = "fa")
## ----signSnpxE----------------------------------------------------------------------------------------------
head(GWASDropsxE$signSnp$pheno, row.names = FALSE)
## ----sumMtgxE-----------------------------------------------------------------------------------------------
summary(GWASDropsxE, traits = c("Mur13W", "Kar12W"))
## ----qqMtgxE------------------------------------------------------------------------------------------------
plot(GWASDropsxE, plotType = "qq")
## ----manhattanMtgxE-----------------------------------------------------------------------------------------
plot(GWASDropsxE, plotType = "manhattan")
## ----qtlMtgNormxE-------------------------------------------------------------------------------------------
## Set significance threshold to 6 and do not normalize effect estimates.
plot(GWASDropsxE, plotType = "qtl", yThr = 6, normalize = FALSE)
## ----mtgSNPFixThr, eval=FALSE-------------------------------------------------------------------------------
# ## Run multi-trait GWAS for Mur13W.
# ## Use a fixed significance threshold of 4.
# GWASDropsFixThr <- runMultiTraitGwas(gData = gDataDropsDedup,
# trials = "Mur13W",
# covModel = "fa",
# thrType = "fixed",
# LODThr = 4)
## ----mtgSNPNR, eval=FALSE-----------------------------------------------------------------------------------
# ## Run multi-trait GWAS for for Mur13W.
# ## Use a factor analytic model for computing the variance components.
# GWASDropsFA <- runMultiTraitGwas(gData = gDataDropsDedup,
# trials = "Mur13W",
# covModel = "fa")
#
# ## Rerun the analysis, using the variance components computed in the
# ## previous model as inputs.
# GWASDropsFA2 <- runMultiTraitGwas(gData = gDataDropsDedup,
# trials = "Mur13W",
# fitVarComp = FALSE,
# Vg = GWASDropsFA$GWASInfo$varComp$Vg,
# Ve = GWASDropsFA$GWASInfo$varComp$Ve)
## ----mtgPar, eval = FALSE-----------------------------------------------------------------------------------
# ## Register parallel back-end with 2 cores.
# doParallel::registerDoParallel(cores = 2)
#
# ## Run multi-trait GWAS for one trait in all trials.
# GWASDropsxEPar <- runMultiTraitGwas(gData = gDataDropsDedupxE,
# covModel = "pw",
# parallel = TRUE)
## ----mtgSNPCovar, eval=FALSE--------------------------------------------------------------------------------
# ## Run multi-trait GWAS for Mur13W.
# ## Use PZE-106021410, the most significant SNP, as SNP covariate.
# GWASDropsSnpCov <- runMultiTraitGwas(gData = gDataDropsDedup,
# trials = "Mur13W",
# snpCov = "PZE-106021410",
# covModel = "fa")
## ----mtgMAF, eval=FALSE-------------------------------------------------------------------------------------
# ## Run multi-trait GWAS for Mur13W.
# ## Only include SNPs that have a MAF of 0.05 or higher.
# GWASDropsMAF <- runMultiTraitGwas(gData = gDataDropsDedup,
# trials = "Mur13W",
# covModel = "fa",
# MAF = 0.05)
## ----mtgCommon----------------------------------------------------------------------------------------------
## Run multi-trait GWAS for Mur13W.
## Fit an additional common sNP effect model.
GWASDropsCommon <- runMultiTraitGwas(gData = gDataDropsDedup,
trials = "Mur13W",
covModel = "fa",
estCom = TRUE)
head(GWASDropsCommon$GWAResult$Mur13W)
## ----winddown, include = FALSE------------------------------------------------
options(op)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.