useDynLib(sommer, .registration=TRUE)
importFrom(Rcpp, evalCpp)
#exportPattern("^[[:alpha:]]+")

export(   
       # fill.design, 
       transp,jet.colors,bathy.colors,
      #  hits, big.peaks.col,
      # maxi.qtl, nna, 
      LD.decay,
      manhattan, map.plot, 
       dfToMatrix
       )

## FUN_main
export(mmer, mmer2, GWAS, GWAS2)

## FUN_special
export(at,cs,ds,us,vs,
       unsm,uncm,fixm,fcm,
       list2usmat, transformConstraints,
       overlay, spl2D,
       bivariateRun)

## FUN_markers
export(atcg1234,build.HMM,h2.fun)

## FUN_stats
export(adiag1, imputev,
       leg, wald.test,
       vpredict)

## FUN_relationships
export(A.mat, D.mat, E.mat, H.mat, AR1, CS, ARMA, simGECorMat)

## FUN_algorithms
export(EM, MEMMA)

## FUN_utils
export(summary.mmer, residuals.mmer, fitted.mmer, plot.mmer, 
       predict.mmer,
       #variogram, variogram.mmer, plot.variogram.mmer,
       anova.mmer, coef.mmer, randef)

# S3 METHODS
S3method(summary, mmer)
S3method(print, summary.mmer)
#S3method(summary, mmergwas)
#S3method(print, summary.mmergwas)
S3method(print, wald.test)

S3method(residuals, mmer)
S3method(print, residuals.mmer)
S3method(fitted, mmer)
S3method(print, fitted.mmer)
S3method(head, fitted.mmer)
S3method(coef, mmer)
S3method(print, coef.mmer)
S3method(anova, mmer)
S3method(plot, mmer)
S3method(predict, mmer)
S3method(print, predict.mmer)
S3method(head, predict.mmer)
S3method(tail, predict.mmer)

#S3method(variogram, mmer)
#S3method(plot, variogram.mmer)
###########
## full imports
###########
  import("methods")
  import("Matrix")
  import("MASS")
  import("lattice")
  import("crayon")
 # import("data.table")
############
# IMPORTS
############
  importFrom("graphics", "abline", "axis", "layout", "legend",
             "lines", "plot", "points", "rect", "text", "locator",
             "par", "grid", "plot.new", "polygon","segments", "title")
  importFrom("utils", "combn", "setTxtProgressBar", "txtProgressBar",
             "available.packages", "contrib.url","str")
  importFrom("methods", "as")
#  importFrom("crayon", "blue")
  
### extra suggested by CRAN
  importFrom("grDevices", "col2rgb", "colorRampPalette", "gray.colors",
             "rgb","dev.cur", "dev.size", "xy.coords", "topo.colors")
  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","deriv","terms.formula",
             "aggregate","pf","terms")
  importFrom("lattice", "wireframe")
#  importFrom("data.table", "setkeyv","data.table")

