import(methods)
importFrom(matrixStats, rowVars, colMedians, colMads, colQuantiles, rowDiffs, colCummaxs, rowMaxs, rowCounts)
import(BiocGenerics)
importClassesFrom(Biobase, AnnotatedDataFrame, AssayData, eSet, MIAxE,
                  Versions)
importMethodsFrom(Biobase, channel,
                  classVersion, experimentData, featureData,
                  featureNames, "featureNames<-", isCurrent, pData, "pData<-",
                  phenoData, protocolData, sampleNames, "sampleNames<-",
                  storageMode, exprs, fData,
                  varMetadata, "varMetadata<-", "featureData<-",
                  AnnotatedDataFrame)
import(Biostrings)
importMethodsFrom(GenomeInfoDb, seqlevels, "seqlevels<-", genome, "genome<-", seqlengths, "seqlengths<-")
importClassesFrom(GenomeInfoDb, Seqinfo)
import(GenomicRanges)
import(SummarizedExperiment)
import(S4Vectors)
import(IRanges)
importFrom(Biobase, assayDataElementNames, assayDataElementReplace,
           assayDataElement, "assayDataElement<-", validMsg, assayDataValidMembers)
## The following should not be necessary, but Hadley does not use S3export in reshape
importFrom(reshape, melt, melt.array, melt.data.frame, melt.list, melt.matrix, melt.table)
importFrom(mclust, Mclust)
importFrom(RColorBrewer, brewer.pal)
importFrom(beanplot, beanplot)
importFrom(nor1mix, norMix, pnorMix, qnorMix)
importFrom(siggenes, pi0.est, qvalue.cal)
importFrom(limma, squeezeVar, lmFit, eBayes, contrasts.fit, normexp.signal)
importFrom(preprocessCore, normalize.quantiles)
importFrom(illuminaio, readIDAT)
importFrom(genefilter, rowFtests, rowttests)
importFrom(utils, packageVersion, read.csv, read.table, data)
importFrom(bumphunter, bumphunter, bumphunterEngine, locfitByCluster,
           clusterMaker, boundedClusterMaker)
importMethodsFrom(bumphunter, bumphunter)
importFrom(lattice, panel.abline, panel.stripplot, xyplot)
importFrom(nlme, lme, getVarCov)
importFrom(MASS, huber)
importFrom(quadprog, solve.QP)
importFrom(GEOquery,getGEO)
importFrom(data.table, fread)
importFrom("grDevices", "dev.off")
importFrom("graphics", "abline", "axis", "legend", "lines", "par",
           "plot", "plot.new", "stripchart", "text")
importFrom("stats", "approx", "as.formula", "cmdscale", "contrasts",
           "dist", "fitted", "kmeans", "lm", "lm.fit", "model.matrix",
           "pchisq", "pf", "pnorm", "prcomp", "pt", "rnorm", "runif",
           "vcov")

export(getManifest, getProbeInfo, getManifestInfo,
       IlluminaMethylationManifest, IlluminaMethylationAnnotation,
       getControlAddress, 
       getRed, getGreen, getMeth, getUnmeth,
       getBeta, getM, getCN, getMethSignal,
       getOOB, getSnpBeta,
       dropMethylationLoci, getLocations, getAnnotation,
       getAnnotationObject,
       mapToGenome, subsetByLoci,
       getIslandStatus, getProbeType, getSnpInfo, addSnpInfo, dropLociWithSnps,
       normalize.illumina.control, bgcorrect.illumina,
       preprocessRaw, preprocessIllumina,
       preprocessSWAN, preprocessQuantile,
       preprocessFunnorm, preprocessNoob,
       RGChannelSet, RGChannelSetExtended,
       MethylSet, RatioSet,
       GenomicMethylSet, GenomicRatioSet,
       read.450k, read.450k.sheet, read.450k.exp,
       read.metharray, read.metharray.sheet, read.metharray.exp,
       getGenomicRatioSetFromGEO, makeGenomicRatioSetFromMatrix,
       readGEORawFile, readTCGA,
       logit2, ilogit2,
       dmpFinder, mdsPlot, plotCpg, plotBetasByType,
       detectionP, qcReport, controlStripPlot, densityBeanPlot, densityPlot,
       getQC, plotQC, addQC, minfiQC, fixMethOutliers,
       getSex, plotSex, addSex, bumphunter,
       blockFinder, cpgCollapse,
       estimateCellCounts, gaphunter,
       compartments, createCorMatrix, extractAB,
       convertArray, combineArrays)

exportClasses(RGChannelSet, RGChannelSetExtended,
              MethylSet, RatioSet,
              GenomicMethylSet, GenomicRatioSet,
              IlluminaMethylationManifest, IlluminaMethylationAnnotation)

exportMethods(show, initialize, getBeta, getM, getCN, getMeth, getUnmeth,
              getManifest, annotation, preprocessMethod, combine,
              sampleNames, featureNames, pData, mapToGenome, ratioConvert,
              bumphunter)

