We fixed some parts related to the treatment of the missing in marker genotypes.
As the previous version, if the marker genotype has missing
values, errors will be occurred in RGWAS.normal,
RGWAS.multisnp, RGWAS.epistasis,
RGWAS.twostep, and RGWAS.twostep.epi
functions.
Then, we changed the R code in the RGWAS.normal,
RGWAS.multisnp, and RGWAS.epistasis functions
as follows.
Before
M.now <- Z.A[not.NA, ] %*% M
if (sum(is.na(M)) == 0) {
M.now <- Z.A[not.NA, ] %*% M
} else {
M.now <- M[apply(Z.A[not.NA, ], 1, function(x) which(x == 1)), ]
}
We added the citation file for RAINBOWR becuase our paper about
RAINBOWR had been published in PLOS Computational Biology
(https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007663).
We also changed the Description in the
DESCRIPTION file to update the reference
information.
We added the estPhylo function to estimate and plot
the phylogenetic tree for the block of interest. This function will also
estimate the genotypic values for the block of interest. We also added
ape and cluster packages in the
NAMESPACE and DESCRIPTION files because these
packages are used in the estPhylo function.
Found the following (possibly) invalid URLs:
URL: https://cran.r-project.org/web/packages/RAINBOWR/index.html
From: inst/doc/RAINBOWR.html
README.md
Status: 200
Message: OK
CRAN URL not in canonical form
The canonical URL of the CRAN page for a package is
https://CRAN.R-project.org/package=pkgname
Then, we fixed this by using the canonical URL of the CRAN package
“https://cran.r-project.org/package=RAINBOWR” in
inst/doc/RAINBOWR.html and README.md
files.
spectralG.cpp function was fixed
thanks to Dr. Ishimori.class(obj) == "try-error" was modified to
try-error %in% class(obj) in order to deal with the cases
where the obj has more than one class (to avoid warnings).We added the calcGRM function to calculate genomic
relationship matrix (GRM). The parts that calculate GRMs in other
functions and examples were replaced to use calcGRM
function. We also added stringr package in the
NAMESPACE and DESCRIPTION files because these
packages are used in the calcGRM function.
We fixed some parts related to estimate the siginificance of
dominance effects in score.calc.LR,
score.calc.LR.MC, score.calc.score,
score.calc.score.MC, score.epistasis.LR,
score.epistasis.score functions.
We added the estNetwork function to estimate and
plot haplotype network. We also added pegas package in the
NAMESPACE and DESCRIPTION files because this
package is used in the estNetwork function.
We fixed some parts related to the estimation of haplotype
effects in the estPhylo function. We also added the
optimization part both in the estPhylo &
estNetwork functions.
We modified the estPhylo and estNetwork
functions. Now, these functions can output the ggplot version of
phylogenetic trees or haplotype networks. We also added
ggtree, ggplot2, scatterpie,
phylobase, haplotypes, and
ggimage packages in the NAMESPACE and
DESCRIPTION files because these packages are used in the
estPhylo and estNetwork functions.
We also added the plotPhyloTree and
plotHaploNetwork functions to plot phylogenetic tree /
haplotype network from the estimated results.
EMM1.cpp function). We also
added the argument n.core for the functions that includes
the mixed-effects model by EMM1.cpp.estPhylo function.genesetmap function related
to the case where the markers in haplotype block list are not included
in the marker genotype.rgl package since the future
of the rgl package is unstable. Instead, we used
plot_ly function in plotly package to draw 3d
plots for results of epistasis GWAS. We added dependency on
plotly, here, and htmlwidgets
packages.We added a dependency on Rfast package to perform
the faster computation of distance matrix. We also added an option of
pamonce = 5 in cluster::pam function to save
the cost of performing k-medoids analysis.
We removed a dependency on pblapply package since
the package is actually not needed in the RAINBOWR package. We also
removed parallel package from Imports list in DESCRIPTION
file because parallel package is initially installed in R.
We also removed plotly package from Imports list, and moved
it to Suggests list in the DESCRIPTION file.
haplotypes package from Imports list, and
moved it to Suggests list in the DESCRIPTION file. This is because the
package phangorn, which is used in the
haplotypes package, is now scheduled for archival on
2021-04-19.ggtree package from Imports list, and moved
it to Suggests list in the DESCRIPTION file. By doing this, errors
caused by the installation of ggtree package are now
eliminated.We implemented new functions for testing the interaction between
each SNP and the genetic background. The functions to compute p-values
for those effects are score.calc.int and
score.calc.int.MC, and the function to perform SNP-based
GWAS including such interaction effects is
RGWAS.normal.interaction. We also added the to
NAMESPACE file.
We implemented a new function is.diag, which judges
a matrix is diagonal or not.
We implemented a new function parallel.compute,
which enables us to perform parallel computation easily with the three
different methods: mclapply, furrr, and
foreach. This function is utilized in
score.calc.MC, score.calc.LR.MC,
score.calc.score.MC,
score.calc.epistasis.LR.MC,
score.calc.epistasis.score.MC, and
score.calc.int.MC functions.
We implemented a new function EM3.general, which
enables us to solve mixed-effects model with the three different
packages: RAINBOWR, gaston, and
MM4LMM.
We also added the four functions above to the NAMESPACE file to be exported correctly.
We fixed some mistakes in EM3.cpp and
EM3.linker.cpp functions when computing Vinv.
We also added new arguments of return.u.always,
return.u.each, and return.Hinv, and a new
return of u.each as a u in the older version.
We also modified a return of u to the summation of
genotypic values.
We rewrote the codes in score.calc,
score.calc.MC, and GWAS_F_test (C++) functions
so that it can test multiple fixed effects simultaneously.
We fixed some parts in RGWAS.normal,
RGWAS.multisnp, and RGWAS.epstasis functions
when using covariate, covariate.factor, and
structure.matrix arguments.
We added a new argument skip.check in
RGWAS.normal, RGWAS.multisnp,
RGWAS.epstasis, RGWAS.twostep, and
RGWAS.twostep.epi functions. As default, RAINBOWR checks
the type of input data and modifies it into the correct format. However,
it will take some time, so if you prepare the correct format of input
data, you can skip this procedure by setting
skip.check = TRUE.
We introduced a new argument package.MM in
RGWAS.normal, RGWAS.multisnp,
RGWAS.epstasis, RGWAS.twostep,
RGWAS.twostep.epi, score.calc,
score.calc.MC, score.calc.LR,
score.calc.LR.MC, score.calc.epistasis.LR,
score.calc.epistasis.LR.MC, score.calc.int,
and score.calc.int.MC functions. By changing this argument,
you can choose which package is used to solve the mixed-effects model in
GWAS from the following three packages: RAINBOWR,
gaston, and MM4LMM.
We introduced a new argument parallel.method in
RGWAS.normal, RGWAS.multisnp,
RGWAS.epstasis, RGWAS.twostep,
RGWAS.twostep.epi, score.calc.MC,
score.calc.LR.MC, score.calc.score.MC,
score.calc.epistasis.LR.MC,
score.calc.epistasis.score.MC, and
score.calc.int.MC functions. In the older version, you can
just use the pbmcapply::pbmclapply function for parallel
computation, but now you can choose the parallel computation method from
the following three methods: mclapply, furrr,
and foreach.
We largely corrected the functions related to epstatic tests;
RGWAS.epistasis, RGWAS.twostep.epi,
score.calc.epistasis.LR,
score.calc.epistasis.score,
score.calc.epistasis.LR.MC, and
score.calc.epistasis.score.MC functions. This is because
how to compute the interaction term between two haplotype blocks was
wrong in the older version. We also added a new argument
skip.self.int to choose whether skipping the computation
for the epistatsis of self-interaction.
We added gaston and MM4LMM packages to
Imports list in the DESCRIPTION file because these packages are required
when you use these packages with package.MM argument. We
also added lmm.aireml, lmm.diago, and
MMEst functions to be imported in the NAMESPACE
file.
We added adegenet, furrr,
future, progressr, foreach, and
doParallel packages to Suggests list in the DESCRIPTION
file according to the implementation of new functions and arguments.We
also removed ggplot2, ggtree,
scatterpie, and phylobase packages from
Imports list, and moved it to Suggests list in the DESCRIPTION
file.
RGWAS.normal, RGWAS.normal.interaction,
RGWAS.multisnp, RGWAS.epstasis,
RGWAS.twostep, and RGWAS.twostep.epi functions
because there were some modifications with the function arguments.