
import(MASS, lattice, igraph, ggplot2,corpcor,parallel, RColorBrewer)

importFrom("grDevices", "as.graphicsAnnot", "chull", "col2rgb",
             "colorRamp", "colorRampPalette", "colors", "dev.cur",
             "dev.new", "dev.off", "dev.prev", "dev.set",
             "devAskNewPage", "graphics.off", "gray", "gray.colors",
             "heat.colors", "rgb","jpeg", "pdf", "tiff", "x11", "adjustcolor")

importFrom("graphics", "abline", "arrows", "axis", "barplot", "box",
             "image", "layout", "legend", "lines", "locator", "mtext",
             "par", "plot", "plot.default", "points", "polygon", "rect",
             "segments", "strheight", "strwidth", "symbols", "text",
             "title","Axis","boxplot","rasterImage","matplot")

importFrom("stats", "as.dendrogram", "as.dist", "coefficients", "cor",
             "cov", "dist", "hclust", "lm", "lsfit", "median", "na.omit",
             "order.dendrogram", "predict", "quantile", "reorder", "var","sd",
		"pnorm", "aggregate", "t.test")

importFrom("utils", "setTxtProgressBar", "txtProgressBar","packageDescription","relist","download.file")

importFrom("ellipse","ellipse")

importFrom("grDevices","rainbow")

importFrom("methods", "hasArg", "is")

importFrom("dplyr","group_by", "mutate", "summarise", "arrange","row_number","filter","n")

importFrom("tidyr","gather")

importFrom("matrixStats","colSds","colVars")

importFrom("reshape2","melt","dcast")

importFrom("rARPACK","svds")

importFrom("gridExtra", "grid.arrange")

export(
auroc,
background.predict,
block.pls,
block.plsda,
block.spls,
block.splsda, 
cim, 
cimDiablo,
circosPlot,
color.jet,
color.GreenRed,
color.spectral,
color.mixo,
explained_variance,
get.BER,
get.confusion_matrix,
image.tune.rcc, 
imgCor,
ipca,
logratio.transfo,
map,
mat.rank, 
mint.block.pls,
mint.block.plsda,
mint.block.spls,
mint.block.splsda,
mint.pca,
mint.pls,
mint.plsda,
mint.spls,
mint.splsda,
mixOmics,
nearZeroVar,
network,
nipals, 
pca,
perf,
plotArrow,
plotDiablo,
plotIndiv,
plotLoadings, 
plotVar, 
pls,
plsda, 
rcc,
selectVar,
sipca,
spca,
spls,
splsda,
study_split,
tune,
tune.mint.splsda,
tune.spls,
tune.splsda,
tune.block.splsda,
tune.splslevel,
tune.pca,
tune.rcc,
unmap,
vip,
withinVariation,
wrapper.rgcca,
wrapper.sgcca,
wrapper.sgccda)

S3method(auroc, mixo_plsda)
S3method(auroc, mixo_splsda)
S3method(auroc, sgccda)
S3method(auroc, mint.plsda)
S3method(auroc, mint.splsda)

S3method(perf, mixo_pls)
S3method(perf, mixo_spls)
S3method(perf, mixo_plsda)
S3method(perf, mixo_splsda)
S3method(perf, sgccda)
S3method(perf, mint.pls)
S3method(perf, mint.spls)
S3method(perf, mint.plsda)
S3method(perf, mint.splsda)

S3method(image, tune.rcc)

S3method(plot, perf.pls.mthd)
S3method(plot, perf.spls.mthd)
S3method(plot, perf.plsda.mthd)
S3method(plot, perf.splsda.mthd)
S3method(plot, perf.mint.plsda.mthd)
S3method(plot, perf.mint.splsda.mthd)
S3method(plot, perf.sgccda.mthd)
S3method(plot, rcc)
S3method(plot, pca)
S3method(plot, sgccda)
S3method(plot, tune.rcc)
S3method(plot, tune.spls)
S3method(plot, tune.splsda)
S3method(plot, tune.block.splsda)


S3method(plotIndiv, mixo_pls)
S3method(plotIndiv, mixo_spls)
S3method(plotIndiv, rcc)
S3method(plotIndiv, pca)
S3method(plotIndiv, sgcca)
S3method(plotIndiv, rgcca)
S3method(plotIndiv, mint.pls)
S3method(plotIndiv, mint.spls)
S3method(plotIndiv, mint.plsda)
S3method(plotIndiv, mint.splsda)

S3method(plotLoadings, mixo_pls)
S3method(plotLoadings, mixo_spls)
S3method(plotLoadings, mixo_plsda)
S3method(plotLoadings, mixo_splsda)
S3method(plotLoadings, rcc)
S3method(plotLoadings, pca)
S3method(plotLoadings, sgcca)
S3method(plotLoadings, rgcca)
S3method(plotLoadings, sgccda)
S3method(plotLoadings, mint.pls)
S3method(plotLoadings, mint.spls)
S3method(plotLoadings, mint.plsda)
S3method(plotLoadings, mint.splsda)


S3method(predict, mixo_pls)
S3method(predict, mixo_spls)
S3method(predict, block.pls)
S3method(predict, block.spls)

S3method(summary, mixo_pls)
S3method(summary, mixo_spls)
S3method(summary, rcc)
S3method(summary, pca)

S3method(print, mixo_pls)
S3method(print, mixo_spls)
S3method(print, mixo_plsda)
S3method(print, mixo_splsda)
S3method(print, mint.pls)
S3method(print, mint.spls)
S3method(print, mint.plsda)
S3method(print, mint.splsda)

S3method(print, tune.splsda)
S3method(print, tune.mint.splsda)
S3method(print, tune.block.splsda)
S3method(print, tune.rcc)
S3method(print, tune.pca)

S3method(print, perf.pls.mthd)
S3method(print, perf.spls.mthd)
S3method(print, perf.plsda.mthd)
S3method(print, perf.splsda.mthd)
S3method(print, perf.sgccda.mthd)
S3method(print, perf.mint.splsda.mthd)

S3method(print, predict)

S3method(print, rcc)
S3method(print, summary)
S3method(print, pca)
S3method(print, spca)
S3method(print, ipca)
S3method(print, sipca)
S3method(print, sgcca)
S3method(print, sgccda)
S3method(print, rgcca)


S3method(selectVar, mixo_spls)
S3method(selectVar, mixo_pls)
S3method(selectVar, pca)
S3method(selectVar, rgcca)
S3method(selectVar, sgcca)

