#############
## EXPORTS
#############
export(adiag1, A.mat, AI, ai2help, and, at, atcg1234, hits, big.peaks.col, bathy.colors, brewer.pal, D.mat, design.score, eigenGWAS, E.mat, EM, EM2, EMMA, fdr, fdr2, g, hadamard.prod, hdm, imputev, is.diagonal.matrix, is.square.matrix, jet.colors, LD.decay, manhattan, matrix.trace, map.plot, maxi.qtl, mmer, mmerSNOW, MMERM, MEMMA, MAI, MAI2, MNR, mmer2, name.change, nna, NR, NR22, overlay, phase.F1, PEV, poe, score.calc, transp, TP.prep, us)

export(summary.mmer, summary.mmerM, summary.MMERM, residuals.mmer, residuals.mmerM, residuals.MMERM, fitted.mmer, fitted.mmerM, fitted.MMERM, plot.mmer, plot.mmerM, plot.MMERM, anova.mmer, anova.mmerM, anova.MMERM, coef.mmer, coef.mmerM, coef.MMERM, randef)

# fixef.mmer, fixef.mmerM, fixef.MMERM

# S3 METHODS
#S3method(ranef, mmer)
#S3method(print, ranef.mmer)
S3method(summary, mmer)
S3method(print, summary.mmer)
S3method(residuals, mmer)
S3method(print, residuals.mmer)
S3method(fitted, mmer)
S3method(print, fitted.mmer)
S3method(coef, mmer)
S3method(print, coef.mmer)
S3method(anova, mmer)
S3method(plot, mmer)

#S3method(fixef, mmer)
#S3method(print, fixef.mmer)

## for multiple
S3method(summary, mmerM)
S3method(print, summary.mmerM)
S3method(residuals, mmerM)
S3method(print, residuals.mmerM)
S3method(fitted, mmerM)
S3method(print, fitted.mmerM)
S3method(coef, mmerM)
S3method(print, coef.mmerM)
S3method(anova, mmerM)
S3method(plot, mmerM)

#S3method(fixef, mmerM)
#S3method(print, fixef.mmerM)

## for multivariate
S3method(summary, MMERM)
S3method(print, summary.MMERM)
S3method(residuals, MMERM)
S3method(print, residuals.MMERM)
S3method(fitted, MMERM)
S3method(print, fitted.MMERM)
S3method(coef, MMERM)
S3method(print, coef.MMERM)
S3method(anova, MMERM)
S3method(plot, MMERM)

#S3method(fixef, MMERM)
#S3method(print, fixef.MMERM)

############
# IMPORTS
############
  importFrom("graphics", "abline", "axis", "image", "layout", "legend",
             "lines", "plot", "points", "rect", "text", "locator",
             "par", "grid", "plot.new", "polygon","segments", "title")
  importFrom("utils", "combn", "setTxtProgressBar", "txtProgressBar",
             "available.packages", "contrib.url")
  #importFrom("matrixcalc", "matrix.trace","is.diagonal.matrix", "is.square.matrix")
  #importFrom("lme4","lmer","VarCorr")
  importFrom("parallel", "detectCores","mclapply") #"detectCores","makeCluster","stopCluster",
  #importFrom("doParallel","registerDoParallel")
  #importFrom("foreach", "%dopar%")
  
  
#  importFrom("beepr", "beep")
## FULL IMPORTS
  import("methods")
  import("Matrix")
  import("MASS")
  #import("foreach")
  #import("doParallel")


#  import("audio","play")
  
### extra suggested by CRAN
  importFrom("grDevices", "col2rgb", "colorRampPalette", "gray.colors",
             "rgb","dev.cur", "dev.size", "xy.coords")
  importFrom("stats", "as.formula", "cov", "density", "gaussian", "glm",
             "lm", "median", "optimize", "pbeta", "pchisq", "predict",
             "printCoefmat", "qqnorm", "smooth.spline", "var", "rnorm", 
             "model.matrix","na.omit", "p.adjust","kmeans","dist", "runif",
             "nobs", "ppoints", "sd", "model.frame", "model.response", "na.pass",
             "cor", "optim", "rchisq","quantile")


  
  

